如何在Sandbox的应用程序购买中实现和测试iOS上的免费试用版?如何通过Apple收据验证流量和试用信息?

问题描述 投票:3回答:3

我想通过iTunes Connect在App购买应用程序中为我的1个月AR订阅创建试用期(1周)。问题是,如何在沙盒中测试它并在Apple收据中获得准确的信息,表明试用期和付费订阅之间的状态不同?谢谢!

ios in-app-purchase sandbox trial receipt
3个回答
2
投票

对于具有免费试用版的应用内商品,客户端的StoreKit会在in_app部分发出两个iOS7样式收据 -

  1. 当用户点击购买时开始免费试用。用户目前不收费。发送到服务器进行验证的收据将具有: expires_date_ms - purchase_date_ms = Number of Free trial days.
  2. 当免费试用日期结束且用户未从“管理”订阅屏幕关闭自动续订时,将发出另一个收据,这次是用户收费。签发的收据将有 expires_date_ms - purchase_date_ms = Term Length

如果用户在免费试用期满之前已关闭自动续订,则服务器应检测到此情况并关闭用户的订阅。


0
投票

首先,您需要创建一个test user from your iTunes account并注册您的in app purchase应用程序。然后,您可以使用该测试用户购买订阅。在这里,苹果提供了一些设施,比如你的1个月订阅将相当于5分钟,3等于约15分钟,依此类推。此外,如果您在应用程序购买中将其用作自动更新,它将续订3到4次,而不是我测试时修复的。


0
投票

我在生产帐户中进行了试用付款并从appstore收到了收据。该收据包括字段“is_trial_period”为“true”。但在试用期后,我收到真实账单的收据,并没有试用字段。

我写的逻辑是:

  • 如果收到验证后收到“is_trial_period”字段,则为真 - 这是试用收据
  • 如果收货字段“original_transaction_id”!=“transaction_id” - 这是真正的账单,我在我自己的数据库中找到原始交易并续订。

但是,appstore文档没有相同的试验字段信息。 Sandbox不是这个字段。

© www.soinside.com 2019 - 2024. All rights reserved.