收藏
回答

微信直连支付,服务器IP被限制,是什么原因?

近期我们线上出现微信直连支付统一下单请求失败的问题(400 Bad Request),重启服务更换IP后,可以恢复

并且如果执行了退款(退款失败,报错同上),那这个副本又被限制,无法发起支付

猜测是IP被限制了,但是原因不清楚


回答关注问题邀请回答
收藏

2 个回答

  • Memory
    Memory
    09-06

    400是协议或者参数非法,打印返回参数的body信息,里面有具体错误原因

    09-06
    有用
    回复
  • 1031
    1031
    09-06

    报错信息

    <html>

    <head><title>400 No required SSL certificate was sent</title></head>

    <body bgcolor="white">

    <center><h1>400 Bad Request</h1></center>

    <center>No required SSL certificate was sent</center>

    <hr><center>nginx</center>

    </body>

    </html>

    但是我们证书没有过期(到29年),再说支付也不需要证书

    就算限制那也应该是都限制,现在是一个副本可以,另一个不行

    烦请懂行的大佬帮忙看下

    09-06
    有用
    回复 2
    • Memory
      Memory
      09-06
      看这个https://developers.weixin.qq.com/community/pay/doc/0008c4e384c0d888a2916dcdb66001?blockType=8
      09-06
      1
      回复
    • 1031
      1031
      09-06回复Memory
      非常感谢您的回复。


      问题目前已解决了,确实是证书的问题,有同事更换了证书(我们用的.p12),但是我们这边使用的还是老证书,所以出现以上问题。


      既然问题已经解决,也就不花时间深究了,仅给其他有遇到同样坑的朋友提个醒。


      说下我的流程
      证书过期 -> 微信支付正常使用(过期情况下) -> 退款失败(证书过期可以理解) -> 触发IP被限制 -> 支付、转账、退款全都不行 -> 更换证书 -> 测试支付还是不行 -> 再次执行退款,退款成功 -> 触发IP解封 -> 再次支付,支付成功


      所以关键点是证书,有IP问题要通过使用到证书的节点触发解封


      不得不吐槽,这简直是个脑残设计,就说证书过期和支付有个毛关系,要封就封证书相关接口就行,还非得依赖退款(或者其他使用到证书的节点)来解封,真的是想不通。
      09-06
      回复
登录 后发表内容