java对接微信支付收不到支付通知问题(亲身实践)

本文解决了一个常见问题:在使用Java对接微信支付时,虽然统一下单接口正常,但用户扫码付款成功后,设置的notify_url并未收到回调请求。通过调整Content-Type设置,问题得以解决,确保了普通IP和端口也能正常接收微信支付通知。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 问题描述:

用java对接微信支付时,统一下单接口正常。但是用户扫码付款成功后,设置用于回调的notify_url对应的接口并没有收到请求(这个url测试过,是正常的且外网能访问的)。

由于官方文档没有demo,自己之前也没相关对接经验,就去网上查了查。查到一堆乱七八糟的错误解决方法,比如:必须用域名且必须是80端口...


  • 解决方法:

一开始对接时,由于从微信官方文档上看是xml方式传参,于是我将请求的Content-Type设置成了application/xml,这个就是问题所在。我试着不指定请求的Content-Type,果然再支付就收到通知了


  • 补充说明:

对接的微信支付是处于开发阶段,用于回调的接口notify_url中,用的外网能正常访问的ip和一个普通的端口,并不是非要指定域名和80端口。网上那些文章真坑爹,全TM瞎说。


  • 总之:

从目前自身的情况来看,一个能被微信通知到的notify_url特征为:

  • POST请求
  • 不指定请求Content-Type(没来得及去查具体是什么类型)
  • 普通的ip和端口

以上特征即可正常收到通知

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值