首页 > 解决方案 > 我是否需要服务器端支持自动续订订阅的 iOS 宽限期?

问题描述

Apple 为订阅引入了宽限期。

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

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

例如,您可以在设备中检查收据以在没有服务器端的 iOS 上使用自动续订订阅,但建议使用服务器检查收据以避免人渣。

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

任何帮助表示赞赏!

标签: iosauto-renewing

解决方案


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

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_involunction_subscriber_churn


推荐阅读