一、报错信息
接口名称:requestMerchantTransfer
对应业务:微信支付商家转账 -> 「JSAPI调起用户确认收款」
错误信息:商家APPID错误,请返回商家重新发起收款
错误截图:

二、问题原因
根本原因:调用requestMerchantTransfer接口所传递“appId”的参数值校验未通过
安全机制:为了商户资金安全,使用商家转账时会校验发起转账时APPID参数值与调起用户确认收款时的APPID参数值是否一致。
三、快速排查
- 检查调用“requestMerchantTransfer”接口参数中参数名“appId”的大小写与文档是否一致,“appId”中的”i”为大写
- 检查调用发起转账接口时所传appid参数值与调起用户确认接口requestMerchantTransfer所传appId参数值是否一致
- 检查调用“requestMerchantTransfer”接口参数中参数名“appId”是否有多出空格,
- 检查调用“requestMerchantTransfer”接口参数中参数“appId”参数值是否有多出空格、appid是否为一个正确的appid,参数值类型是否为“string”
四、解决方案
使用示例代码,替换mcId、appId、package参数值为自己商户信息进行使用,结合第三部分快速排查,快速定位问题。
“appid”中“i”为大写,参数值格式要求为“string”且需要与调用发起转账时appid值一致
wx.requestMerchantTransfer({
"mchId": '你的商户号,一般为1开头10位纯数字',
"appId": '你的appid,wx开头18为字母与数字组合,需要与发起转账所传appid一致',
"package": '调用商家转账返回参数“package_info”的值,不要进行任何修改',
success (res) { },
fail (res) { }
})