关于RevenueCat的transaction_id是否跨环境唯一的技术咨询
关于RevenueCat交易唯一标识的问题
根据RevenueCat的实际运行逻辑以及主流应用商店的机制,结论很明确:
- transaction_id在sandbox和production环境中不保证唯一,苹果App Store和Google Play本身就允许沙盒与正式环境出现相同的transaction_id,RevenueCat只是原样传递这些来自商店的交易ID,不会做跨环境的去重处理。
所以在数据库中,必须使用store/transactionId/env的组合来唯一标识每一笔交易,仅用store/transactionId会存在重复风险,导致数据冲突。
另外补充:Webhook事件里的environment字段会明确标记当前交易属于沙盒还是正式环境,直接用这个字段来区分即可。
内容的提问来源于stack exchange,提问作者Scorb
相关产品推荐
相关产品推荐

