zoukankan      html  css  js  c++  java
  • 第三方支付集成

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

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

     

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

  • 相关阅读:
    找出占用磁盘空间最大的前10个文件或文件夹
    把inline函数的定义放在头文件中
    判断是大端字节序还是小端字节序
    在source insight 中添加系统字体
    C++ inline 函数
    标准I/O函数库的三类缓冲
    内存分配失败错误处理
    P1765 手机
    P1321 单词覆盖还原
    P1308 [NOIP2011 普及组] 统计单词数
  • 原文地址:https://www.cnblogs.com/jiekzou/p/4415776.html
Copyright © 2011-2022 走看看