收藏
回答

使用 NATIVE (模式二)支付 ,沙箱环境下 收不到回调(notify_url)

使用 NATIVE (模式二)支付 ,沙箱环境下,收不到回调。

notify_url 用的类似 http://ip:port/payResult

URL为内网机器,通过路由器端口映射允许外网访问。没有参数。

ip为外网地址,并且,通过其他网络(移动4G网),确认了notify_url 肯定是通的,没有被屏蔽。

payResult 的处理函数,也同时支持POST和GET请求。

调用统一生成订单接口后,也检查了返回值都是 SUCCESS的

调用统一生成订单的方法,都是按『扫描支付』测试用例写的。

通过『查询订单』API,可以查询到订单支付成功。

即是说,初步判断我们的环境和调用都没用问题。

但是就是一直收不到支付结果的回调。

最后一次编辑于  2019-10-17
回答关注问题邀请回答
收藏

2 个回答

  • iDo
    iDo
    2019-10-16

    感谢 @Hanks

    有没有微信支付官方的技术支持看看到底是啥情况啊,在其他帖子里面看到有人说,微信的回调不是特别稳定,正式环境,也经常会收不到回调,是官方就没有重视这个问题吗?

    或者就是说,官方就主导使用查询的方式确认付款状态,不要以回调优先?

    但是查询的方式,有些情况下,不太合理啊:意味着循环查询,如果用户一直不支付,就需要循环检查支付结果,这个要拖死服务的节奏。

    我们平台也支持支付宝支付,支付宝的回调就比较稳定,很少出现收不到回调的情况。同样的环境,支付宝的沙盒,回调就很顺畅。


    2019-10-16
    赞同 4
    回复
  • Hanks🇨🇳
    Hanks🇨🇳
    2019-10-16

    notify_url 用备案过的域名,并且不能使用端口号

    2019-10-16
    赞同 1
    回复 11
    • iDo
      iDo
      2019-10-16
      正式环境用备案过的域名可以理解。沙盒(沙箱)环境,也必须用备案过的域名?沙盒只是开发和测试使用,按理说,应该允许使用IP:PORT才合理;否则开发测试都得整个域名,还得整个固定IP?这个有点困难了。
      2019-10-16
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-10-16回复iDo
      早晚都得换,你就提前换了呗!如果你域名搞不定的话,你做这个功能测试有什么意义呀
      2019-10-16
      回复
    • iDo
      iDo
      2019-10-16
      肯定要测试回调收到数据后,确认本地代码对商户系统里的订单的处理代码是正常的。
      如果换成正式环境URL,只能放到生产环境测试?这肯定不行。
      2019-10-16
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-10-16回复iDo
      目前问题是你的测试环境和生产环境差太多了呢
      2019-10-16
      回复
    • iDo
      iDo
      2019-10-16
      本身微信支付就提供测试环境的测试流程,其他的都按测试用例写了。就这一个回调,与正式环境,最终也就是个URL地址字符串不同,其他的除了请求的URL要更换,应该没有什么太大的不同了。不管怎么说,好歹要让我能调试代码吧,代码都无法调试,还谈什么上线。
      2019-10-16
      回复
    查看更多(6)
登录 后发表内容
问题标签