【发布时间】:2013-07-10 07:23:54
【问题描述】:
我正在开发一个带有自动更新收据的应用程序,并将它们保存在服务器中,这一切都很好,直到用户恢复他们的购买 - 这会导致重复。
transaction_id 字段对于每次恢复时的同一张收据都是不同的,original_transaction_id 显然在每次续订时都相同,所以我不能使用它。
unique_identifier 字段也是一样的(我不明白它的独特之处)。
我一直在使用 web_order_line_item_id 字段,看起来还不错,但我只是用一个全新的帐户对此进行了测试,结果是重复的,所以这也没用。
我在这里很明显地遗漏了一些东西?每张收据都必须有一个字段是唯一的,但每次恢复都不会改变?
【问题讨论】:
-
既然你把收据保存到你的服务器上,那你为什么不直接从服务器上检索收据呢?
-
我在大多数使用场景下都这样做,但我需要允许用户在新设备或恢复设备上恢复购买。
-
我假设您有某种与您的自动续订订阅相关的登录信息。而且我还假设您将登录名与保存在服务器上的收据相关联。考虑到这一点,设备是新的还是恢复的都没有关系。每当用户登录时,您都可以向服务器查询收据并将其返回。我的假设错了吗?
-
不,用户不需要登录我的应用程序;他们应该可以只恢复收据并通过那些不需要注册和记住密码等的人来识别它们。它认为可能同时使用 original_transaction_id 和购买日期就可以了,但这似乎有点混乱: /
-
the transaction_id is different for every receipt, so you can't have duplicates if you use that as the primary key实际上,这意味着如果您使用 transaction_id 作为 PK,您可能会在数据库中获得与一次购买相对应的两条记录。目前尚不清楚——如何避免这种情况。
标签: ios save in-app-purchase receipt