Magento 银联新接口插件 以及支付宝即时到账插件 本站开放出售 请联系站长
新一代商户接入用户手册(Version: 2.7)62 页 不得不不说 银联的说说明文档挺详细的 还有 银联的技术服务很到位 邮件回复的挺及时的
然后 DEMO 虽然看起来 挺简陋 不过功能都挺实用的
Magento 1 银联新接口支付插件说明
必要地址说明
获得密匙文件等绝对路径 http://youhostname.com/Chinapay?key=授权码
密匙及配置文件存放路径 app\code\community\Chinapay\Chinapay\Model\WeicotPay\ini
密匙及配置文件存放路径 app\code\community\Chinapay\Chinapay\Model\WeicotPay\ini
支付插件配置
1.将后台导出的证书.pfx 放入到ini 文件夹内 关于银联证书导出 请看银联证书导出项
2.配置 ini 文件夹内 security.properties 文件中的
-证书地址 sign.file= [证书地址 可由 http://youhostname.com/Chinapay?key=授权码 获得]
-证书密码 sign.file.password
3.登录后台 系统->配置->支付方式->银联支付->选择启用
4.配置完成
银联证书导出项
-银联说明文档在开户信里面,如果没有就联系银联运营中心,
-证书.pfx 请自己到银联后台导出
Magento 2 开发中。。。。
新接口地址
测试环境请求地址: http://newpayment-test.chinapay.com/CTITS/service/rest/forward/syn/000000000065/0/0/0/0/0 ? 生产环境请求地址: https://payment.chinapay.com/CTITS/service/rest/forward/syn/000000000065/0/0/0/0/0 ? 0403消费撤销、0203预授权撤销、0204预授权完成撤销、0202预授权完成的交易接收地址如下: ? 测试环境请求地址: http://newpayment-test.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0 ? 生产环境请求地址: https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0
目录结构 及支付流程
/** * WeiCot Framework * User: ajiang * WebSite: WWW.WEICOT.COM * Date: 2016/07/28 0006 * Time: 17:41 * ChianPayTest */ //D:\newcov\htdocs\dev\chinapay_demo\cert -证书存放的地儿 //D:\newcov\htdocs\dev\chinapay_demo\config 配置 文件 //D:\newcov\htdocs\dev\chinapay_demo\cert -证书存放的地儿 //http://dev.com/chinapay_demo/page/pay/b2cPay.php 新接支付表单 提交后 交由 sign.php 签名处理 // http://dev.com/chinapay_demo/sign.php 签名处理 处理完后 跳转到 /page/pay/b2cPaySend.php 提交表单 //引用了 以下方法 include 'util/common.php'; //数据处理 include 'util/SecssUtil.class.php'; //签名方法 $secssUtil = new SecssUtil(); if (! isEmpty($transResvedStr)) { $transResvedStr = $secssUtil->decryptData($transResvedStr); $sendMap[transResveredKey] = $transResvedStr; } if (! isEmpty($cardResvedStr)) { $cardResvedStr = $secssUtil->decryptData($cardResvedStr); $sendMap[cardResveredKey] = $cardResvedStr; } $securityPropFile = $_SERVER['DOCUMENT_ROOT'] . "/chinapay_demo/config/security.properties"; $secssUtil->init($securityPropFile); $secssUtil->sign($sendMap); $sendMap[signatureField] = $secssUtil->getSign(); //http://dev.com/chinapay_demo/page/pay/b2cPaySend.php 进行支付处理
security.properties 文件的一些基础配置
sign.file=D:\newcov\htdocs\dev\chinapay_demo\cert\从后台导出的证书.pfx 建议绝对路径 sign.file.password=证书密码 sign.cert.type=PKCS12 sign.invalid.fields=Signature,CertId verify.file=D:\newcov\htdocs\dev\chinapay_demo\cert\cp_test.cer signature.field=Signature log4j.name=cpLog
注意事项
注意这项[Signature] 如果未配置 者会出现 :交易失败! 错误信息: 报文非空字段为空值。。
签名 | Signature | Y | 商户报文签名信息,报文中的所有字段都参与签名(Signature除外) |
相关
sign.file=D:\newcov\htdocs\dev\chinapay_demo\cert\从后台导出的证书.pfx 建议绝对路径 sign.file.password=证书密码
没有申请交易证书,或交易地址提交错误,交易失败!错误信息:证书未配置
这个报错通常有两个原因,一是没有申请交易证书,二是交易地址提交错误,测试地址和正式地址搞错了。 正式交易证书 用正式地址
附签名验证程序
<?php // require 'SecssFileService.class.php'; require 'util/SecssUtil.class.php'; $securityPropFile="D:/newcov/htdocs/dev/chinapay_demo/config/security.properties"; //配置文件 // $secssUtil = new SecssFileService(); $secssUtil = new SecssUtil(); $secssUtil->init($securityPropFile); $file="D:/newcov/htdocs/dev/chinapay_demo/config/test.txt"; //测试数据 echo "sign start time".date('y-m-d h:i:s',time())."\r\n"; $secssUtil->signFile($file); if("00"===$secssUtil->getErrCode()){ echo "文件签名成功,errcode=[" .$secssUtil->getErrCode()."]\r\n"; }else{ echo "文件签名失败,errcode=[" .$secssUtil->getErrCode()."]\r\n"; } echo "sign end time".date('y-m-d h:i:s',time())."\r\n"; echo "--------------------------------------\r\n"; echo "verify start time".date('y-m-d h:i:s',time())."\r\n"; $secssUtil->verifyFile($file); if("00"===$secssUtil->getErrCode()){ echo "文件验签成功,errcode=[" .$secssUtil->getErrCode()."]\r\n"; }else{ echo "文件验签失败,errcode=[" .$secssUtil->getErrCode()."]\r\n"; } echo "verify end time".date('y-m-d h:i:s',time())."\r\n"; ?>
转载请注明:(●--●) Hello.My Weicot » 银联新一代商户接入新接口-支付 以 Magento银联新接口开发为例