# Unity 应用内购简介

> 了解在游戏中实现 Unity 应用内购的选项。

Unity 应用内购 (IAP) 提供了统一的 API 来实现和管理跨多个商店的应用内购。您可以使用一组 IAP API 并由 Unity 处理特定于商店的通信，而不是单独与每个商店的内置 SDK 集成。

Unity IAP 支持内置平台商店（Apple App Store 和 Google Play Store）、用于平台外交易的 Direct-to-Consumer (D2C) 支付提供商以及您在 Unity Dashboard 中构建和管理的无代码托管 Web Store。还可以通过扩展 IAP 模块系统来实现完全自定义的商店。每种商店类型对购买流程、付款处理和授权管理的处理方式不同，因此为您的应用程序选择正确的商店类型取决于您的目标平台、商业模式和技术要求。

## 选择商店类型##choose-a-store-type

下表比较了 Unity IAP 中可用的商店类型，以帮助您决定哪种集成适合您的需求：

|                             | **直接到消费者 (D2C) 付款提供商（Stripe 或 Coda）**             | **Apple App Store**                                       | **Google Play 应用商店**                          | **網路商店**                                            | **自定义商店**             |
| --------------------------- | ------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------- | --------------------- |
| **支持的平台**                   | 跨平台（基于 Web 的签出）                                   | iOS、macOS、tvOS                                            | Android                                       | 跨平台（基于浏览器的店面）                                       | 取决于实现                 |
| **何时使用**                    | 在 Apple 和 Google 商店之外销售商品，例如在网络上或允许外部付款的选定地区      | 使用 Apple 的标准购买流程在 Apple 平台上发布                             | 使用 Google 的标准购买流程在 Android 上发布                | 通过应用商店之外的品牌网络店面直接向玩家销售                              | 集成 Unity IAP 本身不支持的商店 |
| **结帐体验**                    | 带有返回应用程序的深层链接的外部 Web 签出                           | 原生操作系统购买清单                                                | 原生操作系统购买清单                                    | 品牌网络店面，在购买后提供返回游戏的深层链接                              | 自定义                   |
| **谁负责付款处理**                 | Stripe（托管付款，作为记录商家）或 Coda（CodaPay，作为记录商家）         | Apple                                                     | Google                                        | Stripe 或 Coda（通过配置的 D2C 支付提供商）                      | 开发者                   |
| **商品目录设置**                  | Remote Catalog（必需）；不支持 IAP Catalog 和 Codeless IAP | IAP 目录、代码（`CatalogProvider`）或 Apple App Store Connect     | IAP 目录、代码（`CatalogProvider`）或 Google Play 控制台 | Unity 项目中的 IAP 目录，在 Unity Dashboard（Unity 后台）中进行配置  | 程序化                   |
| **需要 Unity Authentication** | 是                                                 | 否                                                         | 否                                             | 是                                                   | 否                     |
| **购买履行**                    | SDK、后端 API (webhook) 或 Cloud Code 模块              | SDK                                                       | SDK                                           | 后端 API（webhook）或 Cloud Code 模块（通过配置的 D2C 支付提供商）     | 自定义                   |
| **收据验证**                    | Unity IAP 订单服务；JWT 签名的 Webhook 事件                 | 自动 (StoreKit 2);通过 `OrderInfo.Apple.jwsRepresentation` 远程 | 通过收据`Payload`远程服务器端                           | Unity IAP 订单服务和 JWT 签名的 Webhook 事件（通过配置的 D2C 支付提供商） | 自定义                   |
| **恢复购买**                    | 重新安装后第一次`FetchPurchases()`调用时自动执行                 | Manual - Apple 策略要求的 Restore Purchases 按钮                 | 重新安装后第一次`FetchPurchases()`调用时自动执行             | 重新安装后第一次`FetchPurchases()`调用时自动执行                   | 自定义                   |
| **支持的订阅**                   | 否                                                 | 是                                                         | 是                                             | 否                                                   | 取决于实现                 |

> **Important:**
>
> Apple 和 Google 现在允许在选定地区使用外部 Web 链接和第三方付款。资格、费用和技术要求因平台和地域市场而异。您有责任遵守每个平台对您的目标地区的要求。

### 后续步骤##next-steps

选择商店类型后，请参阅相关文档以设置集成：

* 对于 D2C 支付提供商，请参阅 [D2C 支付提供商集成](/iap/payment-providers/workflow.md)工作流程。
* 有关 Webshop，请参阅 [Webshop](/iap/webshop.md)。
* 对于 Apple 和 Google 应用商店，请参阅 [Get started with Unity IAP](./get-started.md)。
* 有关自定义商店，请参阅[自定义商店模块](./custom-store-modules.md)。
