集成 Direct-to-Consumer (D2C) 支付提供商工作流程
按照此工作流程将 D2C 支付提供商与应用内购(IAP)集成,以便您可以控制如何以及在哪里向用户提供和销售 IAP 商品。
阅读时间8 分钟最后更新于 20 天前
本指南概述了将 D2C 支付提供商与 Unity 应用内购 (IAP) 集成的端到端工作流程。工作流程涵盖了促进平台外交易所需的基本步骤,从如何通过 Unity Dashboard(Unity 后台)配置商店到如何实现必要的客户端和服务器端逻辑。按照此顺序,您可以确保玩家获得一致的购买体验,同时还能在 Unity Gaming Services (UGS) 环境和您选择的支付网关之间保持安全通信。 此集成使用充当记录商家 (MoR) 的 D2C 支付提供商。这意味着付款提供商承担处理付款的法律责任,包括税务合规、防止欺诈、争议和客户支持方面的支持。通过利用支付提供商作为 MoR,可以显著降低平台外交易的运营开销和合规性负担。 要将 Unity 应用内购 (IAP) 与 D2C 支付提供商集成,请完成以下步骤:
- 在 Unity Editor 中配置您的环境
- 创建 Remote Catalog
- 初始化服务以处理启动顺序
- 获取远程目录
- 配置 Webhook 或 Cloud Code 模块以实现购买(可选)
- 配置付款提供商
- 配置路由规则
- 完成购买
- 测试集成
先决条件
要将 D2C 支付提供商与 IAP 集成,您需要满足以下要求:- 已安装 Unity Editor 2022.3 或更高版本(建议使用 Unity 6.0 或更高版本),并提供了适用于目标平台的构建支持模块,例如:
- Android 构建支持
- iOS 构建支持
- 连接到 Unity 项目的 Cloud 项目。
- 安装 IAP v5.4。
- 有关更多信息,请参阅升级到 IAP 版本 5。
- 安装并配置 Unity Authentication 来管理玩家身份。
- 安装 Deployment 包以部署商品目录。
在 Unity Editor 中配置您的环境
在 Unity Editor 中设置的环境定义了在代码中初始化 Unity Gaming Services 后的 Unity IAP 运行位置。要设置环境,请按照以下步骤操作:- 在 Unity Editor 中,选择 Edit(编辑)> Project Settings...(项目设置...)> **Environments(**服务)。
- 选择要 IAP 运行的目标环境:开发、过渡或生产。
创建 Remote Catalog
要使用付款提供商,您需要将商品目录上传到 Unity IAP Remote Catalog 服务。Remote Catalog 服务允许您为用户提供最新产品,而无需安装新版本。要创建远程目录,请执行以下操作:- 创建 Unity IAP 商品目录。
- 将目录上传到 Remote Catalog 服务。
初始化服务以处理启动顺序
创建一个脚本来初始化 Unity Gaming Services (UGS) 以处理 IAP 的启动顺序。此启动脚本初始化 UGS,处理 Authentication 事件,登录玩家,然后触发 IAP 初始化。 有关更多信息和代码示例,请参阅初始化服务以处理启动顺序。获取远程目录
您需要创建一个连接到StoreController配置 Webhook 或 Cloud Code 模块以实现购买(可选)
Unity IAP 为平台外支付提供商管理授权,类似于 Apple 和 Google 为其商店处理授权的方式。如果需要将购买与后端同步或使用服务器授权,可以选择配置 Webhook 或 Cloud Code 模块来接收购买事件。 有关更多信息,请参阅配置 Webhook 或 Cloud Code 模块以实现购买。配置付款提供商
您可以根据业务需求(例如定价模型或内容类型)选择要用于 IAP 的支持付款提供商。您负责与外部支付提供商管理和商定价格。 有关内容类型和限制的信息,请参阅特定支付提供商的文档: 有关更多信息,请参阅配置付款提供商。配置路由规则
要激活付款提供商,您需要定义提供商路由规则。通过路由,您可以针对特定的玩家属性来确定您向每个玩家提供的付款提供商及其显示顺序。 有关更多信息,请参阅添加路由规则。完成购买
当玩家完成购买时,Unity IAP 会创建订单并跟踪其履行状态。您必须在授予玩家购买后确认(完成)购买。
您可以通过以下方式将订单标记为已完成:
方法 | 何时使用 | 解决方案结果 |
|---|---|---|
| 通过 SDK | 您的游戏授予客户端和服务器授权的权利不是优先级。 | 您的游戏客户端会确认购买客户端并使用 IAP 服务作为真相来源。 |
| 服务器验证以及 SDK | 游戏需要服务器端验证,但您希望避免管理 Webhook。 | 后端使用客户端的订单 ID 在履行订单之前直接从 Unity IAP |
| 通过后端 API | 您的游戏使用服务器授权权限。 | 后端接收 Webhook 事件,在系统中授予授权,并调用 API 将订单标记为已履行。 |
| 通过 Cloud Code 模块 | 游戏使用服务器端逻辑进行授权和实现,而无需管理自己的后端基础架构。 | 游戏使用 Cloud Code 模块和终端来处理服务器端的购买事件。 |
通过 SDK 完成购买
使用与 Apple 和 Google 购买相同的方法在游戏客户端中确认购买。在授予玩家权限后,客户端代码必须处理每个订单的OnPurchasePendingConfirmPurchase使用 SDK 和服务器端验证完成购买
如果使用 IAP SDK 实现购买,仍然可以调用后端 API 进行购买验证以实现服务器授权工作流程。 有关更多信息,请参阅使用服务器端验证以及 SDK。通过后端 API 完成购买
如果您的游戏使用服务器授权授权,请实现后端系统管理授权并实现购买。 有关更多信息,请参阅通过后端 API 完成购买。使用 Cloud Code 模块实现购买
如果您的游戏使用服务器授权权限,则可以使用 Cloud Code 模块来验证购买事件、完成购买并调用订单 API。 有关更多信息,请参阅使用 Cloud Code 模块实现购买。测试集成
测试您的集成以确保其正常工作,并确保您可以成功实现用户购买。 如需了解更多信息,请参阅测试集成。外部购买平台合规性
Unity 不会代表您执行 Apple 或 Google 平台合规性。您有责任在发送外部购买之前确定自己的资格并满足每个平台的要求。Unity 提供合规性回调 (SetComplianceCheck功能支持
IAP 目前不支持以下功能:- 通过 D2C 付款提供商订阅。
- Unity Analytics 对 D2C 交易的支持。
- 原生 Apple 和 Google 购买的托管权利。
- 用户的替代计费选择。