通过以下方式获取的IP并在商户后台设置,请求红包发放接口都返回错误:IP地址非你在商户平台设置的可用IP地址
1.域名解析
2.通过微信支付网络监控工具部署指引获取UserIp(https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon_sl.php?chapter=23_2&index=2)
3.调用发放接口的服务器外网IP
商户后台的设置
请求的接口:https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack
请求的参数:
<xml>
<act_name><![CDATA[现金红包来吧]]></act_name>
<client_ip><![CDATA[**************]]></client_ip>
<mch_billno><![CDATA[58200728038750467]]></mch_billno>
<mch_id><![CDATA[**************]]></mch_id>
<nonce_str><![CDATA[a51d9e0932a69eb971cfd3d0ea23b3ba]]></nonce_str>
<re_openid><![CDATA[**************]]></re_openid>
<remark><![CDATA[来呀来呀]]></remark>
<send_name><![CDATA[马蜂窝旅游攻略]]></send_name>
<total_amount><![CDATA[300]]></total_amount>
<total_num><![CDATA[1]]></total_num>
<wishing><![CDATA[恭喜哈哈]]></wishing>
<wxappid><![CDATA[**************]]></wxappid>
<sign><![CDATA[**************]]></sign>
</xml>
返回的数据:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[IP地址非你在商户平台设置的可用IP地址]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[NO_AUTH]]></err_code>
<err_code_des><![CDATA[IP地址非你在商户平台设置的可用IP地址]]></err_code_des>
<mch_billno><![CDATA[58200728038750467]]></mch_billno>
<mch_id><![CDATA[**************]]></mch_id>
<wxappid><![CDATA[**************]]></wxappid>
<re_openid><![CDATA[**************]]></re_openid>
<total_amount>300</total_amount>
</xml>
检查你的服务器是否已开启 ipv6 支持。开启的时候会有问题,指定使用 ipv4 解析
if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')) { curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); }