场景是 我们需要在 安卓应用里去提现到微信账号,
安卓在开放平台创建了应用,有一个appid。
可以正常的拉取到用户信息,分享朋友圈等,。
然后按照这个文档的说明
这个接口
https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
参数
<xml>
<amount>10</amount>
<check_name>NO_CHECK</check_name>
<desc>平台提现</desc>
<mch_appid>移动应用appid</mch_appid>
<mchid>商户号</mchid>
<nonce_str>4gSET2bgIli53XfC</nonce_str>
<openid>移动平台appid下授权获取到的openid</openid>
<partner_trade_no>2020071311383268074354</partner_trade_no>
<re_user_name>用户</re_user_name>
<sign><![CDATA[65D6A667A8444BC74562BD3BA52B1AF6]]></sign>
<spbill_create_ip>114.95.209.9</spbill_create_ip>
</xml>
返回结果:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[openid与商户appid不匹配]]></return_msg>
<mch_appid><![CDATA[安卓应用的appid]]></mch_appid>
<mchid><![CDATA[商户号]]></mchid>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[OPENID_ERROR]]></err_code>
<err_code_des><![CDATA[openid与商户appid不匹配]]></err_code_des>
</xml>
请问这是什么原因?
<xml><amount>10</amount><check_name>NO_CHECK</check_name><desc>凯舟提现</desc><mch_appid>移动应用的appid</mch_appid><mchid>商户号</mchid><nonce_str>vcJLm3W0PFJ1pYCb</nonce_str><openid>opgwvxEcdbLnGuUZL_ct41tSYhcw</openid><partner_trade_no>2020071dfdfaaa68145</partner_trade_no><re_user_name>凯舟用户</re_user_name><sign><![CDATA[asdfsadf]]></sign><spbill_create_ip>100.004.213.14</spbill_create_ip></xml> openid 也是 移动端获取到的
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_4
我现在换了接口用
https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
用企业转账的方式,
appid 用的是 移动应用的 appid,
openid 也是用的这个移动端获取到的openid。
最后还是提示 openid与商户appid不匹配
用什么方式最好和实际业务场景想匹配