1
SingeeKing 2023-05-23 10:42:51 +08:00
没太看明白到底是什么意思……
如果你说的不同的 receipt-data 获取到的苹果的信息一致那么很正常,就同一用户同一设备点两次恢复购买 receipt 都是不同的 所谓的删除是指为了清空你自己存储的数据库里的信息?首先如果只判断一个那么一定要只保留后面的(不然两次购买的被一次的冲掉);另外处理恢复购买时记得使用 original_transaction_id |
2
brader OP @SingeeKing 和你理解的差不多,就是有很多这种情况,两个或多个不同的 receipt-data 获取到的数据是一样的,不会存在你说的前面的会丢失部分交易,我观察了,无论用哪个票据拉取,交易都是全的,都是一样的,产生这个情况的原因可能就是你说的恢复购买。
服务端存储的这种多个票据,对我来说是多余的,所以我想删除一些,就是不知道我的判断逻辑是否正确 |
3
MozzieW 2023-05-23 10:51:47 +08:00
receipt-data 对应的是一个 AppleId 的全部购买,比如用户购买了订阅,然后续订 3 次,一次消耗型购买,这五个订单都可以通过 receipt-data 获取到。
四个订阅是续订的,它们的 original-transaction-id 一样,通过 original-transaction-id 可以获取到所以续订。也就说在续订这个场景下,保存一个 original-transaction-id 就可以了 如果 AppleId 存在其他类型购买,那么 receip-data 也能获取到,但它的 original-transaction-id 和订阅不是同一个值。要单独获取更新,或者直接可以不管,通过回调解决。 |
4
brader OP @MozzieW 我们流程是完善可用的了,客户端的我不管。我目前只是说我在服务端保存了客户端提交的所有 receipt-data ,然后用 receipt-data 去 https://buy.itunes.apple.com/verifyReceipt 接口拉取数据做分析,如上所说,我观察发现某些不同的 receipt-data 拉取的数据是一样的,可能是同用户恢复购买吧,只是 receipt-data 不同而已,我想删除一些这种重复的 receipt-data
|
5
SingeeKing 2023-05-23 10:58:30 +08:00
@SingeeKing 哦你想存的是 receipt-data ,那没问题,同一个用户的任何一个 receipt-data 都可以获取这个用户的全部购买信息,那你的删除策略也没问题
|
6
brader OP @SingeeKing 好的,感谢解答
|
7
rockyliang 2023-05-23 17:18:01 +08:00
这些 receipt-data 背后的购买物品是什么类型的?消耗型的还是订阅型的?
|
8
brader OP @rockyliang 订阅型的
|