无法接收应用内购买退款服务器到服务器通知

时间:2021-03-05 02:19:44

标签: ios server notifications in-app-purchase refund

我正在尝试在我们的服务器后端实现应用内购买退款通知的处理(App Store 将 responseBody JSON 数据发送到应用程序开发人员键入的服务器通知 URL)。但是在应用内购买成功退款后,我无法从应用商店收到任何通知。

这是我为在我们的服务器中处理退款通知所做的事情列表。

  1. 转到 App Store Connect > 输入“App Store 通知 URL”:“https://ourServerUrl/notifyRefund”(支持 TLS 1.2)

  2. 我们的服务器接受“POST”请求并定义@RequestBody 参数,如 responseBody

    中所述
  3. 从我们的 iOS 应用程序购买产品(“消费品”)(约 0.99 美元) - purchase_date = 2021-03-03

  4. 前往 reportaproblem.apple.com 并申请退款。 -> 第二天,App Store 处理了退款,我成功地将 0.99 美元退还到我的银行账户。 refund_date = 2021-03-04

执行上述步骤后,我仍然无法从 App Store 收到通知。 我读了一篇关于 notification delay 的帖子,但我不确定这是因为延迟还是我的服务器配置有问题。

Apple doc.

1 个答案:

答案 0 :(得分:0)

更新至 2021-03-24 在 Server <--> App (iOS/Android) 通信中, 我们服务器的视图解析器(ContentNegotiatingViewResolver)决定了默认视图(TextPlainView、JsonView) 基于请求头(Content-Type,Accept)

由于苹果通知回调响应(请求到我们的服务器) 没有“接受”标头,我们的服务器将默认视图解析器设置为 TextPlainView 遵循我们在“servlet-context.xml”中的服务器配置 由于 Apple 通知响应为 Json 格式,因此导致错误。

将我们的服务器默认视图设置更改为 json 视图后 我们能够解析苹果通知 responseBody。 希望对开发者处理类似问题有所帮助。

相关问题