> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Economy v2 商店

> 创建 PlayFab Economy v2 商店以精选物品列表、覆盖目录价格，并进行游戏内促销、折扣和限时优惠。

<Info>
  Economy v2 现已正式发布。如需支持和反馈，请访问 [PlayFab 论坛](https://community.playfab.com)。
</Info>

商店是构建和发展游戏内经济的绝佳方式。商店是一种特殊的物品类型，包含物品和价格列表，允许你覆盖物品的基础目录价格。商店可用于管理你游戏中物品可购买的位置，提供游戏内折扣和促销，以及更多！

## 创建商店

要创建商店，你必须首先确保已发布你希望在游戏中可访问/可购买的其他目录物品、货币或 UGC。你可以按照 [Economy v2 快速入门](/services/playfab/economy-monetization/economy-v2/quickstart#step-3---publish-an-item-to-the-catalog)中的步骤操作

### GameManager

1. 导航到 **Economy** > **Catalog (V2)**。
2. 在 **Stores** 选项卡下，选择 **New Store**。

填写所需的元数据，关键要设置的项之一是你希望在此商店可用的物品，以及你希望将它们的价格覆盖为什么。

### API

你可以使用 `CreateDraftItem` 创建商店。

创建商店的 `CreateDraftItem` 请求示例：

```json theme={null}
{
  "Item": {
   "Type": "store",
    "Title": {
      "NEUTRAL": "My First Store",
    },
    "StartDate": "2022-09-07T00:00:00.00000000Z",
    "ItemReferences":[
      {
        "Id":"LaserSword",
        "Amount": 1,
        "PriceOptions": {
          "Prices": [{
            "Amounts": [{
              "ItemId": "Diamond",
              "Amount": 1
            }]
          }]
        }
      },
      {
      "Id":"WeaponBundle",
      "PriceOptions": {
        "Prices": [{
          "Amounts": [{
            "ItemId": "Gold",
            "Amount": 10
            },
            {
            "ItemId": "Silver",
            "Amount": 10
          }]
        }],
      },
    }]
   },
   "Publish": true
}
```

***

上面是一个出售两件物品的商店，即 `LaserSword` 和 `WeaponBundle`。这两件物品都是已存在的目录物品，具有目录中定义的某些现有基础价格。这个商店覆盖了它们的现有价格，现在以 1 个 `Diamond` 提供 `LaserSword`，以 10 个 Gold 和 10 个 Silver 提供 `WeaponBundle`。

此请求将返回一个响应，说明商店已创建并发布：

```json theme={null}
{
  "code": 202,
  "status": "Accepted",
  "Item": {
    "Type": "store",
    "Id": "{{StoreID}}", 
    "Title": {
      "NEUTRAL": "My First Store",
    },
    ...
}
```

请注意，`Id` 现在与我们发布的商店关联。

<Note>
  为了简化概念，物品 ID 已从 GUID 换成物品名称，以更好地说明使用商店的示例。
</Note>

## 使用商店

当玩家调用 `PurchaseInventoryItems` API 时使用商店。当你调用 `PurchaseInventoryItems` 时，可选属性之一是 `StoreId` 参数，我们可以传入用于应用于此购买请求的商店。

使用商店的 `PurchaseInventoryItems` 请求示例：

```json theme={null}
{
    "Entity": {
        "Type": "title_player_account",
        "Id": "{{PlayerID}}"
    },
    "Item": {
        "Id": "LaserSword",
    },
    "Amount": 10,
    "PriceAmounts": [
        {
            "ItemId": "Diamond",
            "Amount": 1
        }
    ],
    "StoreId": "{{StoreID}}"
}
```

请注意传入购买请求的 `{{StoreId}}`，以及预期的 `PriceAmount` 现在如何匹配我们在商店中设置的 1 Diamond 成本。

## 搜索商店

当你使用 `SearchItems` API 时，你可以传入的属性之一是 `Store` 参数。此参数允许你在商店的上下文中进行搜索。除了能够检查特定商店中是否存在物品外，它还可用于显示商店物品/内容的覆盖价格。你也可以使用商店的 `AlternateId` 进行搜索。

```json theme={null}
{
  "Search": "",
  "Filter": "ContentType eq 'weapons'",
  "Store": {
    "Id": "{{StoreID}}"
  },
}
```


## Related topics

- [Economy v2 中带有固定内容的容器](/zh-CN/services/playfab/economy-monetization/economy-v2/tutorials/containers-with-fixed-contents.md)
- [目录概览](/zh-CN/services/playfab/economy-monetization/economy-v2/catalog/catalog-overview.md)
- [制作游戏 第 3 部分 - 编码](/zh-CN/services/playfab/economy-monetization/economy-v2/tutorials/craftingGame/crafting-game-coding.md)
- [商店（旧版 Economy）](/zh-CN/services/playfab/economy-monetization/economy/stores/index.md)
- [Economy v2 概览](/zh-CN/services/playfab/economy-monetization/economy-v2/overview.md)
