我对使用应用程序内购买的特定情况有疑问。iOS应用程序内购买(耗材) - 服务器超时
我们必须在我们的应用程序购买金币消耗:
- 使用购买了$ .99硬币包与IAP
- 我们发送请求到我们的服务器,记录购买和硬币增加他们的帐户(这些硬币是在多个设备之间共享,我们的服务器在这里所做的工作)
- 的IAP完整的交易
问题是,我们应该做的,如果请求到我们的服务器超时或失败?用户花了钱,但永远不会拿到硬币。如果他们在那个时候再次尝试购买,它会给他们一个错误,说购买没有下载。
我看到一个“恢复事务”选项,但不知道如何在这里应用它。我宁愿没有在应用程序某处的按钮。
不要担心,这个程序尚未发布,而这个应用程序是用C#与MonoTouch的,但Objective-C的答案是受欢迎的。
也许生成一个交易ID?如果应用程序最近检测到事务已被尝试,并且您的服务器没有事务ID的记录,请将购买添加到服务器。从技术上讲,这将是“可破解的”,所以我建议使用可以验证的种子随机数生成器是由您创建的,而不是用户创建的。 – Dustin
有没有“苹果建议”的方式去解决它?我想我可以保存购买信息并在应用程序打开时恢复。 – jonathanpeppers
我觉得我最近读了一些东西,让我看看我能否找到它。 – Dustin