简介

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. Android 内存管理

    1.Activity中的对象生命周期勿大于Activity的生命周期.OOM演示样例代码例如以下: private static Drawable sBackground; @Override pro ...

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

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

  3. 【Cocos2dx游戏开发】CCTableView实现滑动列表

    在游戏中,经常需要用到列表展示,例如我现在做的卡牌游戏中就有卡牌列表和好友列表需要用到CCTableView,下面简单介绍一下使用方法. CCTableView位于扩展库文件cocos-ext.h中, ...

  4. Eclipse导入外部项目问题总结

     此次在项目开发过程中导入从oksvn下载的共享项目时出现几个项目在不同的IDE导入导出时的问题,为免忘记做例如以下笔记: 1 类路径问题 在Java开发中大多数的开发人员使用的IDE是MyEcl ...

  5. CSS经典布局之弹性布局

    当我们在浏览浏览器的时候,经常会放大/缩小浏览器的显示比例,或者在不同的设备上.所处的分辨率也不尽同样. 因此.我们须要学习一个新的知识:弹性盒模型. 弹性盒模型 实现项目对齐,方向,排序(即使项目大 ...

  6. leetcode题解||Palindrome Number问题

    problem: Determine whether an integer is a palindrome. Do this without extra space. click to show sp ...

  7. 字节数组byte[]和整型,浮点型数据的转换——Java代码

    近期在写C++ socket和java socket之间的通信程序,涉及到整数浮点数的传输.须要从字节数组还原数据,查了一些资料.总结例如以下 1.       整数和浮点数的机器表示 在机器内部.不 ...

  8. C++中switch 语句中的变量声明和

    switch 内部的变量定义: ; switch(i) { : string str; //error ; //error int val2; //right ; //right : val2 = ; ...

  9. Cadence——每次启动软件弹出找不到license文件的提示窗口

    1. 摘要 按照Cadence16.60,每次启动该软件,总弹出提示窗口,内如大致为:Orcad Capture license was not found.... 2. 解决方法 参考此链接:htt ...

  10. 洛谷P1045 麦森数

    题目描述 形如2^{P}-12 ​P ​​ −1的素数称为麦森数,这时PP一定也是个素数.但反过来不一定,即如果PP是个素数,2^{P}-12 ​P ​​ −1不一定也是素数.到1998年底,人们已找 ...