Apple自动续订订阅工作流程是否准确?

时间:2018-09-14 07:39:29

标签: ios in-app-purchase auto-renewable

我有一个有关应用内购买功能的架构师系统。

enter image description here

我在应用内购买的商品包括:

客户:我的移动应用程序。

服务器:我的服务器系统。

苹果商店:在应用程序购买中配置为连接到iTunes的苹果商店

挂钩状态更新通知 statusUpdateNotification 是用于自动续订的服务器到服务器的通知服务。通知指定了发送通知时订阅的状态。 参考链接https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html#//apple_ref/doc/uid/TP40008267-CH7-SW6

数据库:我的数据库系统。

当前工作流程

  • 第1步:当用户在应用中购买商品时,移动应用会通过ios's Storekit和用户的iTunes连接向苹果商店付款。
  • 第2步(1):如果product_id与商店匹配并向移动应用返回账单,Apple商店将向用户收费。
  • 步骤3(1):移动应用将此帐单发送到服务器并进行身份验证,以使服务器知道谁是买方。服务器将通过 步骤5(1) 与苹果商店验证账单,如果账单有效,苹果商店将响应结果以通知该账单有效步骤4(1),服务器将为用户更新此产品,此外, 服务器将存储唯一的bill_iduser_id以便下次更新 ---------- 步骤6(1) 。服务器将响应客户退出流程( 步骤空号码 )=>购买成功的第一种方法。

在解决方案中,该项目是可更新的,系统将使用 Hook statusUpdateNotification 系统。

  • 步骤1 :上面的相同操作。

  • 步骤2(2):对于Table 6-3中列出的关键订阅事件,Apple商店将通过HTTP POST将JSON对象传递到您的服务器。 我的问题从这里开始。 。苹果将​​使用latest_receipt_info发送请求,我可以解析得到original_transaction_id,但是如果仅拥有original_transaction_id,我的系统将无法为某人更新,因此我需要使用original_transaction_id从我的数据库中查询,并在{ 步骤3(1))之前存储user_id步骤3(2))) 如果是幸运键 因为钩子在客户端向服务器发送账单之前从苹果收到了回执信息,我不知道original_transaction_id user_id }。)

  • 如果Hook可以使用user_id从数据库中获取original_transaction_id,则我的购买过程将成功。否则我的系统将失败,因为我不知道用户将被更新为已购买的产品。

我不确定苹果的商店何时将帐单发送给我的客户以及何时将其发送到挂机。糟透了。

我的问题:我的解决方案是真的吗?任何人都有解决此问题的解决方案?谢谢。如果您不理解我的描述,请提供要求的清晰信息。

0 个答案:

没有答案