第三方支付集成

    看一个典型的在线支付流程。第三方支付平台就是提供网上支付的平台,由第三方支付平台来和各个银行进行对接,商户只要和第三方支付平台对接即可,降低了商户的技术难度和接入门槛。常见的第三方支付平台:支付宝、网银在线、快钱、财付通、易宝等。

    一个支付流程的数据流动:客户在网上商店挑选商品、点击支付,网站将用户重定向到第三方支付平台的支付网关,并且将订单号、金额等信息通过QueryString传递给支付网关,用户在第三方支付平台支付成功后,第三方支付平台会自动访问商户的确认页面,将支付成功的订单号等信息通过QueryString传递给确认页面,这样商户网站就能得到支付成功的通知了。以服装卖场中的收银台流程类比(漏洞:自己偷偷盖假章,防范办法:收银台和商户约定一个密钥“天灵灵”,然后收银台在小票上根据“小票编号”+“金额”+密钥计算出md5写到小票上)。

 

    todo:模拟器增加1 3 5分钟重复通知商户支付成功。重复通知的话是支付宝向商户网站发请求,这时候支付宝服务器是客户端。商户号不存在的问题解决
Response.redirect过程商户网站、浏览器、支付宝的请求流程。注意Transfer和Redirect的区别。retun.aspx页面的参数是支付宝传递过来的。
虚拟商品(积分、充值卡)就直接增加积分、充值了。物理商品(鲜花、图书)就把订单标记为已支付,然后网站工作人员处理订单、发货,再把订单状态标记为“已发货”(业务员手动完成),最后用户确认收货。

    第三方支付平台都提供了集成文档和示例代码,拿过来改改就行,当然如果你有兴趣的话,可以看下这些示例代码。至于具体的调用和实现,我就没必要讲了,因为支付宝有现成的Demo和灰常详细的api文档,我们要思考的是如何和订单系统结合。

    网店不是直接向支付宝服务器发请求,而是让用户重定向到支付宝服务器去支付。就像服装店让客户自己拿着小票去交钱一样。

每个商家的密钥都和其他商家不一样,避免了“整个服装城用一个hahah”的漏洞。要把订单编号也加入md5的运算,防止用“001的返回小票领002号订单的商品的漏洞”。商户端的MD5算法要和支付宝一样,否则会报错,这个MD5算法是支付宝开发包中提供的。

开发包和密钥的获取,我们可以访问支付宝官网技术支持页面:https://b.alipay.com/order/techService.htm

 

下载相应的接口包,里面有各种语言的实例代码和详细的API文档。

注意事项:

1、  订单号是商家确定的。

2、  参数顺序无所谓。

3、  支付宝就是“收银台”,很形象,支付宝就是负责收银,商家引导客户去收银台。收费单据就是返回的值。

4、  不要直接访问模拟器主页,模拟器主页就是相当于支付宝的主页

模拟器整合方法

1、解压PaySiteSimulator.zip,如下:

运行Casini,把PaySiteSimulator当成网站运行,8080端口。这个相当于搭建支付宝模拟器网站,这个网站不需要咱们开发。

访问模拟器的首页:“支付宝网站后台(支付宝工作人员用)”是用来分配商户编号的,支付宝商户后台是供商户修改密钥的。

 

点击Start按钮,然后访问模拟器主页

 

2、修改C:\WINDOWS\system32\drivers\etc\hosts,把www.zhifubao.com映射到127.0.0.1

 

3、按照AliPay/支付宝接口集成文档.进行集成测试。注意:那个支付宝模拟器是模拟支付宝的网站,不是商户的程序。

posted @ 2015-04-10 21:59  邹琼俊  阅读(3992)  评论(3编辑  收藏
-->