我们的问题是这样的,已有一个小程序与一个普通商户号绑定,可以正常支付。现在我们为了快速接入更多商户,申请了服务商模式。可是经过与微信客服沟通,小程序appid无法与服务商号相绑定。于是我们用公众号的服务号绑定了此服务商号。现在在调用统一下单接口时,微信返回错误:
appid和openid不匹配
这个openid是我们的用户在登陆小程序时从微信获得的,也就是说它是对应小程序这个体系的。当我们拿着这个openid进行下单时,因为我们的服务商号绑定的是服务号appid而不是小程序appid,微信返回了这个错误。
那么请问,在这种情况下(小程序appid无法与服务商号绑定,绑定了服务号appid又返回不匹配的错误),我们究竟该如何做呢?
appid 为申请支付服务商时所使用的微信公众号的appid,因为服务商只有认证通过的微信服务号才能申请,所以这里的appid一定是填写公众号的。否则可能报appid和mch_id不匹配。
mch_id 为服务商账号对应的微信支付商户号
sub_mch_id 为服务商绑定的特约商户对应的微信支付商户号
sub_appid 为当前业务真正正在使用的公众号或小程序的appid,同时要在服务商特约商户的特约商户APPID配置中进行绑定
sub_openid 为当前业务真正正在使用的公众号或小程序授权后微信用户的openid。
服务商模式下传递sub_openid就不要再传递Openid了,否则可能会报appid和openid不匹配。
普通支付 appid 要和openid 一致,如果是服务商支付的小程序支付,小程序的是sub_appid ,这时候就不用openid 了,要用sub_openid
请教一下什么是服务商支付的小程序支付。和小程序普通支付。。。
服务商支付模式下,是不关心小程序主体的,只是把小程序和服务商绑定起来就可以了
我好像没有在服务商支付模式。就是普通绑定了一个商户,然后拿到小程序登录时的openid,和小程序的appid去请求,然后就返回匹配不一致。
服务商支付模式下, 说的是你的支付是服务商支付啊,openid 不行的话,试下sub_openid
`微信分配的子商户公众账号ID,如需在支付完成后获取sub_openid则此参数必传。`
同求...怎么解决的呢?
服务商模式下,扫码支付正常,小程序支付提示appid与mch_id不匹配,看看有没漏配置。
【自查方法】商户微信支付后台——产品中心——AppID账号管理——我管理下AppID账号——管理AppID。提交后,商户登陆小程序——W微信支付——商户号管理——授权关联。
同样问题,已解决 当子商户有公众号时,设置 sub_appid与sub_openid即可
如何解决的?请赐教!!
你好,
appid和openid是一一匹配的,请确认使用的appid是否正确,如果确认是使用这个appid,请检查你获取openid的接口中使用的appid与这个appid是一致的,因为对于同一个微信号,用不同的appid获取到的openid是不一样的。
获取openid的接口详见https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842