微信刷脸支付:
发起订单支付接口:https://api.mch.weixin.qq.com/pay/micropay
请求参数:
<xml>
<appid>wx************</appid>
<auth_code>144831*******</auth_code>
<body>刷脸支付-支付测试</body>
<fee_type>CNY</fee_type>
<mch_id>15******</mch_id>
<nonce_str>V37ZHZVf2OrwsUV7kXTjTguP74c0babc</nonce_str>
<out_trade_no>LTA0P18937F1305321605078895182</out_trade_no>
<sign>82207340F965E5DF1446DE9AA7E79302</sign>
<sign_type>MD5</sign_type>
<spbill_create_ip>172.16.200.217</spbill_create_ip>
<time_expire>20201111151655</time_expire>
<time_start>20201111151455</time_start>
<total_fee>1</total_fee>
</xml>
接口调用后返回结果:
<xml><return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[受理机构必须传入sub_mch_id]]></return_msg>
</xml>
按照平台SDK说明文档和文旦提供的参考传入参数,该接口参数没有sub_mch_id这个参数字段,但是为什么返回失败原因又说改字段必须传入?
支付接口调用你如果mch_id传参服务商商户号的时候,需要传sub_mch_id
接口文档写的不够全面啊!
如果支付时,使用商户号mch_id是服务商id,并且调用接口sub_mch_id 没有传,会报这个错的~
解决方案:1、使用商户号mch_id不是服务商户的id
2、使用服务商模式,申请一个子子商户号sub_mch_id
用的商户号是服务商的商户号吧
你的mch_id不是一个子商户号,或者商户号。而是服务商。