最近手头上有一个项目,有苹果支付订阅的需求,一开始使用 Stripe 集成的订阅方案实现。
功能没有问题,确实可以实现完整订阅,取消订阅逻辑。
但是无法上架 App Store。
因为要上架 App Store,必须要使用 In-App Purchase(应用内购买),而 Stripe 提供的订阅功能,是不走 In-App Purchase。
因此,要上架 App Store,只能重新接入原生的苹果支付。
在正式接入苹果支付之前,需要先了解一些概念:
- 什么是 App 内购买项目?
- 什么是订阅?
- 什么是非消耗型 App 内购买项目?
- 什么是消耗型 App 内购买项目?
什么是 App 内购买项目?
App 内购买项目是指你在 App 内购买的额外内容或订阅。不是所有 App 都会提供 App 内购买项目。要在购买或下载某个 App 之前检查这个 App 是不是提供 App 内购买项目,请在 App Store 中找到这个 App。然后在这个 App 的价格或“获取”按钮附近查看有没有“App 内购买”字样。
App 内购买项目共分三种类型 — 订阅、非消耗型购买项目和消耗型购买项目。
什么是订阅?
订阅是指你支付相应的费用,以便能够在一段时间内访问某一 App 或服务中的内容。例如,你可以按月订阅 Apple Music。订阅包括你在 App 中注册的服务,例如视频流媒体服务或音乐流媒体服务。
除非你取消订阅,否则大多数订阅会自动续订。对于某些 App 和服务,你可以选取订阅续订的频率。例如,这些 App 和服务可能会为你提供每周、每月、每季度或每年的订阅选项。
什么是非消耗型 App 内购买项目?
下面列举了非消耗型 App 内购买项目的示例:
- 去除广告
- 完整版游戏解锁
- 升级到专业版本
- 奖励游戏关卡
你只需购买一次这些项目,即可传输到与你的 Apple ID 相关联的其他设备上。如果你丢失了非消耗型购买项目,或许可以免费恢复。
什么是消耗型 App 内购买项目?
下面列举了消耗型 App 内购买项目的示例:
- 游戏币,例如金币或宝石
- 游戏中的额外生命值
- 导出为新文件格式的文件包
每次需要这些项目时,你都需要重新购买,并且你无法免费重新下载已购买的项目。如果你移除并重新安装 App,或在新设备上安装 App,这些消耗型购买项目可能会丢失。例如,如果你之前曾在 iPhone 上开始玩一款游戏,而后又在 iPad 上安装了这款游戏,则游戏关卡会同步,但你在 iPhone 上购买的额外生命值不会同步。
在了解了一些基础知识之后,下一步就可以准备开始接入订阅了。
推荐阅读
- Apple In-App Purchase 支付(二)