1

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

在此处输入图像描述

我的应用内购买包括以下组件:

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

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

Apple's Store:连接到 iTunes 连接的 Apple 商店配置为应用内购买。

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

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

当前工作流程

  • 第 1 步ios's Storekit:当用户在应用程序中购买商品时,移动应用程序请求通过用户的 ituneconnect向苹果商店付款。
  • 第 2(1) 步:如果与商店匹配,Apple 的商店会向用户收取费用,product_id并为移动应用返回账单。
  • 第 3(1) 步:移动应用程序将此账单发送到服务器,并通过身份验证让服务器知道谁是买家。服务器将通过步骤 5(1)向苹果商店验证账单,如果账单有效,苹果商店将响应结果通知该账单有效步骤 4(1)并且服务器将为用户更新此产品,此外服务器将存储一个独特bill_iduser_id下次可更新----------步骤 6(1)。服务器将响应客户端退出进程(步骤空号)=>购买成功的第一种方式。

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

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

  • 第 2(2) 步:Apple 的商店将通过 HTTP POST 将 JSON 对象传递到您的服务器,以获取表 6-3中列出的关键订阅事件。我的问题从这里开始。. Apple 将发送带有 a 的钩子,latest_receipt_info我可以解析得到original_transaction_id,但如果只有original_transaction_id,我的系统将无法知道为某人更新,所以我需要从我的数据库中查询original_transaction_iduser_id存储(步骤 3(2))之前(步骤3(1)如果luckey ,因为如果钩子在客户端将账单发送到服务器之前从苹果收到receipt_info,我不知道这个 original_transaction_iduser_id

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

我不确定苹果商店何时将账单发送给我的客户以及何时发送给挂钩。真烂。

我的问题:我的解决方案究竟是什么?有人有解决方案来改善这个问题吗?谢谢你。如果您不理解我的任何描述,请提供要求清楚的信息。

4

0 回答 0