我是否需要服务器端支持自动续订订阅的 iOS 宽限期?

Non*_*oto 6 ios auto-renewing

Apple 为订阅引入了宽限期。

https://developer.apple.com/app-store-connect/whats-new/?id=billinggraceperiod

我仍然不知道是否需要设置服务器端来支持此功能,或者只是检查服务器上的收据只是一种推荐的方式,我可以在没有服务器端的情况下使用 Grace Period?

例如,您可以在设备中查看收据,以便在没有服务器端的 iOS 上使用自动续订订阅,但是通过服务器查看收据是一种避免人渣的推荐方法。

宽限期说明说您需要检查收据和服务器通知,我想您只能在需要时检查设备上的收据,但不确定服务器通知部分。

任何帮助表示赞赏!

Pal*_*nak 1

您可以在没有服务器的情况下执行此操作,但不能使用离线设备上的收据验证,因为您需要来自/verifyReceiptApple 服务器的端点的最新收据信息。这就是为什么建议使用服务器到服务器验证,因为直接网络请求容易受到中间人攻击。

grace_period_expires_date_ms解析收据验证响应,您可以通过在pending_renewal_info中查找来获取订阅是否处于宽限期的信息,并检查is_in_billing_retry_period以表明Apple仍在尝试收取付款。

收据响应文档: https://developer.apple.com/documentation/appstorereceipts/verifyreceipt 处理计费宽限期文档: https://developer.apple.com/documentation/storekit/in-app_purchase/reducing_inoperative_subscriber_churn