微信跨公众号支付(appid 与 openid 不匹配)-koa

实现不同主体公众号的跨公众号支付原理如下

1、使用公众号的 appid 收款
2、公众号的 appid 需要和商户号绑定
3、用第2步得到的 appid 获取用户的 openid

要在 a主体 的公众号用 b主体appid 来获得用户的 openid,只需要将获取 openid 时的 appid 设为 b主体的 appid 即可。
其本质是将 appidopenid 一一对应

示例如下
在 a主体 公众号中需要支付的页面进行一次获取 code 的重定向,获取 code 的 url 中 appid 为 b 主体的 appid,后端拿 code 获取 openid 时也用 b主体 公众号的 appidappsecret

其实只要理解了微信官方的网页授权机制就很容易理解,在获取code之前构造了类似下面的url

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8888888888888888&redirect_uri=http://mascot.duapp.com/oauth2.php&response_type=code&scope=snsapi_base&state=1#wechat_redirect

url 中的 appid 就是微信官方验证依据,当我们获取 openid 的时候回传三个参数,appidappsecretcode,这时微信官方就会拿 code 去找之前 url 内的 appid ,来对比和 code 一起传过去的 appid,如果一致就成功,如果不一致,则提示错误。

而跨公众号支付也是一样,让openid和appid一一匹配

注意事项:
1、需要在收款公众号appid下配置可访问的回调域名(web安全域名/js安全域名/业务域名)
2、在商户号的开发配置中设置支付页面的url,否则不能完成支付

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值