銀聯對接開發主要包含測試環境以及生產環境兩部分。
其中程序開發部分測試以及生產是相同的。
不同的是,測試環境與生產環境請求支付的Url地址,以及分別使用的證書不同。
一、配置部分
1,測試環境證書獲取
銀聯測試平台地址:
https://open.unionpay.com/ajweb/account/testPara
(證書需要根據注冊的用戶名密碼登錄后在銀聯測試平台中得到)
2,生產環境的證書獲取
私鑰:商戶注冊時,銀聯會發一封密鑰兌換郵件,根據郵件中的兌換碼,到郵件中所提供的網址去兌換私鑰。
公鑰:測試平台中提供生產環境公鑰的下載,商戶注冊時,銀聯給提供的Demo中也包含公鑰。
3,生產環境配置文件
主要包含3個內容:
1,密鑰的物理地址(需要給目錄文件指定讀寫權限)
2,支付跳轉請求地址
3,交易結果回調地址
url地址以及證書使用的配置如下(當前配置信息的支付跳轉地址為生產環境的地址):
<!-- ##########################交易發送地址配置#############################--> <!--######(以下配置為PM環境:入網測試環境用,生產環境配置見文檔說明)#######--> <!-- 簽名證書路徑 acp_test.sign.pfx--> <add key="sdk.signCert.path" value="E:\***\生產環境證書\*******.zhegnshu.pfx" /> <!-- 簽名證書密碼 --> <add key="sdk.signCert.pwd" value="******" /> <!-- 簽名證書類型 --> <add key="sdk.signCert.type" value="PKCS12" /> <!-- 加密證書路徑 --> <add key="sdk.encryptCert.path" value="E:\***\生產環境證書\acp_prod_verify_sign.cer" /> <!-- 驗簽證書目錄 --> <add key="sdk.validateCert.dir" value="E:\***\生產環境證書\" /> <!-- 前台交易地址 --> <add key="sdk.frontTransUrl" value="https://gateway.95516.com/gateway/api/frontTransReq.do" /> <!-- 后台交易地址 --> <add key="sdk.backTransUrl" value="https://gateway.95516.com/gateway/api/backTransReq.do" /> <!-- 交易狀態查詢地址 --> <add key="sdk.singleQueryUrl" value="https://gateway.95516.com/gateway/api/queryTrans.do" /> <!-- 文件傳輸類交易地址 --> <add key="sdk.fileTransUrl" value="https://filedownload.95516.com/" /> <!-- 批量交易地址 --> <add key="sdk.batTransUrl" value="https://gateway.95516.com/gateway/api/batchTrans.do" /> <!-- 有卡交易地址 --> <add key="sdk.cardRequestUrl" value="https://gateway.95516.com/gateway/api/cardTransReq.do" /> <!-- app交易地址 手機控件支付使用該地址--> <add key="sdk.appRequestUrl" value="https://gateway.95516.com/gateway/api/appTransReq.do" /> <add key="union_frontUrl" value="http://回調域名/UnionPay/PaySucess.aspx"/> <add key="union_backUrl" value="http://回調域名/UnionPay/BackRcvRespones.aspx"/>
<add key="ifValidateRemoteCert" value="false" /> <!--##########################以下為繳費產品的配置,其他產品接入時可無視#############################--> <!-- 前台交易地址 --> <add key="sdk.jf.frontTransUrl" value="https://gateway.95516.com/gateway/api/frontTransReq.do" /> <!-- 后台交易地址 --> <add key="sdk.jf.backTransUrl" value="https://gateway.95516.com/gateway/api/backTransReq.do" /> <!-- 交易狀態查詢地址 --> <add key="sdk.jf.singleQueryUrl" value="https://gateway.95516.com/gateway/api/queryTrans.do" /> <!-- 有卡交易地址 --> <add key="sdk.jf.cardRequestUrl" value="https://gateway.95516.com/gateway/api/cardTransReq.do" /> <!-- app交易地址 手機控件支付使用該地址--> <add key="sdk.jf.appRequestUrl" value="https://gateway.95516.com/gateway/api/appTransReq.do" /> <!--##########################log4net配置#############################-->
二、開發部分
1,引用類庫
https://github.com/imcac/UnionPay
2,編碼
window.location.href = "/發起頁面_UnionPay/UnionPay.aspx?PayCash=" + 金額;
3,回調
在web.config中修改回調地址的域名,將github上的[回調頁面_UnionPay]拷貝至項目中,修改其中對不同項目數據存取的代碼。