今天我们学习网上支付的实现.这个功能在网上商城等交易平台上是基本的功能.实现起来不难,却很实用.我们很有必要掌握好今天学习的知识.运用到我们今后 的工作中去.
1. 网上支付两种接入方案
--直接与银行对接
优点:因为直接与银行进行财务结算,交易资金结算比较安全。适合资金流量比较大的 企业,这种方案适合于:每月结算金额佰万以上的企业。
缺点:开发工作量比较大,而且银行会不定期升级交易系统,随着银行系统的升级,企业也需要作 相应改动,所以维护工作量也是比较大的,而且企业每年还需要向银行交纳一定数量的接口使用费。
--通过中间公司间接与银行对接
优点:开发 工作量较少,因为使用的是中间企业提供的接入规范,所以银行升级系统,不需要企业作相应修改,除非中间企业的接入规范发生了改变,企业才作相应修改。相对 前一种接入方案,这种方案的维护工作量比较少的。因为只与一家企业对接,所以接入费用相对比较低。这种方案适合于:每月结算金额在几十万以下的中小企业。
缺 点:因为是与中间企业进行资金结算,目前所有中间企业都是私企,资金安全是个大问题。
2.目前在国内做的比较好的中间支付公司:
1) 首信易支付:http://www.beijing.com.cn/
每年需要交纳一定的接口使用费,并且从交易金额中扣除1%的手续费。像当当 网、红孩子、京东商城使用了首信易支付。
2)易宝支付: http://www.yeepay.com/
接入免费,只从交易金额中扣除 1%的手续费。像盛大、 e龙网、巴巴运动网使用了易宝支付。
3.易宝支付接入规范
1)MD5-hmac:
hmac 是一种秘密的密钥验证算法。hmac 提供的数据完整性和源身份验证完全取决于密钥分配的范围。如果只有发起者和接收者知道hmac密钥,那么这就对两者间发送的数据提供了源身份验证和完整性 保证。
2)MD5-hmac的实现
是由易宝提供的DigestUtil工具类.不需要我们自己实现.只要按照要求传入参数得到结果就行. 这个类在网上也可以下载到.
5.流程(分为两个部分)
1)发起支付请求
使用GET/POST方式向支付网关发起HTTP请求.
支付 网关就是一个路径.
向支付网关发送支付请求要带一些参数.
-支付方式:p0_Cmd,还有电话支付等,所有要有所区别.
-商家 ID:p1_MerId,在申请的时候由易宝给的.
-交易结果通知地址:p8_Url,为下面接受支付结果信息使用的.
等等...在易宝 支付接入规范中,有详细的说明,只要按照要求执行就好了.
-应答机制:0,判断响应码,要是200就表示支付结构信息通知你了.1,获取服务器返 回的success.
2)接受支付结果信息
获取银行给商家返回的信息.
各个参数的名称在易宝支付接入规范中都有说明.
特 别要注意的:接收处理订单的时候,要注意对订单的状态进行判断.否则会有表单重复提交的问题.交一次钱,刷新页面就会多次购买.
总结:
--发出GET 或POST请求都行
--页面要是GBK/GB2312编码的.
--发送的参数请求不是自己随便起的,是接入规范中定义好的.
-- 易宝提供的密钥一定不要让第三方知道.
--在生成MD5-HMAC要按照顺序,并且值不能是Null
--引导用户的浏览器重定向的方式.
-- 是生成MD5码的时候,顺序要按照规定.
传智播客--网上支付之易宝支付接入规范
最新推荐文章于 2021-02-27 20:33:04 发布