1.简单的图解(如上所示)
易宝支付与支付宝是不一样的,但也有类似之处,支付宝是专门为淘宝软件开发的一套机制,资金会在中间支付公司(支付宝)停留,等待顾客确认,当顾客确认后,才会真正扣钱。而易宝支付时,资金不会在中间公司停留,这是两者最大的区别。
如果有什么不懂的,可以去查看 “易宝支付产品通用接口帮助文档”。
注:这些参数在使用时是固定的,是各大银行规定好的,使用时不可改变。
***webpay1.php
<html> <head> <meta http-equiv="content-type"content="text/html charset=utf-8"/> </head> <form action="webpay2.php"method="POST"> <table> <tr> <td colspan="4"> 订单号:<input type="text"name="p2_Order"/> 支付金额:<input type="text"name="p3_Amt"/> </td> </tr> <tr> <td colspan="4"> 请选择支付方式: </td> </tr> <tr> <td> <input type="radio"name="pd_FrpId" value="CMBCHINA-NET"/>招商银行 </td> <td> <input type="radio"name="pd_FrpId"value="ICBC-NET"/>工商银行 </td> <td> <input type="radio"name="pd_FrpId"value="ABC-NET"/>农业银行 </td> <td> <input type="radio"name="pd_FrpId"value="CCB-NET"/>建设银行 </td> </tr> <tr> <td colspan="4"> <input type="submit"value="确认支付"/> </td> </tr> </table> </form> </html>
webpay2.php
<html> <head> <meta http-equiv="content-type"content="text/html charset=utf-8"/> </head> <?php include_once "common.php"; $p0_Cmd="Buy"; $p1_MerId="10001126856"; $p2_Order=$_REQUEST['p2_Order']; $p3_Amt=$_REQUEST['p3_Amt']; $p4_Cur="CNY"; $p5_P; $data=$data.$p0_Cmd; $data=$data.$p1_MerId; $data=$data.$p2_Order; $data=$data.$p3_Amt; $data=$data.$p4_Cur; $data=$data.$p5_Pid; $data=$data.$p6_Pcat; $data=$data.$p7_Pdesc; $data=$data.$p8_Url; $data=$data.$p9_SAF; $data=$data.$pa_MP; $data=$data.$pd_FrpId; $data=$data.$pr_NeedResponse;
//这是易宝为商务提供的接口,也是固定不变的,不可以随意更改。
//建议:使用时主义其中 “1”和“l”的区别,在本页中你可以区分的很清楚,但在ide中很难区分,我就是因为这个问题出错,整整查了一两个小时的错误,却无从查起。查的人都要崩溃了。 $merchantKey="69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl"; $hmac=HmacMd5($data,$merchantKey); ?>
您的订单号是<?php echo $p2_Order;?>支付的金额是<?php echo $p3_Amt; ?> <form action="https://www.yeepay.com/app-merchant-proxy/node"method="post"> <input type="hidden"name="p0_Cmd"value="<?php echo $p0_Cmd;?>"/> <input type="hidden"name="p1_MerId"value="<?php echo $p1_MerId;?>"/> <input type="hidden"name="p2_Order"value="<?php echo $p2_Order;?>"/> <input type="hidden"name="p3_Amt"value="<?php echo $p3_Amt;?>"/> <input type="hidden"name="p4_Cur"value="<?php echo $p4_Cur;?>"/> <input type="hidden"name="p5_Pid"value="<?php echo $p5_Pid;?>"/> <input type="hidden"name="p6_Pcat"value="<?php echo $p6_Pcat;?>"/> <input type="hidden"name="p7_Pdesc"value="<?php echo $p7_Pdesc;?>"/> <input type="hidden"name="p8_Url"value="<?php echo $p8_Url;?>"/> <input type="hidden"name="p9_SAF"value="<?php echo $p9_SAF;?>"/> <input type="hidden"name="pa_MP"value="<?php echo $pa_MP;?>"/> <input type="hidden"name="pd_FrpId"value="<?php echo $pd_FrpId;?>"/> <input type="hidden"name="pr_NeedResponse"value="<?php echo $pr_NeedResponse;?>"/> <input type="hidden"name="hmac"value="<?php echo $hmac;?>"/> <input type="submit"value="确认网上支付"> </form> </html>
common.php
此函数是一个固定的易宝生成密码的算法,直接用就可以了。
<?php function HmacMd5($data,$key){ $key=iconv("GB2312","UTF-8",$key); $data=iconv("GB2312","UTF-8",$data); $b=64; if(strlen($key)>$b){ $key=pack("H*",md5($key)); } $key=str_pad($key,$b,chr(0x00)); $ipad=str_pad('',$b,chr(0x36)); $opad=str_pad('',$b,chr(0x5c)); $k_ipad=$key ^ $ipad; $k_opad=$key ^ $opad; return md5($k_opad . pack("H*",md5($k_ipad . $data))); }
/*$merchantKey="69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl"; echo "val=".HmacMd5("hello",$merchantKey);*/ ?>
res.php
<?php echo "支付成功"; ?>
注运行截图:
注:这次开发是我个人亲自实验过的,所以尝试时请注意输入的支付金额,是真的会扣除,不要随意尝试哟!否则如果你不听话,瞬间成为无产阶级,请不要怪我!!!!!!!!
本篇分享到此结束。
革命尚未成功,同志仍需努力!
|
请发表评论