浅谈聚合支付之公众号支付

最近没有做什么总结,所以想着总结一下聚合支付的一些常见的支付场景。我会分几篇文章,简单的描述一下我所了解的支付场景。

国内的支付机构来讲,微信和支付宝对生活侵入很深。一百多家的支付机构中,财付通和支付宝占据了百分之七八十以上的市场份额。所以,很多的聚合支付场景,都是基于支付宝和微信的交易来做的,他们已经有了自己的生态。而,微信、支付宝所谓的多种交易场景,又是基于传统的快捷支付(现在网联,将快捷支付定义为协议支付)来实现的。所以,现在疯狂的线上支付,其实都是基于快捷支付的。

因为支付宝和微信对第三方的服务商的审核,是非常的严格的。所以,又出现了各种各样的模式:具有服务商身份的直连,通过第三方银行来接入的间连。无论怎么连接,在整个支付过程中,用户是无感知的。作为技术开发人员来讲,基本也是感觉不到区别的。无非是请求接口、参数和返回参数的区别。

微信公众号支付的流程分为两个部分
  • 授权流程,即利用OAuth2协议获取用户的openId

具体的授权流程,请移步微信的文档:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

  • 支付流程

流程图

支付宝公众号支付的流程分为两个部分
  • 授权流程,即利用OAuth2协议获取用户的openId

具体的授权流程,请移步支付宝的文档:
https://docs.open.alipay.com/289/105656

服务商与商户自己接入的区别

服务商模式(接口文档), 通过这个可以看出,当以服务商的模式接入微信时,其实是商户的交易挂靠在服务商的商户号下。

微信公众号注意的点:
  • 获取用户的OpenId的授权流程中,重定向地址是商户的,且只能配置一个
  • 公众号支付的时候,需要在指定的URL下进行,微信称为“支付授权目录”。很多时候测试阶段的问题,都出在支付授权目录的配置上
    • 例如,你支付的url为:https://baidu.com/pay?id=123 , 那么一般需要配置 https://baidu.com/pay 为授权目录
    • 例如,你支付的url为:https://baidu.com/pay/now , 那么一般需要配置 https://baidu.com/pay 为授权目录
  • 服务商的直连和间连模式,会出现支付参数的区别。比如,你通过某银行间连到微信的时候,可能返回的支付参数中使用的是RSA签名,那么可能存在 + 号等特殊字符,就需要特别注意。
支付宝公众号注意的点:
  • 支付宝公众号支付的限制很少,交易创建成功后,返回支付宝订单。按照特定的方式,在支付宝内拉起支付就可以。

可能只是把微信和支付宝的接口文件罗列了一下,有感兴趣的朋友,可以评论里讨论

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.