java实现网上在线支付--02_分析易宝支付的工作流程
2017-02-23 17:33
489 查看
02_分析易宝支付的工作流程
1.易宝支付的接入规范:交易过程的加密:MD5-hmac加密
DigestUtil加密类:
使用方法:StringBuffer sValue = new StringBuffer();
sValue.append("lidewei");
sValue.append("08129010");
String hmacMD5 = DigestUtil.hmacSign(sValue.toString(),"123456");
加密后生成一个32位的加密后的字符串。
第一个参数为加密的原文,第二个参数为密钥。
密钥:密钥是企业和易宝公司都知道的。
a.这里首先企业通过加密类对元数据加密,然后发给易宝,那么易宝也会对
这段数据进行加密,加密之后会拿着加密后生成的字串和企业发送来的
字串进行对比,如果一样的话那么说明信息没有被串改过,注意双方生成
加密后元数据的时候,用的相同的密钥所以生成的加密后数据也应该是一
致的.这样就可以验证元数据是否被改过。
b.支付流程
1、通过http请求方式向易宝支付同关发起一个请求,
请求可以是post、get
请求地址:https://www.yeepay.com/app-merchant-proxy/node
一般易宝要求页面要使用GBK/GB2312编码
2、以下以post请求方式为例,
<form name="yeepay" action = "https://www.yeepay.com/app-merchant-proxy/node" method="post"> 这里省略了一些请求参数 <input type="hidden" name="p8_url" value="http://wwww.credream.com/payment/response"> <!--MD5-hmac验证码--> <input type="hidden" name="hmac" value="2a8de8147356d97c364d1874410528dd"> </form>3.对交易流程的解析:
(1).首先当企业需要交易的时候,会把自己需要发送给易宝支付的数据进行加密,
value="2a8de8147356d97c364d1874410528dd"这是加密后的数据,
http://wwww.credream.com/payment/response这是加密之前的元数据,
(2).发给易宝的时候,需要把加密前和加密后的数据都发送给易宝。
当易宝接收到企业的加密前的数据http://wwww.credream.com/payment/response
时,会对数据进行加密:得到加密后的数据:2a8de8147356d97c364d1874410528dd
然后会拿易宝进行加密后的数据,和企业向易宝发来的加密后的数据进行比对,如果
相同的话,说明数据没有被串改过。
(3).注意:企业和易宝都是用相同的密钥进行加密的。
4.当验证成功的时候,易宝会把连接重定向到银行进行支付,当支付完成后,银行会
返回到易宝支付,然后,易宝支付会把支付的结果返回给企业,企业接收到结果后
会进行处理。
相关文章推荐
- java在线支付---02_分析易宝支付的工作流程
- java实现网上在线支付--03_分析易宝支付网关的请求协议
- java实现网上在线支付--09,10,11,12_分析易宝支付网关的应答协议与处理代码,完成用于处理支付响应的Servlet的初步编写和调试,完成处理支付网关响应结果的Servlet,支付实现
- java实现网上在线支付--04_编写易宝支付的客户端加密工具类
- java在线支付---09,10,11,12_在线支付_分析易宝支付网关的应答协议与处理代码,完成用于处理支付响应的Servlet的初步编写和调试,完成处理支付网关响应结果的Servlet,支付实现
- java实现网上在线支付--06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求
- java实现网上在线支付
- java实现网上在线支付
- openVswitch(OVS)实现之源代码分析之工作流程
- java实现网上在线支付--01_在线支付功能的演示与概述
- java实现网上在线支付
- java实现网上在线支付
- !金尚网上商城-01、Web项目开发的一般流程》》02、分析与设计之架构分析与
- java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求
- 借助易宝实现Java版网上在线支付
- java实现网上在线支付
- java实现网上在线支付
- java实现网上在线支付--05_编写用于准备请求数据的Servlet
- java在线支付---03_分析易宝支付网关的请求协议
- java深入分析I/O流工作机制02-I/O 类库的基本架构