当前位置:Gxlcms > PHP教程 > 易宝网上支付平台的PHP接口代码

易宝网上支付平台的PHP接口代码

时间:2021-07-01 10:21:17 帮助过:7人阅读

本代码参照自韩顺平149讲视频后5讲,需要学习的朋友可以参考本代码

这是测试图片:

以下是代码部分:

 1 php
 2 3 4function HmacMd5($data, $key)
 5{
 6 7//需要配置环境支撑iconv,否则中文参数不能正常处理 8$key = iconv("GB2312", "UTF-8", $key);
 9$data = iconv("GB2312", "UTF-8", $data);
10$b = 64;
11if (strlen($key) > $b) {
12$key = pack("H*", md5($key));
13    }
14$key = str_pad($key, $b, chr(0x00));
15$ipad = str_pad('', $b, chr(0x36));
16$opad = str_pad('', $b, chr(0x5c));
17$k_ipad = $key ^ $ipad;
18$k_opad = $key ^ $opad;
19returnmd5($k_opad . pack("H*", md5($k_ipad . $data)));
20}
21//我们把易宝支付要求怎样生成一个签名串
22    //把各个请求参数凭借作为$data传入: $key 就是易宝给商家分配的密钥2324 ?>

common.php

 1 
 2 
 3 
 4 
 5 
27 

pay.php

 1 
 2 
 3 
 4 
 5 php
 6include 'common.php';
 7// 这里我们获取用户提交的信息
 8 9    // 1.获取订单号10$p0_Cmd = "Buy";
11$p1_MerId = "10001126856";
12$p2_Order = $_REQUEST['p2_Order'];
13$p3_Amt = $_REQUEST['p3_Amt'];
14$p4_Cur = "CNY";
15// 商品名称16$p5_Pid = "";
17$p6_Pcat = ""; // 商品种类18$p7_Pdesc = ""; // 商品介绍
19    // 只是易宝支付成功后,给url返回信息20$p8_Url = "http://loaclhost/FUCKPHP/onlinezhifu/res.php";
21$p9_SAF = "0"; // 送货地址22$pa_MP = ""; // 额外介绍23$pd_FrpId = $_REQUEST['pd_FrpId']; // 支付通道24$pr_NeedResponse = "1"; // 应答机制
25    // 我们把请求参数一个一个拼接(拼接的时候,顺序很重要!!)26$data="";
27$data=$data.$p0_Cmd;
28$data=$data.$p1_MerId;
29$data=$data.$p2_Order;
30$data=$data.$p3_Amt;
31$data=$data.$p4_Cur;
32$data=$data.$p5_Pid;
33$data=$data.$p6_Pcat;
34$data=$data.$p7_Pdesc;
35$data=$data.$p8_Url;
36$data=$data.$p9_SAF;
37$data=$data.$pa_MP;
38$data=$data.$pd_FrpId;
39$data=$data.$pr_NeedResponse;
4041$merchantKey ="69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl";
42// hmac是签名串,是用于易宝和商家互相确认的关键字
43    // 这里我们需要使用算法来生成(md5-hmac算法)44$hmac = HmacMd5($data,$merchantKey);
45 ?>
46             你的订单号是:echo$p2_Order;  ?>支付的金额是echo$p3_Amt; ?>
47             
48 
65 

payConfirm.php

 1 php
 2include 'common.php';
 3//获取从易宝支付网关返回的信息 4$p1_MerId = "10001126856";
 5$r0_Cmd = $_REQUEST['r0_Cmd'];
 6$r1_Code = $_REQUEST['r1_Code'];
 7$r2_TrxId = $_REQUEST['r2_TrxId'];
 8$r3_Amt = $_REQUEST['r3_Amt'];
 9$r4_Cur = $_REQUEST['r4_Cur'];
10$r5_Pid = $_REQUEST['r5_Pid'];
11$r6_Order = $_REQUEST['r6_Order'];
12$r7_Uid = $_REQUEST['r7_Uid'];
13$r8_MP = $_REQUEST['r8_MP'];
14$r9_BType = $_REQUEST['r9_BType'];
15$hmac = $_REQUEST['hmac'];
1617// 拼接18$res_src = "";
19$res_src = $res_src . $p1_MerId;
20$res_src = $res_src . $r0_Cmd;
21$res_src = $res_src . $r1_Code;
22$res_src = $res_src . $r2_TrxId;
23$res_src = $res_src . $r3_Amt;
24$res_src = $res_src . $r4_Cur;
25$res_src = $res_src . $r5_Pid;
26$res_src = $res_src . $r6_Order;
27$res_src = $res_src . $r7_Uid;
28$res_src = $res_src . $r8_MP;
29$res_src = $res_src . $r9_BType;
30$merchantKey = "69c1522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4P1";
31// 对返回的结果进行MD5-hmac加密处理,和返回的hmac签名串比较32if (HmacMd5($res_src, $merchantKey) == $hmac) {
33if ($r1_Code == 1) {
34if ($r9_BType == 1) {
35echo '交易成功!';
36echo '订单号为' . $r6_Order . '支付成功!' . '所付金额是' . $r3_Amt . '易宝支付订单号' . $r2_TrxId;
37echo '
浏览器重定向'; 38 } elseif ($r9_BType == 2) { 39echo 'success'; 40echo '
交易成功!'; 41echo '
服务器点对点通讯'; 42 } 43 } 44 } else { 45echo '签名被篡改了'; 46 } 4748 ?>

res.php

以上就介绍了易宝网上支付平台的PHP接口代码,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行