微信支付回调地址,是否能使用公网IP地址开头?

来源:13-15 订单状态未成功修改的原因

诺丁山丶

2018-12-02

'pay_back_url'  => 'http://91.123.44.56/index.php/api/v1/pay/notify'

我使用的是腾讯云的公网ip(上面url中的ip,是我模仿的,非真实的ip地址),作为回调地址。

支付可以成功,但是无法回调。

想问下老师,微信支付的回调地址是不是只能使用域名(如back.test.com, test.com, www.test.com),而不能使用公网ip?

写回答

3回答

7七月

2018-12-04

建议这样测试,在接收回调函数里 print一下,然后部署到公网上。支付,看看微信回调是否能触发这个print或者其他的log日志。我映象中ip微信是不支持的,但确实我不太确定。你可以在本地做一个内网穿透吗,内网穿透都能收到微信回调啊。

0
1
诺丁山丶
好的,谢谢老师的回复,我测试下先。
2018-12-04
共1条回复

诺丁山丶

提问者

2018-12-03

不好意思,老师,之前的搞错了。这个公网ip是正式的,http://94.191.91.160/api/v1/banner/1 是能访问到的.

这个是微信支付的回调地址:http://94.191.91.160/index.php/api/v1/pay/notify

我用postman模拟微信回调(POST方式,带着xml数据)的得到的结果是这样的

//img.mukewang.com/szimg/5c04dbd10001b6b211630833.jpg

订单状态并未更改为已支付状态

但是,我在本地做同样的模拟测试的时候,却可以正确更改订单状态为已支付。

本地和线上的代码,除了服务器的URL不一样以外,代码都是一模一样的。

按道理说,我能通过微信的回调地址获取到xml数据,说明微信回调地址是可以正常访问到的,微信也确实访问并传回xml数据了。

请问老师,会是什么原因造成的?还是微信回调地址就不支持公网IP,必须使用域名?

0
0

7七月

2018-12-03

你这是公网ip?我点击都无法访问。公网ip起码要能够访问到啊。

0
1
诺丁山丶
不好意思,老师,之前的搞错了。请看我的新回答
2018-12-03
共1条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程