【问题标题】:Unable to receive In-App purchase refund server-to-server notification无法接收应用内购买退款服务器到服务器通知
【发布时间】:2021-06-03 17:42:00
【问题描述】:

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

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

  1. 转到 App Store Connect > 输入“App Store Notification 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.

【问题讨论】:

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


    【解决方案1】:

    自 2021 年 3 月 24 日起更新 在 Server App (iOS/Android) 通信中, 我们服务器的视图解析器 (ContentNegotiatingViewResolver) 确定默认视图 (TextPlainView, JsonView) 基于请求头(Content-Type,Accept)

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

    将我们的服务器默认视图设置更改为 json 视图后 我们能够解析苹果通知响应体。 我希望它可以帮助开发人员处理类似的问题。

    【讨论】:

      猜你喜欢
      • 2020-07-23
      • 2020-08-09
      • 2019-10-14
      • 1970-01-01
      • 2011-11-27
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多