The PHP interface code of Yibao online payment platform, Yibao online payment
This code refers to the last 5 lectures from Han Shunping 149 video. Friends who need to learn can refer to this code
This is a test picture:

The following is the code part:

1 php
2
3
4 function HmacMd5(
$data,
$key)
5 {
6
7 //The environment needs to be configured to support iconv, otherwise Chinese parameters cannot be processed normally
8 $key =
iconv("GB2312", "UTF-8",
$key);
9 $data =
iconv("GB2312", "UTF-8",
$data);
10 $b = 64
;
11 if (
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;
19 return md5(
$k_opad .
pack("H*",
md5(
$k_ipad .
$data)));
20 }21 //We asked Yibao payment how to generate a signature string
22 //Pass each request parameter in as $data: $key is the key assigned by Yibao to the merchant
23
24 ?>
common.php

1
2
3
4
5
27
pay.php

1
2
3
4
5 php
6 include 'common.php'
;
7 // Here we get the information submitted by the user
8
9 // 1. Get the order number
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 // Product Name
16 $p5_Pid = ""
;
17 $p6_Pcat = "";
// Product Type
18 $p7_Pdesc = "";
// Product introduction
19 // Just after Yibao payment is successful, information will be returned to the url
20 $p8_Url = "http://loaclhost/FUCKPHP/onlinezhifu/res.php"
;
21 $p9_SAF = "0";
// Shipping Address
22 $pa_MP = "";
// Additional introduction
23 $pd_FrpId =
$_REQUEST['pd_FrpId'];
// Payment Channel
24 $pr_NeedResponse = "1";
// Response mechanism
25 // We splice the request parameters one by one (the order is very important when splicing!!)
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;
40
41 $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
2 include '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'
];
16
17 // 拼接
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签名串比较
32 if (HmacMd5(
$res_src,
$merchantKey) ==
$hmac) {
33 if (
$r1_Code == 1
) {
34 if (
$r9_BType == 1
) {
35 echo '交易成功!'
;
36 echo '订单号为' .
$r6_Order . '支付成功!' . '所付金额是' .
$r3_Amt . '易宝支付订单号' .
$r2_TrxId;
37 echo '
浏览器重定向'
;
38 }
elseif (
$r9_BType == 2
) {
39 echo 'success'
;
40 echo '
交易成功!'
;
41 echo '
服务器点对点通讯'
;
42 }
43 }
44 }
else {
45 echo '签名被篡改了'
;
46 }
47
48 ?>
res.php
http://www.bkjia.com/PHPjc/1010337.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1010337.htmlTechArticle易宝网上支付平台的PHP接口代码,易宝网上支付 本代码参照自韩顺平149讲视频后5讲,需要学习的朋友可以参考本代码 这是测试图片: 以下...
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn