PHP 集成银联支付
现如今支付系统几乎成了许多网站必不可少的东西,那么常见的几种支付方式:支付宝
、微信
;关于 支付宝
、微信
的实现方式在 世界上最好用的 Alipay 和 WeChat 的支付 SDK
这篇文章有介绍,这里就不多解释了。 今天就着重介绍下银联支付 的具体实现方式。
关于银联支付我发现一个很好用的 SDK
omnipay-unionpay . 下面步入正题:
安装 omnipay-unionpay
在 composer.json
文件中添加如下代码
{"require": {"lokielse/omnipay-unionpay": "^0.4"}
}
使用 composer update
进行更新依赖
composer update
或者直接采用如下命令安装
composer require lokielse/omnipay-unionpay dev-master
获取银联支付配置信息 到 银联支付开发者中心 获取配置信息,我们测试的话使用测试接口就好
点击 私钥和公钥进行下载
获取 PrivateKey
, PublicKey
, Cert ID
1.获取 PrivateKey
openssl pkcs12 -in 700000000000001_acp.pfx -nocerts -nodes | openssl rsa -out private_key.pem
file 2.Public key 就是 verify_sign_acp.cer
3.获取 Cert ID
openssl pkcs12 -in 700000000000001_acp.pfx -clcerts -nokeys | openssl x509 -serial -noout
1_1542987039_6MHoKfeRk4.png
4.将第三步获取到的值使用如下网址进行进制转换
https://lokielse.github.io/hex2dec
1_1542987233_uQM557RM99.png
支付
use Omnipay\Omnipay;public function actionIndex()
{$gateway = Omnipay::create('UnionPay_Express');$gateway->setMerId(Yii::$app->params['merId']);$gateway->setCertId(Yii::$app->params['certId']);$gateway->setPrivateKey(Yii::getAlias('@backend').'/web/pem/private_key.pem'); // path or content$gateway->setReturnUrl('https://laravelcode.cn/return');$gateway->setNotifyUrl('https://laravelcode.cn/notify');$order = ['orderId' => date('YmdHis'), //Your order ID'txnTime' => date('YmdHis'), //Should be format 'YmdHis''orderDesc' => 'My order title', //Order Title'txnAmt' => '100', //Order Total Fee];//For PC/Wap$response = $gateway->purchase($order)->send();return $response->getRedirectHtml();//For APP$response = $gateway->createOrder($order)->send();return $response->getTradeNo();
}
注意上方设置私钥我这里采用YII框架进行配置,如不是 YII
框架,请使用根目录全路径进行配置,如:/etc/
只要你的配置正确那么以上就可以调起银联支付了。
回调
public function actionNotify()
{$gateway = Omnipay::create('UnionPay_Express');$gateway->setMerId(Yii::$app->params['merId']);$gateway->setPublicKey(Yii::getAlias('@backend').'/web/pem/publicKey'); // path or content$response = $gateway->completePurchase(['request_params'=>$_REQUEST])->send();if ($response->isPaid()) {//pay success}else{//pay fail}
}
更多使用方法请看 官方文档
关于极客返利
极客返利 是由我个人开发的一款网课返利、返现平台。包含 极客时间返现、拉勾教育返现、掘金小册返现、GitChat返现。目前仅包含这几个平台。后续如果有需要可以考虑其他平台。 简而言之就是:你买课,我返现。让你花更少的钱,就可以买到课程。
https://geek.laravelcode.cn
https://geek.idaka.ink
版权许可
本作品采用 知识共享署名 4.0 国际许可协议 进行许可。
转载无需与我联系,但须注明出处,注明文章来源 PHP 集成银联支付
联系我
PHP 集成银联支付相关推荐
- Android集成银联支付最新版3.8.5(银联真NM坑)
Android集成银联支付(银联真N&M坑) 1.这是银联Android 开发包的下载地址开发包下载地址 2.下载完里面的内容是这样的 3.其实调起来银联支付(云闪付),就一句代码,其他的都是 ...
- Android开发:app工程集成银联支付功能(客户端)
Android开发:app工程集成银联支付功能(客户端) email:chentravelling@163.com 上一篇博文完成了服务器端的集成,可参考: Android开发:app工程集成银联支付 ...
- iOS 集成银联支付swift
① 首先添加银联支付的SDK到项目中,如图: ② 由于类库使用的C++编写,所以需要写一个插件而且是用OC来写,如图: ③ 然后创建OC与swift的桥接文件,并且引入头文件. ④ 在支付页面调用支 ...
- iOS 集成银联支付
转自:http://www.jianshu.com/p/92d615f78509 当初集成支付宝的时候 觉得见了这么丑的代码 加上这么难找的下载地址 在配上几乎为零的文档 寒哥就要吐血了 下午去集成银 ...
- Android集成银联支付
银联支付是继支付宝于微信支付之后的第三大支付方式,如果你已经看过前两篇博文,学会支付宝和微信的支付集成方法,接下来,银联支付就很简单了. 支付宝支付流程博文 http://blog.csdn.net/ ...
- Android开发:app工程集成银联支付功能(服务器端)
一功能描述 二实现过程 1下载银联支付SDK和Demo 1银联商家服务地址httpsopenunionpaycomajwebindex 2下载的文件如下 2集成过程 1先试官方Demo 2集成到自己的 ...
- iOS开发 支付之银联支付集成
iOS开发之银联支付集成 最近在做支付这一块的东西,就记录下来以便以后参考和各位交流学习,这里是银联支付 银联官网在这里,这里能下载SDK或者是看文档.文档嘛,对银联来说,还是不要看的太仔细的好,以前 ...
- 玩转iOS开发:集成 Union Pay - 银联支付
文章转至:https://cainrun.github.io/14740149724404.html 作者感言 前面已经把WeChat SDK的支付, AliPay SDK搞得七七八八了, 接下来就是 ...
- thinkphp集成银联网关支付简单实例
thinkphp集成银联手机网关支付简单实例 准备工作 网银手机网关支付产品开发包下载: https://open.unionpay.com/ajweb/help/file/toDetailPage? ...
最新文章
- 拨开云雾见天日:剖析单机事务原理
- 基于自监督网络的手部静脉无损三维测量
- 使用Docker迁移与备份
- TPC-W 一个实验结果和分析
- HTTPS和HTTPS证书
- 一个Option请求引发的深度解析
- android布局添加布局,Android中添加布局和初始化布局总结
- python抽象类可以实例化吗,是否可以在Python中创建抽象类?
- java-redis字符类数据操作示例(一)
- ef codefirst字段类型与sqlserver表字段类型对应概要
- 计算机维修与数据恢复论文,备份恢复论文,关于计算机数据备份数据恢复技术相关参考文献资料-免费论文范文...
- 一行命令解决centos下git永久保存密码
- 经典单片机c语言教程 pdf下载,51单片机经典教程.pdf
- C语言实现文件分割功能
- PHP做大转盘抽奖的思路,PHP实现大转盘抽奖算法(代码实例)
- 遮天、斗破苍穹、凡人修仙传、雪中悍刀行争第四届橙瓜网络文学奖
- 阿⾥云Apsara Clouder云计算专项技能认证:云服务器ECS⼊门【 个⼈所得税年度应纳税额抵扣 3600(0成本)】
- 综合架构(备份部分)
- 华为OD机试 - 不含101的数
- c语言输出cad scr文件,CAD脚本文件(*.scr)有什么用?