订单数据持久化
有时候苹果支付在支付完成后,从苹果服务器返回收据的过程中可能会掉单(可能是网络问题,可能是苹果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[@