【问题标题】:How do apps tie accounts with in-app purchase subscription?应用程序如何将帐户与应用内购买订阅联系起来?
【发布时间】:2019-05-02 21:27:59
【问题描述】:

我正在开发一个 iOS 应用,用户必须为我的应用注册/登录帐户。为了能够使用我的服务,我希望用户通过应用内购买支付(在我的情况下是自动续订)。然后,这会将他们的 IAP 绑定到他们的帐户(他们与我们一起创建),以便能够在任何其他 iOS 设备上使用。

案例 1: 例如,如果在电话 A 上为某个帐户购买了订阅,则在登录电话 B(使用同一帐户)时不应让用户再次付款。

案例 2: 或者,如果在手机上为账户 A 购买了订阅,则在同一部手机上注册账户 B 时,应让用户为账户 B 付费。

基本上,我希望应用内购买与我的帐户相关联(而不是我所理解的苹果设备/Apple 帐户。)

我知道他们是收据,这可能是我问题答案的一部分。或者,如果这是对应用内购买的限制,还有什么其他方式可以做到这一点(除了使用 Apple 的 IAP)

【问题讨论】:

  • 我计划在应用程序中验证收据并将收据上传到我的数据库。如果这是正确的方法,我不确定。
  • Apple 只知道 Apple ID,而不知道您的帐户系统。您将需要使用收据中的原始交易详细信息来确定此订阅已与另一个帐户相关联,并且要么不激活此帐户的订阅,要么删除另一个帐户上订阅的活动状态。强烈建议您在您的服务器上验证收据,而不是在您的应用中,以防止对您的验证代码的攻击。

标签: ios mobile in-app-purchase


【解决方案1】:

问题标题的答案:

当购买时,应用收到更新,下次启动它时包含一个 transaction_id(用于续订的 original_transaction_id),您应该将此交易 ID 与您的应用用户 ID 相关联。

案例 1: Apple 在您的应用中提供“恢复购买”选项。由于使用了相同的帐户,因此您的应用服务器已经知道用户已经付款,并且应用不应提示用户再次付款。但是,为了在手机 B 上接收即将到来的续订更新,您必须“恢复购买”,这将使 Apple 也可以链接此设备上的先前购买。恢复完成后,用户购买收据将在设备上可用,所有后续操作均应根据收据的内容验证进行。

这里有几点:

  1. 如果您的应用未向用户提供此选项,Apple 将拒绝该应用。
  2. 即使您的应用程序有问题,并且您未能恢复购买,也不会再次向用户收费。购买将失败,说明您已经购买了这个。

上述情况完全基于假设用户在两台设备上使用相同的 Apple ID(相同的应用程序用户 ID 无关紧要)。

案例 2:我不确定这是否可能。由于是同一台设备,用户使用相同的 AppleId(除非他在 App Store 中注销并更改了 apple id),Apple 将限制回购。充其量您可以使用订阅内容限制帐户 B,但如果您的应用程序允许在同一设备用例(例如 Instagram)上使用多个帐户,我不确定是否有相同的规定。

我为我使用的音乐服务应用测试了相同的场景。有一个有效的订阅,注销并使用其他电子邮件(应用程序)注册,但购买被拒绝提醒我已经购买。但是,它允许我升级和降级选项。我没有选择测试它们,以免弄乱我的帐户。

P.S:还有很多其他的注意事项/陷阱需要注意。其中一些:

  1. 在情况 2 中,Apple 会限制回购,但如果用户选择当前活动订阅以外的选项,则不会限制回购,这将升级/降级订阅。根据您的实施方式,它甚至可能会立即更改用户 A 的订阅,或者在用户重新登录时或之后的下一次续订时更改。
  2. 在此处讨论的两种情况下,用户使用相同的 Apple Id,但考虑以下情况 - 相同的 Apple Id 不同的应用程序 ID 以及不同的 Apple Id 和相同的应用程序 Id。 (See this)
  3. 对于第 2 种情况,您应该始终刷新收据或恢复购买(如果没有可用的收据)以重新登录用户。收据有一个原始交易 ID,您应该在第一次与用户 A 进行购买时链接该 ID。根据收据,您可以选择让用户 B 访问内容或限制。但是,您不能让用户为新帐户付费(我想是这样)。

有用的链接:

Restoring Purchases

Receipt Validation

【讨论】:

  • 您好,您提供的屏幕截图,应用程序上有恢复购买按钮吗?如果选择案例2会发生什么?
猜你喜欢
  • 2011-12-26
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 2017-10-29
  • 1970-01-01
  • 2018-07-20
  • 2013-08-03
  • 1970-01-01
相关资源
最近更新 更多