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

注运行截图:

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

本篇分享到此结束。

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

开发自己的网上支付案例代码(易宝支付php)的更多相关文章

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

         转自: https://blog.csdn.net/eson_15/article/details/51447492 这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后, ...

  2. 【Java EE 学习 21 下】【 使用易宝支付接口实现java网上支付功能】

    一.网上支付分为两种情况,一种方法是使用直接和银行的支付接口,另外一种方法是使用第三方支付平台和银行对接完成支付. 1.直接和银行对接. 2.使用第三方支付平台 3.常见的第三方支付平台 二.使用易宝 ...

  3. 易宝支付Demo,生产中封装成简洁的代付接口,不用request如何获取项目运行时的真实路径

    最近项目在做融360引流,涉及到了易宝支付的代扣和代付.易宝官方给出的demo只能简单运行,而且都是通过form表单的形式提交,返回XML格式.同时接口代码都写在了JSP中看起来不友好.项目在生成中想 ...

  4. WordPress按钮秒支付插件发布,支持微信支付,支付宝,银联,京东,苏宁,易宝支付

    痛点: 我们用WordPress建设网站和开发移动应用,有时候我们其实不需要太多的流程,只是需要一个收款通道,但是可能对支持的渠道更加关注,特别是手机应用.所以WordPress按钮秒支付插件诞生了, ...

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

    本代码参照自韩顺平149讲视频后5讲,需要学习的朋友可以参考本代码 这是测试图片: 以下是代码部分: <?php function HmacMd5($data, $key) { //需要配置环境 ...

  6. (转载)Android支付宝支付封装代码

    Android支付宝支付封装代码 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-12-22我要评论 这篇文章主要介绍了Android支付宝支付封装代码,Android支付的时候 ...

  7. 【drp 1】使用易宝实现在线支付

    导读:在很多网站上,都会涉及到在线支付的功能,总所周知的有:淘宝.天猫.京东等等.我们常见的支付方式有支付宝.微信钱包.银行卡支付等.本篇博客,将介绍一种使用易宝第三方软件进行在线支付的功能. 一.基 ...

  8. spring_boot_pay支付宝,微信,银联支付详细代码案例

    spring-boot-pay 支付服务:支付宝,微信,银联详细代码案例(除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项  . 友情提示 ...

  9. php网上支付易宝

    巴巴运动网是通过易宝向招商银行打钱,这个首先易宝是需要审核巴巴运动网的钱来的是否正当不然易宝就成了一个洗钱的工具,这个是犯法的:因为钱的来路不明!财政部是需要抓起来的!所以钱的流向实际上是用户的招商银 ...

随机推荐

  1. memset用法详解

    原文:http://www.cnblogs.com/PegasusWang/archive/2013/01/20/2868824.html 1.void *memset(void *s,int c,s ...

  2. Android 低版本sdk中没有getSupportedPreviewSizes和getSupportedPictureSizes函数怎么办?

    在做camera和SurfaceView做摄像头程序时,需要获取camera支持的相片大小,在低版本sdk中没有getSupportedPictureSizes函数,怎么办呢,请参阅下面的关键代码: ...

  3. dbms_stats应用相关

    Q:     DBMS_STATS.GATHER_SCHEMA_STATS ('schema_name');        使用这个收集统计信息,estimate_percent使用默认值       ...

  4. python数据结构(整理)

    http://www.cnblogs.com/yupeng/p/3413763.html 1. 单链表 链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点 ...

  5. 最详细的Vue Hello World应用开发步骤

    很多Vue的初学者想尝试这个框架时,都被webpack过于复杂的配置所吓倒,导致最后无法跑出一个期望的hello word效果.今天我就把我第一次使用webpack打包一个Vue Hello Worl ...

  6. pg 关于不插入重复字段的方法

    首先在表的某列加入唯一约束 alter table language_pms add CONSTRAINT language_pms_unique unique(xml); insert into l ...

  7. 手把手教你自定义attr

    最近在学习的过程中遇到了自定义的attr和自定义的style.因此各种百度,各种博客的学习,算是有了一个系统的了解.在这里记录下自己的收获. 一.为什么要使用自定义attr以及本文定位 在androi ...

  8. iOS - CocoaPods 和 Carthage 的比较

    CocoaPods 好处? 开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间 在引入第三方库时它可以自动为我们完成各种各样的配置, ...

  9. UVa 11584 - Partitioning by Palindromes(线性DP + 预处理)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  10. JavaScript小游戏--翻牌记忆游戏

    翻牌记忆游戏源码 1.有8张图片,每张图片要放两次,生成如下数组,长为16,[0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7] 其中两两相同的代表两张相同的图片,0对应文件夹image ...