微信支付:JSSDK用在公众号场景
背景:1.测试环境,使用测试公众号+生产支付商户号,进行测试
2.OpenId:一个微信账号在一个公众号是不会变的,取关后再关注也不会变。
简单理解:OpenId = (微信号+APPID)
问题描述:由于支付是生产环境,必须用生产的配置进行测试。故把生产环境中(手机号A)的OpenId(A12345)同步到测试环境。
绑定关系简单理解为:(手机号A)《=》OpenId(A12345)
这个时候,在测试环境中开发(张三)通过(手机号A)登录并进行微信公众号(JSSDK)支付,是可以成功支付的。
但测试(李四)通过(手机号A)登录并进行微信公众号(JSSDK)支付,报错:“下单账号与付款账号不一致”。
原因:由于开发人员(张三)在生产环境用(手机号A)登录后得到的OpenId(A12345)是和张三的微信号有关。
但测试人员(李四)虽然登录的也是(手机号A),但此时他的微信环境是测试(李四)的,故报如上错误。
根因:OPENID是和微信账号和APPID有关的,和登录你自身系统无关。