微信公众号支付是微信支付中比较常用的一种支付方式,同时,也是开发起来相对比较复杂的一种支付方式。
要成功接入微信公众号支付,首先,你要在微信公众号后台的公众号设置里设置网页授权域名,如下:
然后,你需要在关联的商户后台里,设置公众号支付的支付授权目录,如下:
接着,你需要将用户导至微信域下,通过静默授权获取用户openid,如下:
其中,redirect_uri为你用于获取openid的地址。
最后,等拿到了openid之后,你才能通过统一下单接口发起微信公众号支付,如下:
实际上接入微信公众号支付总结起来就是两步操作,第一步获取用户openid,第二步发起微信支付。很多时候我们把这两步操作耦合在一起,但其实这两步操作完全可以分开独立操作,甚至你可以把它们当作两个独立服务来处理。从接入操作来看,微信实际上也并没有限制网页授权域名要和支付域名完全一致,例如你将网页授权域名设置为:www.a.com,支付目录设置为:www.b.com,也完全不影响发起支付。
将获取用户openid和发起微信支付独立开来至少有两个好处:
所以,建议在处理的时候这样分开处理。