Ios 应用内购买沙盒服务器为一张收据返回多个交易

Ios 应用内购买沙盒服务器为一张收据返回多个交易,ios,iphone,ipad,in-app-purchase,storekit,Ios,Iphone,Ipad,In App Purchase,Storekit,现在,当我为一笔交易向沙盒服务器(sandbox.itunes.apple.com)发送收据时,我会收到与苹果账户相关的所有交易的信息。这是预期的行为吗?还有其他人遇到过这种情况吗?是的,收据包含应用程序进行的所有交易的信息。但是你应该考虑一个非常重要的问题: 消耗品的应用内采购收据添加到 购买时的收据。它保存在收据中,直到 你的应用程序完成该事务。在该点之后,它将被移除 例如,下次更新收据时从收据开始, 当用户再次购买时,或者如果您的应用程序 刷新收据 非消耗性产品的应用内采购收据, 自动续费

现在,当我为一笔交易向沙盒服务器(sandbox.itunes.apple.com)发送收据时,我会收到与苹果账户相关的所有交易的信息。这是预期的行为吗?还有其他人遇到过这种情况吗?

是的,收据包含应用程序进行的所有交易的信息。但是你应该考虑一个非常重要的问题:

消耗品的应用内采购收据添加到 购买时的收据。它保存在收据中,直到 你的应用程序完成该事务。在该点之后,它将被移除 例如,下次更新收据时从收据开始, 当用户再次购买时,或者如果您的应用程序 刷新收据

非消耗性产品的应用内采购收据, 自动续费订阅、非续费订阅或免费订阅 订阅将无限期保留在收据中


更新事务状态时,它将通过调用方法-paymentQueue:updatedTransactions:,通知您注册为SKPaymentTransactionObserver的对象。在此之后,您应该查看事务状态以及它是否“已购买”您应该让购买的物品可供用户使用。SKPaymentTransaction更新后有大量关于交易的信息,包括SKPayment,它具有产品标识符和其他有用属性。在您的服务器从Apple获得响应后,您应该解析整个响应并相应地更新您的服务器模型。您不能只更改收据的一部分。