订单数据持久化

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

订单数据持久化和验证相关解决方案相关推荐

  1. Docker 的数据持久化项目实战

    文章目录 官网 概述 初探Mysql镜像容器的数据存储 镜像准备:拉取mysql镜像 docker pull mysql 启动Mysql镜像 登录Mysql镜像容器 登录mysql 容器数据存储路径查 ...

  2. DataWorks数据建模 - 一揽子数据模型管理解决方案

    作者:DataWorks产品经理 刘天鸢 在当下的商业环境中,正确的数据治理策略对于数据增值是非常重要的.据统计,企业的数据一直都在以每年50%的速度增长,因此企业数据治理与整合的难度就不断加大了. ...

  3. Java 数据持久化系列之池化技术

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 在上一篇文章Java 数据持久化系列之JDBC中,我们了解到使用 ...

  4. docker helowin 迁移_docker-compose 安装 oracle_11g_r2 并实现数据持久化

    1,采用 docker-compose 安装 1,创建相关文件 mkdir /usr/local/docker cd /usr/local/docker mkdir oracle cd oracle ...

  5. 中小企业数据异地备份容灾解决方案

    中小企业数据异地备份容灾解决方案                [url]www.eisoo.com[/url] 详情 [email]wmx@eisoo.com[/email] 一. 背景: 随着信息 ...

  6. jpa 不自动建表_如何来实现SpringBoot应用的JPA数据持久化和热插拔

    数据持久化 JPA ( Java Persistence API)是用于管理Java EE和Java SE环境中的持久化,以及对象/关系映射的Java API. JPA最新规范为"JSR 3 ...

  7. sentinel 官方文档_Sentinel控制台监控数据持久化到MySQL数据库

    阅读文本大概需要3分钟. 根据官方wiki文档,Sentinel控制台的实时监控数据,默认仅存储 5 分钟以内的数据.如需持久化,需要定制实现相关接口. https://github.com/alib ...

  8. redis持久化到mysql的方案_redis进阶: 数据持久化

    redis是内存数据库,即数据库状态都是存储于内存中,因此,当服务器重启或者断开后,数据便会丢失:为了解决数据丢失问题,便需要将数据从内存保持到磁盘中,这就是redis的数据持久化 目前,redis实 ...

  9. 数据库容灾、复制解决方案全分析

    数据库容灾.复制解决方案全分析 https://blog.csdn.net/weixin_33985507/article/details/91535654 工程师小C的小店我也想开通小店 Pytho ...

最新文章

  1. HTML 常用标签全称
  2. es6的map()方法解释
  3. idea maven 出现:Try-with-resources are not supported at language level ‘5‘
  4. 在java中的交换方法有哪些_java中交换两个变量的值有哪几种方法,交换两个变量a和b的值...
  5. 插件原理[转自CSDN]
  6. git commit之后后面的操作步骤
  7. ***CI的CLI运行方式
  8. 技术升级成为Linux运维人前途的魔障,是跟进还是选择被淘汰?
  9. 西门子S7系列PLC的主要种类及应用软件
  10. Spreadjs表格
  11. GD32E230按键软件消抖程序
  12. ​LeetCode刷题实战317:离建筑物最近的距离
  13. WIZnet 物联网设计大赛 - WizFi360大赛
  14. DIY 章鱼猫活动 |
  15. mac小技巧之打印文件
  16. 【赵强老师】什么是PL/SQL?
  17. PCL:RANSAC 圆拟合(二维圆 + 空间圆)
  18. 关于left,top和translate2d以及translate3d性能问题的详讲
  19. 从spark.default.parallelism参数来看Spark并行度、并行计算任务概念
  20. Mybatis代码生成器Mybatis-Generator使用及配置详解

热门文章

  1. ArcGIS之GP服务发布
  2. C#进阶之WebAPI(二)
  3. [你必须知道的.NET] 第三回:历史纠葛:特性和属性
  4. RestFul风格学习
  5. 什么是Mybatis ?
  6. 【你会用代码画年兽吗】20行代码使用JS实现虎年春节倒计时 —— 红红火火过虎年
  7. java万法_Java I/O库的设计分析
  8. 服务器怎么控制忽略样式_使用JavaScript来编写你的CSS样式代码——JSS
  9. 【HDU - 1530】Maximum Clique(最大团问题,图论)
  10. 【CodeForces - 1150C】Prefix Sum Primes(思维)