訂單數據持久化
有時候蘋果支付在支付完成后,從蘋果服務器返回收據的過程中可能會掉單(可能是網絡問題,可能是蘋果BUG,也有一部分是開發者自身埋的坑),因此我們需要一個訂單持久化的機制來保障。
首先根據內購商品ID(此商品ID是在蘋果后臺建好的內購商品)、用戶信息(后臺要求),傳給服務器獲取一個臨時單號,然后先將該臨時單號保存到一個變量里。在此之前,需要用數據持久化,對用戶最后一次選擇的內功商品ID進行永久儲存,就算用戶付款成功卻充值失敗了,即使App卸載了,也可以拿到最后一次請求的內購商品ID 。
///獲取充值臨時單號
- (void)iapGetTemOrderIdWithProductId:(NSString *)productId{self.productId = productId;[SVProgressHUD showWithStatus:@"請稍后..." ];NSString *urlString = @"";[HttpTools getHttpRequestURL:urlString RequestSuccess:^(id repoes, NSURLSessionDataTask *task) {[SVProgressHUD dismiss];NSDictionary *dicTem = [HttpTools respoesToDic:repoes];if ([dicTem[@"code"] integerValue] == 1) {///保存臨時單號self.temporaryOrderId = dicTem[@