0

我正在尝试实施自动可更新订阅。我的应用程序可以在不同的设备(Android、Web)上使用,因此我需要实现状态轮询技术,以便在 App Store 设法续订过期订阅时确认我的服务器。收据正在我的服务器上进行验证,如此所述。在设备上进行的每笔交易中,我都会last_receipt_base64在收据验证过程中更新用户在数据库中输入的字段。

在每次状态轮询中,我都想更新last_receipt_base64andexpired_date字段,所以我将其last_receipt_base64发送到苹果的/verifyReceipt路由。但每次它都会在“latest_receipt”键下放置不同的收据(base64)。甚至,返回的(来自/verifyReceipt)收据库 64 的长度奇怪地比从设备发送的收据短得多(来自设备的 35,000 个字符的收据,从 的返回的 6000 个字符的收据/verifyReceipt)。这是为什么?

如果有变化但数据不断变化,我想在每个状态极上更新我的数据库中的条目!此外,来自设备的收据之间的极端长度差异/verifyReceipt让我担心有一天收据可能会被拒绝,如果用户长时间不登录 iOS 应用程序。无论如何,我有点困惑,文档不是很好......一些指导方针会有所帮助。

4

1 回答 1

1

盖尔沙哈尔!我们还在订阅管理平台中使用 Apple 服务器通知来更新订阅状态。

状态轮询通知中的收据不是您要查找的收据。您应该存储直接从设备发送的收据。

您应该只依赖original_transaction_id并通过此 ID 找到您的客户。

顺便说一句,您无需更新您的 base64 收据,因为它始终会为您提供最新交易。

我可以建议您阅读我们博客中的这篇文章:https ://blog.apphud.com/subscriptions-notifications/

如果您需要帮助,请告诉我们。谢谢!

于 2019-10-17T16:01:31.303 回答