本文目錄一覽:
- 1、PHP 工商銀行B2C支付介面怎麼做
- 2、親,php銀聯在線支付,沒做過,請求幫助
- 3、中國銀聯在線支付介面php開發怎麼做
- 4、如何利用PHP語言開發平台第三方支付介面
- 5、用PHP連接支付寶或網銀的在線支付怎麼做
PHP 工商銀行B2C支付介面怎麼做
merID:銀行提供.唯一確定一個商戶的代碼,由商戶在工行開戶時,由工行告知商戶。
merAcct:銀行提供 , 商城收費入賬賬號 (只能交易時指定)。
懂得html代碼跟PHP的程序員一名
方法/步驟
到銀行開戶,說明要做B2C在線支付介面,此時銀行會提供給你 merID 、merAcct 這兩個
由程序員按照一下步驟來做即可,在商城提交表單的頁面添加以下控制項。
html xmlns=;
head
meta http-equiv=Content-Type content=”text/html;charset=utf-8″
title百度一下,你就知道 /title
/head
body
FORM name=”order” METHOD=POST ACTION=””
!–
訂單只能使用POST方式提交;使用https協議通訊;
2、接收servlet名稱固定為:/servlet/ICBCINBSEBusinessServlet
3、銀行地址:如果是生產則為「mybank.icbc.com.cn」,若為模擬測試環境則為「mybank.dccnet.com.cn」
—
INPUT NAME=”interfaceName” TYPE=”text” value=”ICBC_PERBANK_B2C”
!–介面名稱固定為「ICBC_PERBANK_B2C」–
INPUT NAME=”interfaceVersion” TYPE=”text” value=”1.0.0.0″
!–介面版本目前為「1.0.0.0」–
INPUT NAME=”orderid” TYPE=”text” value=”000000001″
!–訂單號商戶端產生,一天內不能重複。–
INPUT NAME=”amount” TYPE=”text” value=”100″
!–金額以分為單位–
INPUT NAME=”curType” TYPE=”text” value=”001″
!–幣種目前只支持人民幣,代碼為「001」–
INPUT NAME=”merID” TYPE=”text” value=”XXXXXXXXXX”
!–銀行提供(max20),唯一確定一個商戶的代碼,由商戶在工行開戶時,由工行告知商戶。–
INPUT NAME=”merAcct” TYPE=”text” value=”XXXXXXXXXX”
!–銀行提供(max19),商城收費入賬賬號 (只能交易時指定)。–
INPUT NAME=”verifyJoinFlag” TYPE=”text” value=”0″
!–「1」判斷該客戶是否與商戶聯名;取值「0」不檢驗客戶是否與商戶聯名。–
INPUT NAME=”notifyType” TYPE=”text” value=”HS”
!–HS方式實時發送通知;AG方式不發送通知;–
INPUT NAME=”merURL” TYPE=”text” value=””
!–接收銀行通知地址,目前只支持http協議80埠–
INPUT NAME=”resultType” TYPE=”text” value=”0″
!–對於HS方式「0」:發送成功或者失敗信息;「1」,只發送交易成功信息。–
INPUT NAME=”orderDate” TYPE=”text” value=”20050801192556″
!–14位時間戳–
INPUT NAME=”merSignMsg” TYPE=”text” value=”SFVdS3Kca6d/wetLFwynBl1q5nDIyxxEUXCzniIa47mhxs1BM9mPsnRc2lOqqrfwBdwBjSE82jS/iBHYKolf2sppjEyOImVZycv96321QPDgPA1yleO83K1XA1rmB3zxsIuwLKIICSWwdttn1XPYOQLJ/WAtZ5DFYFog7J8pXw0=”
!–商戶簽名數據BASE64編碼–
!–簽名數據串,這裡舉例用的測試私鑰user.key(順序固定;被商戶簽名的串為各輸入項的值):
介面名稱的值+介面版本號的值+商城代碼的值+商城賬號的值+通知地址的值+結果發送類型的值+訂單號的值+訂單金額的值+支付幣種的值+通知類型的值+交易日期時間的值+校驗聯名標誌的值–
INPUT NAME=”merCert” TYPE=”text” value=”MIICVjCCAb+gAwIBAgIKI9fKEDP6AAAO3DANBgkqhkiG9w0BAQUFADA0MRgwFgYDVQQDEw9wYmouaWNiYy5jb20uY24xGDAWBgNVBAoTD3Biai5pY2JjLmNvbS5jbjAeFw0yMDA5MjAwOTI3NDFaFw0yMTA5MjAwOTI3NDFaMEMxGDAWBgNVBAMTD2JpYW5sdTIyLmUuMDIwMDENMAsGA1UECxMEMDIwMDEYMBYGA1UEChMPcGJqLmljYmMuY29tLmNuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG+u/C5pad0ZbwvAk9Gv1rr+SpknfFUsTMhJLcI2KiYa+XLSf5vCib0OclOoDDXKIWPt/hkMEz+ED8YukQpsstXHvnxVFxVtPh23dubQjB8/kJ7X5EbwngsHMLFEXqr3UvNfcGZHuAFqMRPtr8ys3YnL3UG43Xienc3cD8jXFdQQIDAQABo2AwXjBLBgNVHR8ERDBCMECgPqA8pDowODEOMAwGA1UEAxMFY3JsMTMxDDAKBgNVBAsTA2NybDEYMBYGA1UEChMPcGJqLmljYmMuY29tLmNuMA8GA1UdYwQIAwYA/wAAAAAwDQYJKoZIhvcNAQEFBQADgYEAQe6tLhKaNX8OPNT2XzH7dTXIFmTm37hSvmbEL/Q/pWV386KVrNSCnyN3fowanMt5TE9qZFn9enVvyDJw4nAUx38F2PFn2Tt7JUtzt/pNKC5FiebpFJH48AXIP1Xt5GjdcBx0oXM9QNBtYvY0189t357EH4UaBfO+c+L8fkOt37o=”
!–商戶證書公鑰BASE64編碼–
!–這裡舉例用的測試證書user.crt–
INPUT NAME=”goodsID” TYPE=”text” value=”abcd001″
!–商品編號,自商城獲得–
INPUT NAME=”goodsName” TYPE=”text” value=”小氈帽”
!–商品名稱,自商城獲得–
INPUT NAME=”goodsNum” TYPE=”text” value=”1″
!–商品數量,自商城獲得–
INPUT NAME=”carriageAmt” TYPE=”text” value=”100″
!–已含運費金額,金額以分為單位,自商城獲得–
INPUT NAME=”merHint” TYPE=”text” value=”跳樓甩賣!” size=”60″
!–商城提示,以上五個欄位用於客戶支付頁面顯示–
INPUT NAME=”remark1″ TYPE=”text” value=” “
!–備註欄位 MAX(100)–
INPUT NAME=”remark2″ TYPE=”text” value=””
!–備註欄位 MAX(100)–
INPUT TYPE=”submit” value=” 提 交 訂 單 ”
/form
body
END
注意事項
注意商戶提交訂單數據不能提交介面中沒有定義的欄位
提交按鈕不能設置name屬性,如果設置了,提交按鈕的值將作為一個變數提交,可能造成數據檢查錯誤
經驗內容僅供參考,如果您需解決具
親,php銀聯在線支付,沒做過,請求幫助
支付介面現在有第三方的支付介面也有銀行的支付介面。這裡就來介紹php版本銀聯支付介面開發的方法。
銀聯支付,首先要注意二重要的部分:
PHP運行環境是5.4.18以上
開了擴展openssl
開發手冊上面的列子只做參考,因為基本都是錯的。你可以試著去官網下一個demo。。。注意現在銀聯開發,沒有測試密鑰提供,只能在正式環境開發
下面是我用ThinkPHP編寫的一個支付類
/**
* 銀聯支付 v0.1
* @auther:Summerdengwz7788@gmail.com;
* @date:20151202
* **/
class NetPayAction extends BaseAction{
//在類初始化方法中,引入相關類庫
public function _initialize() {
header(“Content-type:text/html;charset=utf-8”);
vendor(‘Netpay.util.common’,””,”.php”); //導入加密核心文件夾
vendor(‘Netpay.util.SecssUtil’,””,”.class.php”); //導入加密核心文件夾
vendor(‘Netpay.util.Settings_INI’,””,”.php”); //導入加密核心文件夾
vendor(‘Netpay.util.Settings’,””,”.php”); //導入加密核心文件夾
$this-securityPropFile= $_SERVER[‘DOCUMENT_ROOT’] . “/ThinkPHP/Extend/Vendor/Netpay/config/security.properties”; //誰知道這是啥,反正他們要我加的
$this-b2cPaySend = __APP__.”/Index/NetPay/b2cPaySend”;
$this-b2cRefundSend = __APP__.”/Index/NetPay/b2cRefundSend”;
$this-b2cQuerySend = __APP__.”/Index/NetPay/b2cQuerySend”;
$this-;MerBgUrl = __APP__.”/Index/NetPay/MerBgUrl”;
$this-MerPageUrl = __APP__.”/Index/NetPay/MerPageUrl”;
}
public function index()
{
$paramArray=array (
‘MerId’ = ‘商戶號’,
‘MerOrderNo’ = ‘0000001944663232’,
‘OrderAmt’ = ‘1’,
‘TranDate’ = ‘20151219’,
‘TranTime’ =’171248′,
‘TranType’ = ‘0001’,
‘BusiType’ =’0001′,
‘Version’ = ‘20140728’,
‘CurryNo’ = ‘CNY’,
‘AccessType’ =; ‘0’,
‘CommodityMsg’ = ‘測試商品1號’,
‘MerPageUrl’ = $this-MerBgUrl,
‘MerBgUrl’ =$this-MerPageUrl,
‘MerResv’ = ‘MerResv’,
);
if (count($paramArray) 0) {
$dispatchUrl = $this-b2cPaySend;
$transResvedJson = array();
$cardInfoJson = array();
$sendMap = array();
foreach ($paramArray as $key = $value) {
if (isEmpty($value)) {
continue;
}
if (startWith($key, “trans_”)) {
$key = substr($key, strlen(“trans_”));
$transResvedJson[$key] = $value;
} else
if (startWith($key, “card_”)) {
$key = substr($key, strlen(“card_”));
$cardInfoJson[$key] = $value;
} else {
$sendMap[$key] = $value;
}
}
$transResvedStr = null;
$cardResvedStr = null;
if (count($transResvedJson) 0) {
$transResvedStr = json_encode($transResvedJson);
}
if (count($cardInfoJson) 0) {
$cardResvedStr = json_encode($cardInfoJson);
}
$secssUtil = new SecssUtil();
if (! isEmpty($transResvedStr)) {
$transResvedStr = $secssUtil-decryptData($transResvedStr);
$sendMap[“TranReserved”] = $transResvedStr;
}
if (! isEmpty($cardResvedStr)) {
$cardResvedStr = $secssUtil-decryptData($cardResvedStr);
$sendMap[“card_”] = $cardResvedStr;
}
$securityPropFile = $thissecurityPropFile;
$secssUtil-init($securityPropFile);
$secssUtil-sign($sendMap);
$sendMap[“Signature”] = $secssUtil-getSign();
$_SESSION = $sendMap;
header(“Location:” . $dispatchUrl);
}
}
public function b2cPaySend(){
layout(false);
$settings = new Settings_INI();
$settings-oad($this-securityPropFile);
$pay_url = “”;
$html = “form name=’payment’ action='{$pay_url}’ method=’POST’ target=’_blank’;”;
$params = “TranReserved;MerId;MerOrderNo;OrderAmt;CurryNo;TranDate;SplitMethod;BusiType;MerPageUrl;MerBgUrl;SplitType;MerSplitMsg;PayTimeOut;MerResv;Version;BankInstNo;CommodityMsg;Signature;AccessType;AcqCode;OrderExpiryTime;TranType;RemoteAddr;Referred;TranTime;TimeStamp;CardTranData”;
foreach ($_SESSION as $k =$v) {
if (strstr($params, $k)) {
$html .= “input type=’hidden’ name = ‘” . $k . “‘ value ='” . $v . “‘/”;
}
}
$html .= “nput type=’button’ type=’hidden’ value=’提交訂單’ “;
$html .= “;/from”;
$this-html = $html;
$this-display();
}
public function pgReturn(){
if ($_POST) {
if (count($_POST) 0) {
$secssUtil = new SecssUtil();
$securityPropFile = $thissecurityPropFile;
$secssUtil-init($securityPropFile);
$text = array();
foreach($_POST as $key=$value){
$text[$key] = urldecode($value);
}
if ($secssUtil-verify($text)) {
//支付成功
$_SESSION[“VERIFY_KEY”] = “success”;
} else {
//支付失敗
$_SESSION[“VERIFY_KEY”] = “fail”;
}
}
}
}
}
銀聯支付應該是算比較簡單的!!
中國銀聯在線支付介面php開發怎麼做
對方應該有sdk和demo提供的,支付介面的流程都差不多,包括支付寶,網銀,財付通,paypal等流程都一樣。
用戶下單,收集購物車內產品的總價
拼裝支付參數URL跳轉進入支付網關進行支付(這裡會用到支付網關提供的SDK)
支付成功
支付網關伺服器會非同步發送支付成功的通知到你的「通知URL」,你對過來的參數進行有效性驗證,確保是從支付網關發來的,進行業務邏輯處理,比如設置訂單完成標識等操作;
注意這不是「返回URL」,這一步操作前台支付用戶不會看到。
網關一般在完成支付後,會自動返回我們的網站,進入網站後提示用戶完成支付,並跳轉到相應頁面即可。
如何利用PHP語言開發平台第三方支付介面
第一步:簽訂合約通過第三方拿到介面(可以郵件形式發送、也可以在第三方系統下載),拿到介面後,要確認下介面類型,是否是自己需要的介面,比如B2C介面、B2B介面等類型。
第二步:支付介面分很多語言版本,比如ASP、JSP、PHP、.NET語言版本,所以要選擇與自己網站語言匹配的介面進行安裝。商城網站的技術一般比較清楚商城的開發語言。
第三步:拿到的支付介面一般包括介面文檔和介面代碼示例,選擇合適的介面代碼示例,進行聯調,比如自己網站是PHP開發的,就選擇PHP代碼示例聯調。
第四步:介面聯調的時候,需要第三方支付提供聯調測試賬號,方可以聯調。聯調除了需要聯調賬號除外,還需要該賬號的支付密鑰,聯調過程中,有什麼問題,可以直接找第三方支付技術支持給予協調處理。
第五步:介面聯調通過後,可先換成生產環境賬號,進行交易測試,測試沒問題後,可以放到商城網站進行交易。
用PHP連接支付寶或網銀的在線支付怎麼做
支付寶會提供相應的介面,下載PHP版本的介面到本地,然後看DEMO,按著上面的說明做
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/182379.html