银联支付php

流程

1、注册 银联 - 技术开发平台和商户服务平台

https://open.unionpay.com

注意:注册时建议使用IE浏览器,之前注册时插件老是用不了,使用IE10以下浏览器,另外当时使用的时候老是出现问题,原来是在刚好在维护。有什么不明白的可以问问客服。

2、下载demo

https://open.unionpay.com/tjweb/acproduct/list?apiservId=448

银联支付php

demo下载完毕,查看说明文件

银联支付php

将PHP Version SDK 下的 upacp_demo_b2c 目录复制到PHP环境
银联支付php

修改配置文件 …\upacp_demo_b2c\sdk\acp_sdk.ini

	//主要修改服务器证书地址和证书密码
	acpsdk.signCert.path=D:/certs/acp_test_sign.pfx
	acpsdk.encryptCert.path=d:/certs/acp_test_enc.cer
	acpsdk.middleCert.path=D:/certs/acp_test_middle.cer
	acpsdk.rootCert.path=D:/certs/acp_test_root.cer
	acpsdk.signCert.pwd=000000
	
	//测试的话,如果时windows,直接把
	...\upacp_demo_b2c\assets\测试环境证书 目录复制到 d盘 重命名'certs' 即可

3、 我要测试

有需要demo测试的参数信息以及支付的测试账号

银联支付php

4、执行demo

将demo放置php环境中

执行 …\upacp_demo_b2c\index_01_gateway.php

银联支付php

填写测试参数中的信息,跳转到银联支付页面,支付成功后有回调

拿网关支付为例:

index_01_gateway.php只是页面,点击按钮后执行的是

upacp_demo_b2c\demo\api_01_gateway\Form_6_2_FrontConsume.php

里面是请求银联支付,

请求需要提供回调地址即支付后完成的动作,需要外网能访问,详细见代码。

说明

说说如何放置项目中

1、复制到项目中第三方类库目录中 如 libs 等
银联支付php

2、可以封装一个银联支付类
银联支付php

拿网关支付为例:

将 upacp_demo_b2c\demo\api_01_gateway\Form_6_2_FrontConsume.php

改写为银联支付类的一个支付方法

其它检查支付状态等 也一样,参考demo 改写为类的一个方法

3、修改配置

acp_sdk.ini //配置文件
SDKConfig.php //返回配置信息的类

可以改 acp_sdk.ini 中的证书路径, 将路径改为相对路径
让后再 SDKConfig.php 中拼接

#acp_sdk.ini

acpsdk.signCert.path=/certs/acp_test_sign.pfx
acpsdk.encryptCert.path=/certs/acp_test_enc.cer
acpsdk.middleCert.path=/certs/acp_test_middle.cer
acpsdk.rootCert.path=/certs/acp_test_root.cer

#SDKConfig.php
$UnionPath = '.../libs/UnionPay';//定义银联支付扩展目录
$ini_array = parse_ini_file('.../acp_sdk.ini', true);//读取配置-acp_sdk.ini
$sdk_array = $ini_array["acpsdk"];
this->signCertPath = $UnionPath .(array_key_exists("acpsdk.signCert.path", $sdk_array)?$sdk_array["acpsdk.signCert.path"]:'');//拼接证书路径
//类似 this->signCertPath = ... ...
#银联支付类中

//加载配置文件
//获取到配置信息
//请求银联支付
//实现回调动作
//回调的话,分析支付完成后需要做什么,数据库操作,同步等等,可以参考:
	...\upacp_demo_b2c\demo\api_01_gateway\BackReceive.php
	...\upacp_demo_b2c\demo\api_01_gateway\FrontReceive.php

以上就是对银联支付的一个总结,更多明细建议阅读demo代码。
银联支付php

上一篇:ACP-大数据分析师错题本


下一篇:如何快速实现一个连接池?