LNMP环境下开发的银联支付(测试环境)

1.准备条件

    

      a.银联支持API:https://open.unionpay.com/ajweb/help/api

      

      b.选择开发软件包

      图示:

      c.我选择:

        网关支付开发:https://open.unionpay.com/ajweb/product/newProDetail?proId=1

      d.获取测试信息

        第一步:在“我的产品”选择测试 项目

        第二步:在“测试参数”中获取测试数据

        图示:

          

2.代码配置

      1.下载网关开发DEMO

      

       2.修改sdk/acp_sdk.ini 配置文件信息

  • ;后台通知地址,填写接收银联后台通知的地址,必须外网能访问
  • acpsdk.backUrl=http://xxxx/Pay/webUnionPay
  • ;前台通知地址,填写处理银联前台通知的地址,必须外网能访问
  • acpsdk.frontUrl=http://xxxx/Pay/webUnionPay
  • ;;;;;;;;;;;;;;;;;;;;;;;;;入网测试环境签名证书配置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • ; 多证书的情况证书路径为代码指定,可不对此块做配置。
  • ; 签名证书路径,必须使用绝对路径,如果不想使用绝对路径,可以自行实现相对路径获取证书的方法;测试证书所有商户共用开发包中的测试签名证书,生产环境请从cfca下载得到。
  • ; 测试环境证书位于assets/测试环境证书/文件夹下,请复制到d:/certs文件夹。生产环境证书由业务部门邮件发送。
  • ; windows样例:
  • acpsdk.signCert.path=D:/certs/acp_test_sign.pfx
  • ; linux样例(注意:在linux下读取证书需要保证证书有被应用读的权限)(后续其他路径配置也同此条说明)
  • ;acpsdk.signCert.path=/SERVICE01/usr/ac_frnas/conf/ACPtest/acp_test_sign.pfx
  • ; 签名证书密码,测试环境固定000000,生产环境请修改为从cfca下载的正式证书的密码,正式环境证书密码位数需小于等于6位,否则上传到商户服务网站会失败
  • acpsdk.signCert.pwd=000000
  • ;;;;;;;;;;;;;;;;;;;;;;;;;;加密证书配置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • ; 敏感信息加密证书路径(商户号开通了商户对敏感信息加密的权限,需要对 卡号accNo,pin和phoneNo,cvn2,expired加密(如果这些上送的话),对敏感信息加密使用)
  • acpsdk.encryptCert.path=d:/certs/acp_test_enc.cer
  • ;;;;;;;;;;;;;;;;;;;;;;;;;;验签证书配置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • ; 验签中级证书(证书位于assets/测试环境证书/文件夹下,请复制到d:/certs文件夹)
  • acpsdk.middleCert.path=D:/certs/acp_test_middle.cer
  • ; 验签根证书(证书位于assets/测试环境证书/文件夹下,请复制到d:/certs文件夹)
  • acpsdk.rootCert.path=D:/certs/acp_test_root.cer

       3.将demo/中三个文件代码简单修改(本人只保留其中php代码),就实现银联支付流程。

       

       4.在搭建的本地环境中直接访问xxx/Form_6_2_FrontConsume.php。成功发起支付

        发送支付请求:

  • private function webPay($datas){
  • global $UnionPayInfo;
  • $params = array(
  • //以下信息非特殊情况不需要改动
  • 'version' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->version, //版本号
  • 'encoding' => 'utf-8', //编码方式
  • 'txnType' => '01', //交易类型
  • 'txnSubType' => '01', //交易子类
  • 'bizType' => '000201', //业务类型
  • 'frontUrl' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->frontUrl, //前台通知地址
  • 'backUrl' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->backUrl, //后台通知地址
  • 'signMethod' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->signMethod, //签名方法
  • 'channelType' => '07', //渠道类型,07-PC,08-手机
  • 'accessType' => '0', //接入类型
  • 'currencyCode' => '156', //交易币种,境内商户固定156
  • //TODO 以下信息需要填写
  • 'merId' => $UnionPayInfo['merId'], //商户代码,请改自己的测试商户号,此处默认取demo演示页面传递的参数
  • 'orderId' => $datas["orderId"], //商户订单号,8-32位数字字母,不能含“-”或“_”,此处默认取demo演示页面传递的参数,可以自行定制规则
  • 'txnTime' => date('YmdHis'), //订单发送时间,格式为YYYYMMDDhhmmss,取北京时间,此处默认取demo演示页面传递的参数
  • 'txnAmt' => $datas["txnAmt"], //交易金额,单位分,此处默认取demo演示页面传递的参数
  • // 订单超时时间。
  • // 超过此时间后,除网银交易外,其他交易银联系统会拒绝受理,提示超时。 跳转银行网银交易如果超时后交易成功,会自动退款,大约5个工作日金额返还到持卡人账户。
  • // 此时间建议取支付时的北京时间加15分钟。
  • // 超过超时时间调查询接口应答origRespCode不是A6或者00的就可以判断为失败。
  • 'payTimeout' => date('YmdHis', strtotime('+15 minutes')),
  • );
  • com\unionpay\acp\sdk\AcpService::sign ( $params );
  • $uri = com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->frontTransUrl;
  • $html_form = com\unionpay\acp\sdk\AcpService::createAutoFormHtml( $params, $uri );
  • echo $html_form;

       5.下载Demo页面底部有个 视频参考(很有用)

20180803UnionPay银联支付的更多相关文章

  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中的银联支付

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

随机推荐

  1. 《ArcGIS Runtime SDK for Android开发笔记》——(13)、图层扩展方式加载Google地图

    1.前言 http://mt2.google.cn/vt/lyrs=m@225000000&hl=zh-CN&gl=cn&x=420&y=193&z=9& ...

  2. 1977年提出的OSI七层模型

    OSI七层模型:   7应用层            数据用户接口,提供人操作软件的接口 6表示层            数据的表现形式,特定的功能实现,比如数据加密.数据传输的编码等,一般由软件完成 ...

  3. haproxy学习——简介、基本配置(二)

    官网:http://www.haproxy.org/ 个人感觉haproxy学习的重点在于配置上,把配置文档搞懂了就明白大部分套路了.不过本篇内容属于入门学习:1.使用haproxy简单的实现负载均衡 ...

  4. Java—集合框架 Collections.sort()、Comparable接口和Comparator接口

    Collentions工具类--java.util.Collections Collentions是Java集合框架中,用来操作集合对象的工具类,也是Java集合框架的成员,与List.Map和Set ...

  5. Mysql Order By 注入总结

    前言 最近在做一些漏洞盒子后台项目的总结,在盒子多期众测项目中,发现注入类的漏洞占比较大.其中Order By注入型的漏洞也占挺大一部分比例,这类漏洞也是白帽子乐意提交的类型(奖金高.被过滤概率小). ...

  6. MySQL登录之socket与TCP

    在一台测试服务器上部署了2个实例,一个端口是默认的3306,另一个端口是3376.MySQL的版本是5.6.35 [root@MySQL56_L1 ~]# ps -ef | grep mysql | ...

  7. windows网络命令汇总

    分类: 网络技术2011-10-26 09:43 2557人阅读 评论(0) 收藏 举报 windows网络路由器dns服务器internetinterface Ping命令: ping命令通过发送I ...

  8. 用大白话告诉你什么是Event Loop

    文章原文地址 前沿 从前有座山,山里有座庙,庙里有个小和尚在讲故事.讲什么呢?讲的是: 从前有座山,山里有座庙,庙里有个小和尚在讲故事.讲什么呢?讲的是: 从前有座山,山里有座庙,庙里有个小和尚在讲故 ...

  9. c#类的练习

    类部分练习题 - dijiaxing1234的博客 - CSDN博客  https://blog.csdn.net/dijiaxing1234/article/details/81230811 真好啊

  10. 【luogu P2762 太空飞行计划问题】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2762 算是拍照那个题的加强下. 输入真的很毒瘤.(都这么说但好像我的过了?) #include <qu ...