对方的回调请求一直是content-type error,有哪位大佬能想到问题可能出现在哪个环节吗?

我对接了一个比较小众的支付平台,支持成功以后,对方发起回调,一直都是“content-type error”,但是我直接访问我的回调url能访问通,希望各位帮我分析分析问题可能出在哪?服务器是宝塔面板,起码没有用宝塔的防火墙,对方是ipv4,目前就这些信息

让PHP再次伟大
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 14
sanders

这种和三方联调的问题,应该根据请求响应日志来查,既然接口是你写的,你应该尽可能将对方发送给你的完整请求和响应内容记录到日志中,以便问题定位。而对方也最好可以记录自己发送的请求和你的接口响应内容,以便和你进行核对。

9个月前 评论

那不就是content-type错了吗 对方要求的content-type是啥呢 :joy:

9个月前 评论

回调走的curl吧,是不是你这边有什么限制,你用curl试试

9个月前 评论
勇敢的心 (楼主) 9个月前

估计是对象严格校验了 type 类型 没按照要求传人

9个月前 评论
勇敢的心 (楼主) 9个月前

你的接口返回了 “content-type error”,是这意思吗

9个月前 评论
勇敢的心 (楼主) 9个月前

看一下对方的content-type和你自己的postman对比一下不就完了

9个月前 评论

看下你的header里面的请求格式

9个月前 评论

对方要求的content-type是什么,你返回的content-type又是什么

9个月前 评论
  1. 请求头中的Content-Type不正确:检查一下你的回调URL是否正确设置了Content-Type头部。常见的Content-Type值包括"application/json"、"application/x-www-form-urlencoded"等,具体取决于你和支付平台的约定。

  2. 服务器防火墙或安全设置:确认一下你的服务器是否有任何防火墙或安全设置,它们可能会阻止支付平台的回调请求。确保你的服务器允许来自支付平台的IP地址的访问。

  3. 回调URL的处理逻辑:检查一下你的回调URL的处理逻辑是否正确。可能存在一些问题,例如解析请求体时发生错误、处理回调数据时出现异常等。你可以尝试在回调URL的代码中添加日志记录,以便查看详细的错误信息。

  4. 支付平台配置:检查一下你在支付平台上的配置是否正确。确保你提供的回调URL是正确的,并且与支付平台的要求一致。

9个月前 评论
porygonCN

看你这个问题 应该是你给对面返回了content-type-error的报错吧? 看一下对方给的请求报文到底是啥先

9个月前 评论

发现问题了,是宝塔面板的一个第三方nginx防火墙导致的

9个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!