这是测试图片:
以下是代码部分:
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
6 7 8 9 订单号:10 支付金额:11 12
13 14 请选择支付银行 15
16 17 招商银行 18 工商银行 19 农业银行 20 建设银行 21
22 23 24
25
26 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 你的订单号是:支付的金额是47 48
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 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教程有兴趣的朋友有所帮助。
