微信支付 现金红包错误提示 IP地址非你在商户平台设置的可用IP地址

微信支付现金红包,可能会遇到如下错误提示。

 IP地址非你在商户平台设置的可用IP地址 。

可我明明把网址对应的ip地址绑定到微信支付后台了。为啥还是提示这个错误;

因为网络环境复杂,可能是请求经过多次转发,导致最终发送红包的ip地址不确定是哪个;

解决办法:

1、服务器能够正常访问外网

直接输入如下代码:

window 直接访问该网址就可以  ifconfig.me

如下图:

微信支付 现金红包错误提示 IP地址非你在商户平台设置的可用IP地址

linux下:执行如下命令 curl ifconfig.me

如下图:

微信支付 现金红包错误提示 IP地址非你在商户平台设置的可用IP地址

2、服务器对于大多数网址不能访问,只能访问微信支付的地址(因为安全考虑,网管会对系统访问网址做限制)

https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack

这样的情况可以用如下命令:

a、dig +short myip.opendns.com @resolver1.opendns.com

上命令是对DNS服务器的请求,获取本机的ip。网管一般不会对dns地址做访问限制的;

b、参照微信支付的帮助文档,地址如下
https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon_sl.php?chapter=23_2&index=2

下载 测试工具
wxpaymonitor-stable.tgz

解压
tar -xvzf wxpaymonitor-stable.tgz

运行

cd wxpaymonitor/ 

./service.sh start

确认程序正常运行

./service.sh show

 一次性检查,如下图标红的就是对应的服务器ip

./wxpaymonitor -t

微信支付 现金红包错误提示 IP地址非你在商户平台设置的可用IP地址