我在收到SKPaymentTransactionStatePurchased
通知后使用收据来验证购买,除其他外,还获得了用户刚购买的订阅的到期日期。
为了正确识别收据中刚刚发生的交易,我将其与transaction.transactionIdentifier
和transaction_id
相匹配。我遇到的问题是事务标识符永远不匹配。
我已经能够通过手动检查purchase_date
和product_id
在收据中识别正确的交易,但是transaction_id
与交易完全不同。
我也查看了transaction.originalTransaction.transactionIdentifier
和original_transaction_id
,但是这四个值似乎在任何时候都不匹配。
这里发生了什么?在沙盒中进行测试时,有人遇到过类似的问题吗?该文档明确指出transaction_id
应该与事务的transactionIdentifier
属性匹配。这可能是错误吗?
编辑1:这是一次订购(先前已过期)的不同交易标识符。
transaction.transactionIdentifier = 1000000325087359
transaction.originalTransaction.transactionIdentifier = 1000000297785006
transaction_id = 1000000325087377
original_transaction_id = 1000000297785006
似乎原始交易标识符匹配(为什么要购买新的交易标识符?),但另外两个则不匹配。它们来自哪里,与它们匹配什么?我不了解两者之间的关系及其意义。