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_Pid="";
$p6_Pcat="";
$p7_Pdesc="";
//网易支付成功后,给url返回信息
$p8_Url="http://localhost:80/res.php";
$p9_SAF="0";
$pa_MP="";
$pr_NeedResponse="1";
$pd_FrpId=$_REQUEST['pd_FrpId'];
注:以上13个参数是易宝支付规定好的,顺序也必须一致,顺序错了会引起下一步的密码生成错误,将无法开发成功。需要去查手册。

$data="";
$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 "支付成功";
?>

注运行截图:

注:这次开发是我个人亲自实验过的,所以尝试时请注意输入的支付金额,是真的会扣除,不要随意尝试哟!否则如果你不听话,瞬间成为无产阶级,请不要怪我!!!!!!!!

本篇分享到此结束。

革命尚未成功,同志仍需努力!

转载于:https://www.cnblogs.com/aasu/p/9126095.html

开发自己的网上支付案例代码(易宝支付php)相关推荐

  1. java在线支付---09,10,11,12_在线支付_分析易宝支付网关的应答协议与处理代码,完成用于处理支付响应的Servlet的初步编写和调试,完成处理支付网关响应结果的Servlet,支付实现

    09_在线支付_分析易宝支付网关的应答协议与处理代码 创梦综合技术qq交流群:CreDream:251572072 对支付结果返回的数据加密生成md5-hmac public static boole ...

  2. java在线支付---03_分析易宝支付网关的请求协议

    03_分析易宝支付网关的请求协议 创梦综合技术qq交流群:CreDream:251572072 -------------------------------------- 1.buildHmac() ...

  3. java在线支付---04_编写易宝支付的客户端加密工具类

    2013/5/30 04_编写易宝支付的客户端加密工具类 创梦综合技术qq交流群:CreDream:251572072 ---------------------------------------- ...

  4. java在线支付---02_分析易宝支付的工作流程

    2013/5/30 02_分析易宝支付的工作流程 Java技术qq交流群:JavaDream:251572072 ------------------------------------------- ...

  5. 传智播客--网上支付之易宝支付接入规范

    今天我们学习网上支付的实现.这个功能在网上商城等交易平台上是基本的功能.实现起来不难,却很实用.我们很有必要掌握好今天学习的知识.运用到我们今后 的工作中去. 1. 网上支付两种接入方案 --直接与银 ...

  6. 易宝支付[钱麦](附代码)

    想到支付首先要知道,就是调用以及回调接口. 1:准备工作导入易宝支付SDK.jar到自己公司私服(公司使用的nexus搭建私服操作如下) 查看/存储库:库(Repositories)----在对应的库 ...

  7. 在线支付(易宝支付)

    第三方支付方式:易宝支付. 支付过程图解: 相关资料: 易宝支付产品通用接口帮助文档点击打开链接 使用步骤:     ①src下面放入支付测试用的merchantInfo.properties(包含商 ...

  8. 【SSH网上商城项目实战21】从Demo中看易宝支付的流程

    这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后,再做实际的开发,因为是一个Demo,所以我没有考虑一些设计模式的东西,就是直接实现支付功能.实现支付功能需要易宝给我们提供的AP ...

  9. java 对接易宝支付完成真实网上支付

    java 对接易宝支付完成真实网上支付 目录结构 index.jsp界面 跳转界面 支付界面 确认界面 支付成功界面 回调界面 源码 学习资源推荐 https://blog.csdn.net/qq_4 ...

最新文章

  1. python拟合求参_机器学习作业(四)神经网络参数的拟合——Python(numpy)实现
  2. Iptables架构
  3. 10 分钟上手 Vim,常用命令大盘点
  4. python 正交矩阵_协方差矩阵的计算、PCA
  5. c 按输入的字母来输出对应效果
  6. 大容量内存的电脑提速技巧
  7. MYSQL索引优化(索引失效场景)
  8. fckeditor 2.6 php,php下 FCKeditor 2.6.6的使用和配置
  9. Zabbix SNMP traps使用
  10. jpg转pdf转换器注册码
  11. 使用xftp怎么向服务器传输文件,如何使用文件传输软件Xftp
  12. 超详细的Python面向对象编程讲解
  13. win10计算机未连接到网络适配器,Windows 10 Hyper-V网络适配器未连接
  14. 联想电脑安装虚拟机出现不可恢复的错误
  15. 骨传导耳机是利用什么原理听歌?什么骨传导耳机好用
  16. 小程序学习笔记5---导航跳转
  17. 阿里云ECS数据迁移到阿里云OSS
  18. 手机无法被计算机识别,手机usb无法被电脑识别怎么办_电脑无法识别手机usb设备的解决方法...
  19. 信息安全数学基础(仅供个人复习使用)
  20. 离线地图开发下实现GPS定位,坐标纠偏回放,偏离路线

热门文章

  1. 如何用vscode配置java
  2. pku 1160 Post Office
  3. C语言与JAVA内存管理_深入理解C语言内存管理
  4. 知乎推荐10个黑科技网站,相信你在朋友面前会一鸣惊人
  5. 黑马程序员匠心之作|C++教程从0到1入门编程(60 指针-const修饰指针61 指针-指针和数组62 指针-指针和函数63 指针-指针配合数组和函数的案例)
  6. 大专拿不到计算机考证能毕业吗
  7. ulimit -c unlimited 详解
  8. 键盘输入一个整数(1-7)判断是星期几
  9. 声明变量储存个人信息
  10. 如何正确认识VLAN 接口10与VLAN10?