iOS 自动更新订阅 veirfyReceipt returns 与设备不同的 base64 收据
iOS Auto Renewable Subscriptions veirfyReceipt returns different receipts base64 than device
我正在尝试实施自动更新订阅。我的应用程序可以在不同的设备(Android、Web)上使用,因此我需要实施状态轮询技术,以便在 App Store 设法续订过期订阅时确认我的服务器。
收据正在我的服务器上进行验证 here。
在设备上进行的每笔交易中,我都会在收据验证过程中为 last_receipt_base64
字段更新用户在数据库中的条目。
在每次状态轮询时,我想更新 last_receipt_base64
和 expired_date
字段,所以我采用 last_receipt_base64
并将其发送到苹果的 /verifyReceipt
路由。但是每次它都会在 'latest_receipt' 键下放置不同的收据(base64)。更重要的是,返回的(从 /verifyReceipt
)以 64 为基数的收据的长度比从设备发送的收据(从设备接收 35,000 个字符,从 /verifyReceipt
返回 6000 个字符的收据)短得多。这是为什么?
如果有变化但数据一直在变化,我想在每个状态柱上更新我的数据库中的条目!此外,设备收据和 /verifyReceipt
之间的极端长度差异让我担心有一天收据可能会被拒绝,如果用户长时间不登录 iOS 应用程序。
不管怎样,我有点困惑,文档也不是很好……一些指导方针会有帮助。
加尔·沙哈尔!
我们还使用 Apple 服务器通知来更新订阅管理平台中的订阅状态。
收到的状态轮询通知不是您要找的。您应该存储直接从设备发送的收据。
您应该只依靠 original_transaction_id
并通过此 ID 找到您的客户。
顺便说一句,无需更新您的 base64 收据,因为它始终会为您提供最新的交易。
我建议您阅读我们博客中的这篇文章:https://blog.apphud.com/subscriptions-notifications/
如果您需要帮助,请告诉我们。谢谢!
我正在尝试实施自动更新订阅。我的应用程序可以在不同的设备(Android、Web)上使用,因此我需要实施状态轮询技术,以便在 App Store 设法续订过期订阅时确认我的服务器。
收据正在我的服务器上进行验证 here。
在设备上进行的每笔交易中,我都会在收据验证过程中为 last_receipt_base64
字段更新用户在数据库中的条目。
在每次状态轮询时,我想更新 last_receipt_base64
和 expired_date
字段,所以我采用 last_receipt_base64
并将其发送到苹果的 /verifyReceipt
路由。但是每次它都会在 'latest_receipt' 键下放置不同的收据(base64)。更重要的是,返回的(从 /verifyReceipt
)以 64 为基数的收据的长度比从设备发送的收据(从设备接收 35,000 个字符,从 /verifyReceipt
返回 6000 个字符的收据)短得多。这是为什么?
如果有变化但数据一直在变化,我想在每个状态柱上更新我的数据库中的条目!此外,设备收据和 /verifyReceipt
之间的极端长度差异让我担心有一天收据可能会被拒绝,如果用户长时间不登录 iOS 应用程序。
不管怎样,我有点困惑,文档也不是很好……一些指导方针会有帮助。
加尔·沙哈尔! 我们还使用 Apple 服务器通知来更新订阅管理平台中的订阅状态。
收到的状态轮询通知不是您要找的。您应该存储直接从设备发送的收据。
您应该只依靠 original_transaction_id
并通过此 ID 找到您的客户。
顺便说一句,无需更新您的 base64 收据,因为它始终会为您提供最新的交易。
我建议您阅读我们博客中的这篇文章:https://blog.apphud.com/subscriptions-notifications/
如果您需要帮助,请告诉我们。谢谢!