一、报错信息
接口名称:requestMerchantTransfer
对应业务:微信支付商家转账 -> 「JSAPI调起用户确认收款」
错误信息:当前使用用户过多,请稍后重新确认收款
错误截图:

二、问题原因
根本原因:在JSAPI调起用户确认收款时,“package”参数值不需要进行UrlEncode处理(仅APP调起时需要),调用requestMerchantTransfer接口所传递“package”的参数值如果进行UrlEncode处理就会报上述错误
三、快速排查
- 检查调用“requestMerchantTransfer”接口参数中参数“package”参数值,JSAPI调起用户确认收款时不允许进行UrlEncode处理
四、解决方案
“package“使用下单返回的”package_info”原始值,不要进行UrlEncode处理
- 建议所有场景服务端均给原始值到前端,在app端调起时在前端进行UrlEncode处理;如在服务端对“package”进行UrlEncode处理,需要区分调起场景
错误示例:
wx.requestMerchantTransfer({
"mchId": '你的商户号,一般为1开头10位纯数字',
"appId": '你的appid,wx开头18为字母与数字组合,需要与发起转账所传appid一致',
"package": 'ABBQO%2BoYAAABAAAAAAB7ozFK93xhB6jaRvVcaBAAAADnGpepZahT9IkJjn90%2B1qgW5pH1vf9uJVAk54a3gslfa51Tq9TZMZR9fzawj%2FNnnwVSczwY%2F58Af6eBPKSFZncijPuVoqK%2BKXZe2tR38sH3DO4lNM%3D” //package不允许UrlEncode处理
success (res) { },
fail (res) { }
})
正确示例:
wx.requestMerchantTransfer({
"mchId": '你的商户号,一般为1开头10位纯数字',
"appId": '你的appid,wx开头18为字母与数字组合,需要与发起转账所传appid一致',
"package": 'ABBQO+oYAAABAAAAAAB7ozFK93xhB6jaRvVcaBAAAADnGpepZahT9IkJjn90+1qgW5pH1vf9uJVAk54a3gslfa51Tq9TZMZR9fzawj/NnnwVSczwY/58Af6eBPKSFZncijPuVoqK+KXZe2tR38sH3DO4lNM=”
success (res) { },
fail (res) { }
})