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