银联支付 Asp.Net 对接开发内容简介
银联对接开发主要包含测试环境以及生产环境两部分。
其中程序开发部分测试以及生产是相同的。
不同的是,测试环境与生产环境请求支付的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]拷贝至项目中,修改其中对不同项目数据存取的代码。