手机APP和PC站点接入中国银联支付

本文介绍了如何将手机APP和PC网站接入中国银联支付。用户在PC站点选择银联支付并输入银行卡号后,通过短信验证完成支付。提供了PC站点采用的B2C无卡快捷支付的PHP demo链接及参考文档,并强调了正式环境的支付地址和安全密钥文件的不同。同时,概述了APP支付服务端的部分代码和异步回调方法。
摘要由CSDN通过智能技术生成

准备工作:

PC站点:

效果:

 选择支付金额,充值平台选择银联支付,点击立即支付按钮:

页面会跳转到银联支付的界面,如下图

 输入银行卡号后,银行卡号绑定的手机号码需要获取验证码,如下图:

 验证码填写后,确认支付,就代表了支付流程结束。

PC站点采用的是B2C无卡快捷支付方式,

相关的支付PHP demo

链接:https://pan.baidu.com/s/1FXdTUzaxapfDtWFfJYF6VA 
提取码:5nzw

参考文档:https://service.chinapay.com/OSIWeb/online/querybyid.action?id=4&mark=1

需要注意几点:

1:demo给出的支付提交地址是沙盒环境下的地址,站点运营时要改为正式地址。

 2:app支付和pc支付的安全密钥文件不是同一套,商户号也不是同一个。

打开securityapp.properties和securitypc.properties

 

 PC接收参数处理:

 

            $chinapay_pc_merchantid=; //PC端商户号
			if(!$chinapay_pc_merchantid){
				$this->assign("jumpUrl",'/');
        		$this->assign('msg','未配置商户号');
				$this->error("未配置商户号");
			}

			$orderid = $uid."".date("mdHis")."".rand(999,9999);

			/生成订单信息并写入数据库//
            ……
            /生成订单信息并写入数据库//


			//生成签名
			$sign_data=array(
				'MerId'=>$chinapay_pc_merchantid, //商户号
				'MerOrderNo'=>$orderid, //订单编号
				'OrderAmt'=>$money*100, //订单金额(单位分)
				'TranDate'=>date('Ymd'), //交易日期
				'TranTime'=>date('Hms'), //交易时间
				'BusiType'=>'0001', //业务类型(固定值)
				'Version'=>'20140728', //版本号(固定值)
				'CurryNo'=>'CNY', //交易币种
				'AccessType'=>"0", //接入类型 0:以商户身份接入;1:以机构身份接入
				'AcqCode'=>'000000000000014', //收单机构号
				'MerPageUrl'=>'/Home/Payment/chinapayback', //前台应答接受地址
				'MerBgUrl'=>'/Home/Payment/chinapay_notify', //后台异步应答接受地址
				'MerResv'=>'MerResv' //商户私有域(商户自定义标识,传值由银联回调时原封不动返回)
			);


			$post_data="source=pc&params=".json_encode($sign_data);


			$url=$getConfigPub['site']."/appapi/index.php?service=User.getChinaPaySignature";
            
            $curl = curl_init();
		    curl_setopt($curl, CURLOPT_URL, $url);
		    curl_setopt($curl, CURLOPT_HEADER, false);
		    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
		    curl_setopt($curl, CURLOPT_NOBODY, true);
		    curl_setopt($curl, CURLOPT_POST, true);
		    curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
		    $sign_result= curl_exec($curl);
		    curl_clo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值