现如今支付系统几乎成了许多网站必不可少的东西,那么常见的几种支付方式:支付宝微信;关于 支付宝微信 的实现方式在 世界上最好用的 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 集成银联支付相关推荐

  1. Android集成银联支付最新版3.8.5(银联真NM坑)

    Android集成银联支付(银联真N&M坑) 1.这是银联Android 开发包的下载地址开发包下载地址 2.下载完里面的内容是这样的 3.其实调起来银联支付(云闪付),就一句代码,其他的都是 ...

  2. Android开发:app工程集成银联支付功能(客户端)

    Android开发:app工程集成银联支付功能(客户端) email:chentravelling@163.com 上一篇博文完成了服务器端的集成,可参考: Android开发:app工程集成银联支付 ...

  3. iOS 集成银联支付swift

    ①  首先添加银联支付的SDK到项目中,如图: ② 由于类库使用的C++编写,所以需要写一个插件而且是用OC来写,如图: ③ 然后创建OC与swift的桥接文件,并且引入头文件. ④ 在支付页面调用支 ...

  4. iOS 集成银联支付

    转自:http://www.jianshu.com/p/92d615f78509 当初集成支付宝的时候 觉得见了这么丑的代码 加上这么难找的下载地址 在配上几乎为零的文档 寒哥就要吐血了 下午去集成银 ...

  5. Android集成银联支付

    银联支付是继支付宝于微信支付之后的第三大支付方式,如果你已经看过前两篇博文,学会支付宝和微信的支付集成方法,接下来,银联支付就很简单了. 支付宝支付流程博文 http://blog.csdn.net/ ...

  6. Android开发:app工程集成银联支付功能(服务器端)

    一功能描述 二实现过程 1下载银联支付SDK和Demo 1银联商家服务地址httpsopenunionpaycomajwebindex 2下载的文件如下 2集成过程 1先试官方Demo 2集成到自己的 ...

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

    iOS开发之银联支付集成 最近在做支付这一块的东西,就记录下来以便以后参考和各位交流学习,这里是银联支付 银联官网在这里,这里能下载SDK或者是看文档.文档嘛,对银联来说,还是不要看的太仔细的好,以前 ...

  8. 玩转iOS开发:集成 Union Pay - 银联支付

    文章转至:https://cainrun.github.io/14740149724404.html 作者感言 前面已经把WeChat SDK的支付, AliPay SDK搞得七七八八了, 接下来就是 ...

  9. thinkphp集成银联网关支付简单实例

    thinkphp集成银联手机网关支付简单实例 准备工作 网银手机网关支付产品开发包下载: https://open.unionpay.com/ajweb/help/file/toDetailPage? ...

最新文章

  1. 使用jsonpath解析json内容
  2. Appearing and Disappearing consts in C++
  3. linux docker 报错 Failed to get D-Bus connection: Operation not permitted
  4. 局域网上传文件到服务器很慢,win10局域网内传文件很慢怎么办_win10局域网内文件传输很慢如何处理-win7之家...
  5. MySQL探秘(四):InnoDB的磁盘文件及落盘机制(持久性)
  6. Angular单元测试框架里API toHaveBeenCalledTimes的工作原理
  7. docker 常用命令 以及常见问题
  8. Cantor表(洛谷-P1014)
  9. linux文件编码无法修改,在Linux系统中修改文本的字符编码的方法
  10. Nginx面试题整理
  11. 再谈iOS视频播放器旋转视图开发
  12. 统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现
  13. NVIDIA显卡驱动程序更新失败解决记录
  14. Win7 VirtualBox运行出现“0x00000000指令引用的0x00000000内存。该内存不能为written” ,错误解决
  15. wind7计算机控制面板在哪,Win7控制面板在哪打开|win7打开控制面板的小技巧
  16. linuxmint/ubuntu修改主机名hostnam
  17. html语言文本框怎么做,HTML文本框参考样式
  18. 大阪第83天——可怕的日本(转贴)
  19. 西游记中泾河龙王泄露天机惨遭砍头,而袁守诚为何安然无恙
  20. C语言主函数返回值含义

热门文章

  1. Day3-水仙花和三种循环
  2. Python爬虫入门教程:河北阳光理政投诉板块
  3. 微信接收离线消息状态的设置方法(图文教程)
  4. 【虹科新闻】虹科与SOSLAB正式建立合作伙伴关系
  5. 2017年,尔雅网络公选课全部课程答案。(举例:人文的物理学)
  6. 4月15日csol服务器维护中,亲爱的战友: 我们将于03月15日09:00-13:00对所
  7. android和ios龙之谷,龙之谷2苹果和安卓同服吗
  8. 2020年aelf首场全民公测,有奖狂欢四重好礼大放送!
  9. Windows 系统应急指令及服务
  10. 凤凰要和锦觅共赴鸿蒙,《香蜜》中凤凰一番话,成情侣之间的誓言,网友:锦觅爱他的原因...