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请求.(https://www.yeepay.com/app-merchant-proxy/node) 支付网关就是一个路径. 向支付网关发送支付请求要带一些参数. -支付方式:p0_Cmd,还有电话支付等,所有要有所区别. -商家 ID:p1_MerId,在申请的时候由易宝给的. -交易结果通知地址:p8_Url,为下面接受支付结果信息使用的. 等等...在易宝支付接入规范中,有详细的说明,只要按照要求执行就好了. -应答机制:0,判断响应码,要是200就表示支付结构信息通知你了.1,获取服务器返回的success. 2)接受支付结果信息 获取银行给商家返回的信息. 各个参数的名称在易宝支付接入规范中都有说明. 特别要注意的:接收处理订单的时候,要注意对订单的状态进行判断.否则会有表单重复提交的问题.交一次钱,刷新页面就会多次购买.总结: --发出GET 或POST请求都行 --页面要是GBK/GB2312编码的. --发送的参数请求不是自己随便起的,是接入规范中定义好的. -- 易宝提供的密钥一定不要让第三方知道. --在生成MD5-HMAC要按照顺序,并且值不能是Null --引导用户的浏览器重定向的方式. -- 是生成MD5码的时候,顺序要按照规定.