简介

PHP银联支付

流程

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

https://open.unionpay.com

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

2、下载demo

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

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



将PHP Version SDK 下的 upacp_demo_b2c 目录复制到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测试的参数信息以及支付的测试账号

4、执行demo

将demo放置php环境中

执行 ...\upacp_demo_b2c\index_01_gateway.php

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

拿网关支付为例:

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

upacp_demo_b2c\demo\api_01_gateway\Form_6_2_FrontConsume.php

里面是请求银联支付,

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

说明

说说如何放置项目中

1、复制到项目中第三方类库目录中 如 libs 等

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

拿网关支付为例:

将 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银联支付的更多相关文章

  1. iOS----支付(微信支付、支付宝支付、银联支付控件集成支付)(转)

    资料 支付宝 //文档idk都包含了安卓.iOS版 银 联 银联官网资料 Demo Demo给了一个订单号,做测试使用,若出现支付失败什么的,可能是已经被别人给支付了,或者是服务器订单过期了 ~ 一. ...

  2. Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

    Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. ...

  3. UnionPay,ChinaPay 最新 银联支付接口C#\Asp.net\MVC 版本

    1.概念普及 一.理解什么是UnionPay.ChinaPay 这两个概念如果搞不清楚,绝对够你瞎折腾一段时间的. UnionPay:中国银联,最大的机构:他本身也提供系统接口但都是B2B的,对于单个 ...

  4. iOS 集成银联支付

    下载地址:https://open.unionpay.com/upload/download/Development_kit85427986.rar 其实我找了半个小时 也不知道怎么就下载好了 这个我 ...

  5. 集成 Union Pay - 银联支付

    作者感言 前面已经把WeChat SDK的支付, AliPay SDK搞得七七八八了, 接下来就是银联支付的Union Pay SDK.最后:如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, ...

  6. iOS第三方支付-银联支付

    #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "UPPayPluginDeleg ...

  7. 李洪强iOS开发支付集成之银联支付

    iOS开发支付集成之银联支付 银联官网在这里,这里能下载SDK或者是看文档.最新的版本写的简单了很多,看文档一直做下去基本上就没问题了. 首先,SDK在这里下载,里面包含需要的库文件和详细的文档. 银 ...

  8. unity3d银联支付出现闪退

    在接入银联SDK的unity3d的游戏中,点击银联支付会出现游戏总是出现闪退现象 ,后来网上有资料说 打开银联的jar包,将里面的res/drawable目录下的文件,拷贝到您的工程的drawable ...

  9. ios中的银联支付

    场景 随着移动互联网的迅猛发展,移动互联已经深深地融入我们的生活.其中,支付方式也是我们生活中经常遇到的情况.所以,在我们的应用中加入支付功能是多么的重要.现在主流的支付接口,一是支付宝类的,一是银联 ...

  10. TP3.2.3 接入银联支付

    TP3.2.3 接入银联支付 项目接入银联支付的过程, 在此记录下,希望能帮助开发盆友平坑. 银联SKD链接:https://open.unionpay.com/ajweb/product/newPr ...

随机推荐

  1. 喜欢玩warcraft的ltl

    喜欢玩warcraft的ltl 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描写叙述 ltl 很喜欢玩warcraft.由于warcraft十分讲究团队总体实力,而他自己如 ...

  2. Java基础:初始化和清理

    转载请注明出处:jiq•钦's technical Blog (1) 初始化: 所以假设继承关系为:A导出B再导出C,在创建C对象的情况下的调用顺序是: * (1) A的静态域,B的静态域,C的静态域 ...

  3. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断

    C#保留2位小数几种场景总结   场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...

  4. CloudEngine 6800基础配置-02_常用命令操作

    查看未提交配置   system-view ftp server enable display configuration candidate   删除未提交的配置 clear configurati ...

  5. C#实现马尔科夫模型例子

    已知条件:三个缸N状态,每个缸中不同颜色球的个数M状态值,时间轴T,观察值序列O 参数:状态值序列,转移概率序列 求:概率 后台代码如下 , M = ;//N状态,M状态值 (0橙色,1绿色,2蓝色, ...

  6. IOS - UIView停止交互

    UIView停止交互(失去焦点): 设置userInteractionEnabled=NO, 获取交互设置YES. 能够应用于UIButton, UITextField等交互型控件. [editBut ...

  7. 设置IIS 兼容32位DLL

    限Win7/Windows servser 2008  IIS的设置: 1.选择引用程序池 2.选择公布网站的.点击高级设置 3.启用32位应用程序属性改为True

  8. 暴力解hdu4930Fighting the Landlords

    #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> us ...

  9. ubuntu rdesktop 全屏切换快捷键

    rdesktop 全屏之后进行切换 : ctrl + alt +enter

  10. timeout in asp.net

    Forms authentication timeout vs sessionState timeout They are different things. The Forms Authentica ...