集成第三方支付的流程

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

    一个支付流程的数据流动:客户在网上商店挑选商品、点击支付,网站将用户重定向到第三方支付平台的支付网关,并且将订单号、金额等信息通过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

文章出处:https://blog.csdn.net/zhulongxi/article/details/73550423

猜你喜欢

转载自blog.csdn.net/zhen_hero/article/details/82313639