首页 > 解决方案 > original_purchase_date 在 latest_receipt_info 中的相同 original_transaction_id 下的不同交易具有不同的价值

问题描述

在苹果收据中,有一个名为 latest_receipt_info 的字段,其中包含所有最新交易。我正在测试的程序正在使用苹果订阅。

我的理解是,对于相同的 original_transaction_id,original_purchase_date 将是相同的,因为它们本质上是指相同的过去交易。话虽如此,对于相同的 original_transaction_id 下的不同交易,我得到了不同的 original_purchase_date。请参阅以下内容:

original_purchase_date      "2021-05-29 09:58:24 Etc/GMT"
original_purchase_date_ms   "1622282304000"
original_purchase_date_pst  "2021-05-29 02:58:24 America/Los_Angeles"
original_transaction_id     "1000000790487038"
transaction_id              "1000000818740246"

original_purchase_date:     "2021-05-29 09:53:26 Etc/GMT"
original_purchase_date_ms   "1622282006000"
original_purchase_date_pst  "2021-05-29 02:53:26 America/Los_Angeles"
original_transaction_id     "1000000790487038"
transaction_id              "1000000818739843"

original_purchase_date      "2021-05-29 09:48:23 Etc/GMT"
original_purchase_date_ms   "1622281703000"
original_purchase_date_pst  "2021-05-29 02:48:23 America/Los_Angeles"
original_transaction_id     "1000000790487038"
transaction_id              "1000000818739088"

以上是从沙盒环境中的unified_receipt.Latest_receipt_info 中提取的。这应该与 verifyPayment 中的 responseBody.Latest_receipt_info 相同。

知道为什么 original_purchase_date 不一样吗?这种行为是否也会在生产中发生?

提前致谢。

标签: iostestingin-app-purchaseapp-store-connectin-app-subscription

解决方案


我注意到transaction_id不一样的,就像 original_purchase_date

因为original_transaction_id苹果说

original_transaction_id此值与transaction_id 用户恢复购买或续订订阅时的值相同。

original_transaction_id该值与交易的 transactionIdentifier 属性具有相同的格式;但是,这些值可能不一样

因为transaction_id 苹果说

每次订阅自动续订或在新设备上恢复时,App Store 都会为 transaction_id 生成一个新值。


推荐阅读