0


招商银行一网通支付(php接入招商银行一网通支付)

接入招商银行的目的,可以得到银行的补贴。生活中我在商城停车扫码付费时,可以选择招商银行一网通支付,停车费8元,可以随机减1到3元。补贴是银行设置的,是银行处理的,不需要商户操作(这点做的很好,比其它银行好多了),用户在付钱之前并不知道减多少钱,付款后才能知道减了多少,这种情况被用户薅羊毛的可能性小,并且银行来控制优惠,也可以减少商户的风险。

商户平台:https://pay.cmbchina.com
文档:http://openhome.cmbchina.com/PayNew/pay/home
签名和验签文档:http://openhome.cmbchina.com/PayNew/pay/doc/cell/H5/SignatureCheck
开发时间:1到2天
开发时,银行会创建沟通群,我在开发完成时测试帐号,有些不能使用,和银行沟通,银行回复很快,基本可以马上得到解决。
有详细的文档,无php开发demo

开发流程:
1.一网通支付API,http://openhome.cmbchina.com/PayNew/pay/doc/cell/H5/OneCardPayAPI
生成对应的字段,生成一个签名(没有demo,要自己写,写个签名函数即可,如果不会写可以找我要,因为是自己写的也在使用中,不方便公开),通过from表单跳转到银行即可。

2.支付成功回调,http://openhome.cmbchina.com/PayNew/pay/doc/cell/H5/SuccessPayAPI
收到到数据验证签名,执行自己的操作即可
//验签
function cmbchinapay_verification($para,$sign) {
global $global_config_data;

ksort($para);
 $arg  = "";
 foreach ($para as $key=>$val) {
     $arg.=$key.'='.$val.'&';
 }
 //去掉最后一个&字符
 $arg = substr($arg,0,count($arg)-2);
 //如果存在转义字符,那么去掉转义
 if(get_magic_quotes_gpc()){
     $arg = stripslashes($arg);
 }
 //处理证书
 $pem = chunk_split($global_config_data["cmbchinapay_publicKey"], 64, "\n");
 $pem = "-----BEGIN PUBLIC KEY-----\n" . $pem . "-----END PUBLIC KEY-----\n";
 $pkid = openssl_pkey_get_public($pem);
 //验证
 $ok = (bool)openssl_verify($arg, base64_decode($sign), $pkid, OPENSSL_ALGO_SHA1);
 Common::writeLog("cmbchinapay_verification","str:{$arg},res:{$ok}");
 return $ok;

}

标签:

本文转载自: https://blog.csdn.net/creatorwpy/article/details/117519514
版权归原作者 creatorwpy 所有, 如有侵权,请联系我们删除。

“招商银行一网通支付(php接入招商银行一网通支付)”的评论:

还没有评论