iOS应用内购买:服务器端收据验证,可多次购买消耗品

时间:2018-09-20 10:24:15

标签: ios in-app-purchase receipt-validation

关于IAP消耗品的收据,在Apple documentation中,我读到:“ 有关消耗品的信息在付款时会添加到收据中,并保留在收据中,直到您完成付款为止。完成交易后,下次更新收据时(例如,用户下次购物”时,将删除此信息。)。

在从服务器到服务器收据验证的情况下,假设用户购买了消耗品“ A”,并且由于服务器中断,无法立即验证购买,并且相应的交易未完成。然后,假设用户在服务器仍不工作时再次购买另一种“ A”产品。 据我了解,IAP收据对于所有购买都是唯一的,可以通过以下方式获取:

let appStoreReceiptURL = Bundle.main.appStoreReceiptURL,
let receiptData = try Data(contentsOf: appStoreReceiptURL, options: .alwaysMapped);
let receiptString = receiptData.base64EncodedString(options: []);

现在,由于收据是唯一的,并且第一笔交易尚未完成,因此第二笔购买是否会附加到收据中的第一笔?当需要验证购买时,我是否应该将同一张收据发送到我的服务器以进行两次验证?

提前谢谢

0 个答案:

没有答案