鋁門窗規劃、施工,經驗豐富
服務嚴謹、保固完善,免費估價,歡迎洽詢
客源網專業的施工團隊,新屋裝潢
舊屋裝修,套房規畫,室內裝修申請,完工保固

首頁  •  j2h 論壇 • 新手討論     • 

[測試]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 = \"


[+++MerchantID+++]
[+++MerchantTradeNo+++]
[+++MerchantTradeDate+++]
[+++TradeAmount+++]
CVS_CVS
[+++TradeAmount+++]
[+++Desc_1+++]
[+++Desc_2+++]
[+++Desc_3+++]
[+++Desc_4+++]
[+++ReplyURL+++]
[+++Remark+++]

\";
//為避免產生的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=\"http://www.w3.org/2001/XMLSchema-instance\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:soap12=\'http://www.w3.org/2003/05/soap-envelope\'>http://PaymentCenter.AllPay.com.tw/\'>$MerchantID$Encode_MerchantTradeNo\";
// 設定擷取的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;
?>




  • 贊助網站       

    搬家公司
    本公司為政府立案專業搬家公司,我們秉持客戶至上,正派經營理念,在大台北縣市一直有口碑
    租屋網
    提供租屋資訊、租屋廣告刊登、房屋託租、房客尋屋、租屋配對、電子地圖、房屋資料上傳
    明日黃金屋
    買屋、賣屋、租屋、出租、房東租屋刊登、並提供租屋、最專業的服務、最安全親切的交易。



  •  共 0 人回應

    姓名:
    佈告內容: