收藏
回答

小程序对接虚拟支付,报错 支付签名(pay_sig)校验失败

调用接口:https://api.weixin.qq.com/xpay/query_biz_balance?access_token=82_Sb-ZnKUks7TEGXJZObXxV5Vc05oP2eYRBAcXnP9VTTFoPGGt7Xga4cYYSMHVbtNO8wfiGb-AUKSREKjuKzOoF8CNkzFrW8W4m3_hVTHoBDZlmocN37y6zo6qFY0GLZgAEAAFT&pay_sig=0801a30cd4721b4ecb340e016028a947470a0c5bfd225d748480cf3df98444da

参数:{ "env": 1 }

报错:{ "errcode": 268490003, "errmsg": "支付签名(pay_sig)校验失败 rid: 6698c32a-16a3c77f-4902d4b4" }

使用文档的 [示例值],最后返回的 [签名] 跟文档给的签名值是一致的,是匹配的,所以算法应该没错。

----------------------------------------------------------------------------------------------------------

2024/07/19 已解决,说一下我的解决思路,希望可以帮到其他人

1.如果文档的签名值跟你自己的返回值匹配,那么算法就没问题,就应该是参数的问题,仔细检查签名的参数;

2.wx.requestVirtualPayment 其中有个字段 signData 是传签名的字符串,要将原始签名的字段串返回,并填入,不要在前端由对象转为字符串,参数的顺序和签名参数不一样就会报错;

3.wx.requestVirtualPayment 固定的 uri 参数值是 "requestVirtualPayment" (文档写的不明显,之前一直是填空值)

相关文档:

https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html#_2-4-%E7%AD%BE%E5%90%8D%E8%AF%A6%E8%A7%A3

最后一次编辑于  07-19
回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容