gpt4 book ai didi

ios - Apple 内购 transaction_id 一次购买有时会变化

转载 作者:技术小花猫 更新时间:2023-10-29 11:05:42 36 4
gpt4 key购买 nike

一旦我从客户端收到收据并通过 Apple 服务器对其进行验证,我就会在该收据中获得新购买(这是自动订阅购买)的交易 ID。几天后,我从同一个客户收到一张新收据并验证它,奇怪的事情发生了:那个旧购买的交易 ID 发生了变化。

我将旧收据中本次购买的数据与新收据中的数据进行对比,唯一变化的是transaction_id字段,original_transaction_id、purchase_date、expires_date、web_order_line_item_id等字段为完全一样。

我查了一下数据库,发现大约1%的交易记录有相同的情况。而且有一个特点,他们的大部分交易id都增加或减少了1-2

我以前以为交易id是一次购买的标识。有没有人遇到同样的问题或者知道原因?

最佳答案

是的,我们也看到了这种情况。我们看到这是由点击“恢复购买”按钮触发的。

如果您的“恢复购买”按钮使用 restoreCompletedTransactions API 那么这将导致您的交易 ID 发生变化。我们已经通过 Apple 开发人员支持确认了这一点。

显然你可以调用SKReceiptRefreshRequest相反,它只会获取最新的收据而不是重播所有交易。据我了解,这不会导致交易 ID 发生变化。

据传闻,我们见证了 web_order_line_item_id 值在调用 restoreCompletedTransactions 时不会改变。然而,当我们要求确认时,我们充其量只收到了 Apple 开发人员支持的模棱两可的回复:

In regards to the web_order_line_item_id field, the value will change on every subsequent renewal.

You can use this, as long as you continue to store the new value as the renewal subscription events come in.

我们认为这意味着每次续订购买时 web_order_line_item_id 都是唯一的。它既不确认也不否认它在对 restoreCompletedTransactions

的调用中保持不变

此外,我发现在 Apple/Google/Amazon 的循环计费上录制的这个 session 非常有帮助(不过,不适用于这种特殊情况):

Rosa Gutierrez - The recurring nightmare. Implementing cross platform in-app subscription purchases

关于ios - Apple 内购 transaction_id 一次购买有时会变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42312927/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com