台灣最大裝潢接案平台 輕鬆接案網 | 五星級服務搬家公司!價格優口碑好 專業團隊,老客戶推薦! |
[測試]test |
房東:test 發表時間:2014-05-30 |
超商代碼串接範例 1. 超商代碼CVS取號 $key = " Allpay所提供AES加解密用的key "; $iv = " Allpay所提供AES加解密用的iv "; /*根據您的繳費方式輸入固定參數 (全家、OK、萊爾富超商代碼付款則填CVS_CVS;7-11超商代碼付款則填CVS_IBON;超商條碼付款則填BARCODE_BARCODE)*/ $PaymentType = "CVS_CVS"; //廠商編號 $MerchantID='1234567'; //廠商交易編號(不可重複)。 $MerchantTradeNo = '100'; //廠商交易時間。 $MerchantTradeDate = date('Y/m/d h:i:s'); //交易金額 30~20,000。 $TradeAmount = '500'; //需與PaymentType相同。 $TradeType = 'CVS_CVS'; //交易描述(必填),要使用UTF8格式進行urlencode。 $TradeDesc=urlencode('必填交易描述'); //交易描述(Desc1~Desc4),要使用UTF8格式進行urlencode。 $Desc1=urlencode('選填交易描述'); $Desc2=urlencode('選填交易描述'); $Desc3=urlencode('選填交易描述'); $Desc4=urlencode('選填交易描述'); //付款成功通知的網址,要使用UTF8格式進行urlencode。 $ReplyURL=urlencode('http://付款成功要通知的網址'); //備註,可空白 $Remark='備註,可空白'; //欲傳遞的參數要組成xml,建立xml_base Function function xml_base() { $xml = " //為避免產生的xml檔案包含空白、斷行,所以要進行斷行、空白刪除動作 $xml = trim($xml); $xml = str_replace("\t", "", $xml); $xml = str_replace("\r\n", "", $xml); $xml = str_replace("\r", "", $xml); $xml = str_replace("\n", "", $xml); $xml = str_replace(" ", "", $xml); //在建立好的xml檔案上頭加上版本與語系 $xml = "" . $xml; return $xml; } //Padding PKCS7的Function function addpadding($string, $blocksize = 16) { $len = strlen($string); $pad = $blocksize - ($len % $blocksize); $string .= str_repeat(chr($pad), $pad); return $string; } //AES與base64編碼 之加密Function function encrypt($inputValue, $key, $iv) { $str = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, addpadding($inputValue), MCRYPT_MODE_CBC, $iv))); return $str; } //呼叫xml_base Function $XMLData = xml_base(); /*將[+++MerchantID+++]替換成$MerchantID, 才能夠將要傳送的值放入function後產生正確的XMLData*/ $XMLData= str_replace("[+++MerchantID+++]", $MerchantID, $XMLData); $XMLData= str_replace("[+++MerchantTradeNo+++]", $MerchantTradeNo, $XMLData); $XMLData= str_replace("[+++MerchantTradeDate+++]", $MerchantTradeDate, $XMLData); $XMLData= str_replace("[+++TradeAmount+++]", $TradeAmount, $XMLData); $XMLData= str_replace("[+++TradeType+++]", $TradeType, $XMLData); $XMLData= str_replace("[+++TradeDesc+++]", $TradeDesc, $XMLData); $XMLData= str_replace("[+++Desc_1+++]", $Desc_1, $XMLData); $XMLData= str_replace("[+++Desc_2+++]", $Desc_2, $XMLData); $XMLData= str_replace("[+++Desc_3+++]", $Desc_3, $XMLData); $XMLData= str_replace("[+++Desc_4+++]", $Desc_4, $XMLData); $XMLData= str_replace("[+++ReplyURL+++]", $ReplyURL, $XMLData); $XMLData= str_replace("[+++Remark+++]", $Remark, $XMLData); //進行加密 $encode_XMLData = encrypt($XMLData, $key, $iv); //將要傳送的PaymentType、MerchantID、加密過的XMLData組成一字串 $post_str = 'PaymentType=' . $PaymentType . '&MerchantID=' . $MerchantID . '&XMLData=' . $encode_XMLData; //到介接網址用curl 背景取號,使用get方式 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://pay.allpay.com.tw/payment/Srv/gateway?' . $post_str); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $print = curl_exec($ch); //關閉curl curl_close($ch); //印出取得的資料 print_r($print); ?> 2. 付款通知 //Padding PKCS7解密 function strippadding($string) { $slast = ord(substr($string, -1)); $slastc = chr($slast); $pcheck = substr($string, -$slast); if (preg_match("/$slastc{" . $slast . "}/", $string)) { $string = substr($string, 0, strlen($string) - $slast); return $string; } else { return false; } } //xml解密 function decrypt($sValue, $key, $iv) { $sValue = str_replace(' ', '+', $sValue); $str = strippadding(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key,base64_decode($sValue),MCRYPT_MODE_CBC, $iv)); return $str; } $key = " Allpay所提供AES加解密用的key "; $iv = " Allpay所提供AES加解密用的iv"; //接收資料 $XMLData = $_POST["XMLData"]; //解密資料 $rs = decrypt($XMLData,$key,$iv); //回傳結果解密 $result_data = simplexml_load_string($rs); //顯示資料 echo "廠商編號: " . (string) $result_data->Data->MerchantID . " "; echo "廠商交易編號: " . (string) $result_data->Data-> MerchantTradeNo. " "; echo "交易狀態: " . (string) $result_data->Data->RtnCode . " "; echo "交易訊息: " . (string) $result_data->Data->RtnMsg. " "; echo "AllPay交易編號: " . (string) $result_data->Data-> TradeNo. " "; echo "付款時間: " . (string) $result_data->Data-> PayDate. " "; echo "交易金額: " . (string) $result_data->Data-> TradeAmount . " "; echo "繳費代碼: " . (string) $result_data->Data-> PaymentNo . " "; echo "繳費超商: " . (string) $result_data->Data-> PayFrom . " "; ?> 3. 交易查詢作業(Web Service) $key = " Allpay所提供AES加解密用的key"; $iv = " Allpay所提供AES加解密用的iv"; //廠商編號。 $MerchantID = '1234567'; //要查詢的廠商交易編號(不可重複)。 $MerchantTradeNo = '100'; //要查詢的web service位址。 $url='https://pay.allpay.com.tw/merchantapi/cvs.asmx '; //Padding PKCS7 的Function function addpadding($string, $blocksize = 16) { $len = strlen($string); $pad = $blocksize - ($len % $blocksize); $string .= str_repeat(chr($pad), $pad); return $string; } //AES與base64編碼之加密Function function encrypt($inputValue, $key, $iv) { $str = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, addpadding($inputValue), MCRYPT_MODE_CBC, $iv))); return $str; } //將廠商交易編號加密 $Encode_MerchantTradeNo = encrypt($MerchantTradeNo, $key, $iv); //透過curl方式傳送資料 $ch = curl_init(); /*由於必須傳送soap xml格式的資料,所以先用$PostData將要傳送的參數組成soap格式的xml。可進入web service位址查看soap 格式的xml寫法*/ $PostData=" // 設定擷取的URL網址 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //設定CURLOPT_POST 為 1或true,表示要用POST方式傳遞 curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Accept-Language:zh-tw', 'charset=utf-8', 'Content-Type:application/soap+xml', 'Host:pay.allpay.com.tw', )); //CURLOPT_POSTFIELDS 後面則是要傳接的POST資料。 curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData); $temp=curl_exec($ch); // 關閉CURL連線 curl_close($ch); //印出查詢結果 print_r($temp); ?> 4. 交易查詢作業(Html Form post) $key = " Allpay所提供AES加解密用的key "; $iv = " Allpay所提供AES加解密用的iv "; $MerchantID = '1234567'; //廠商編號 $MerchantTradeNo = '100'; //廠商交易編號 $url='http://pay.allpay.com.tw/payment/cvsquery'; //Padding PKCS7的 Function function addpadding($string, $blocksize = 16) { $len = strlen($string); $pad = $blocksize - ($len % $blocksize); $string .= str_repeat(chr($pad), $pad); return $string; } //AES與base64編碼加密 Function function encrypt($inputValue, $key, $iv) { $str = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, addpadding($inputValue), MCRYPT_MODE_CBC, $iv))); return $str; } //將廠商交易編號加密 $Encode_MerchantTradeNo = encrypt($MerchantTradeNo, $key, $iv); //以Form post的方式傳送資料到介接網址 $p = " "; echo $p; ?> 5. 查詢超商條碼網址(用於付款方式為Barcode) $key = " Allpay所提供AES加解密用的key "; $iv = " Allpay所提供AES加解密用的iv "; //廠商編號 $MerchantID = '1234567'; //廠商交易編號 $MerchantTradeNo = '100'; //要查詢的網址 $url='https://pay.allpay.com.tw/barcode/getbarcode'; //Padding PKCS7的Function function addpadding($string, $blocksize = 16) { $len = strlen($string); $pad = $blocksize - ($len % $blocksize); $string .= str_repeat(chr($pad), $pad); return $string; } //AES與base64編碼加密 Function function encrypt($inputValue, $key, $iv) { $str = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, addpadding($inputValue), MCRYPT_MODE_CBC, $iv))); return $str; } //將廠商交易編號加密 $Encode_MerchantTradeNo = encrypt($MerchantTradeNo); //用form post傳送到位址 $p = " "; echo $p; ?> |
|
租屋網 提供租屋資訊、租屋廣告刊登、房屋託租、房客尋屋、租屋配對、電子地圖、房屋資料上傳 搬家公司 本公司為政府立案專業搬家公司,我們秉持客戶至上,正派經營理念,在大台北縣市一直有口碑 明日黃金屋 買屋、賣屋、租屋、出租、房東租屋刊登、並提供租屋、最專業的服務、最安全親切的交易。 |
姓名: | |||
佈告內容: | |||
其他選項: | |||
|