准备
一、内网穿透工具:
我这里用花生壳做演示。
二、环境:(以银联支付目前的要求):
1、JDK1.6以上;
2、Tomcat6.0以上。
获取证书和代码
第一步:
注册登录银联支付:银联支付开放平台官网链接
第二步:
进入在线网关支付下载官方支付代码,操作如下:
第三步:
进入我要测试,下载相关证书
第四步:
修改/ACPSample_B2C/src/acp_sdk.properties文件中acpsdk.backUrl和acpsdk.frontUrl的域名为外网可以访问的域名,我这里用花生壳穿透内网,格式如下:
#后台通知地址,填写接收银联后台通知的地址,必须外网能访问
acpsdk.backUrl=http://xxx/ACPSample_B2C/backRcvResponse
#前台通知地址,填写银联前台通知的地址,必须外网能访问
acpsdk.frontUrl=http://xxx/ACPSample_B2C/frontRcvResponse
第五步:
将刚才下载的证书,根据/ACPSample_B2C/src/acp_sdk.properties文件中配置的路径存放,我这里默认就不改路径了。
测试
第一步:
集成测试
第二步:
启动项目,访问测试首页。可以用本地形式访问,也可以用内网穿透的形式访问。如:
http://xxx/ACPSample_B2C/
或者
localhost:端口/ACPSample_B2C/
第三步:
其中,测试商户号填写指定的测试商户号(在下载证书时出现的页面中可以找到),如下图:
第三步:
在测试参数中填写对应数据:
第四步:
点击返回商户,此时会出现相应的键值对数据,其中respCode(respCode)=00表示验证签名结果成功。
支付入口(接受参数)
/ACPSample_B2C/src/com/unionpay/acp/demo/consume/Form_6_2_FrontConsume.java中doPost方法。
支付回调(修改订单状态)
/ACPSample_B2C/src/com/unionpay/acp/demo/BackRcvResponse.java中doPost方法。
备注
1、若出现支付失败现象,可将错误码放入银联支付开放平台的搜索框中搜索,会有相关的解释。
2、生产中使用的证书来源,在下载代码压缩包中相关文件说明;
3、本系统与银联第三方系统,及本系统中微服务的事务需要特别注意。