> ## 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.

# Rastreamento de preços em dinheiro real no Economy v2

> Defina RealMoneyPriceDetails em pacotes do PlayFab Economy v2 e rastreie a receita por meio do evento marketplace_transaction_redeemed para relatórios de análise.

> [!NOTE]
>
> O Economy v2 agora está em disponibilidade geral. Para suporte e comentários, acesse o [Fórum do PlayFab](https://community.playfab.com).

Quando os jogadores compram itens por meio de marketplaces externos (Apple App Store, Google Play, Steam, Microsoft Store, Nintendo eShop, PlayStation Store), a transação envolve dinheiro real. Ao configurar `RealMoneyPriceDetails` nos pacotes do seu catálogo, o PlayFab registra o valor da receita no evento [marketplace\_transaction\_redeemed](/pt-BR/services/playfab/api-references/events/Inventory/marketplace-transaction-redeemed), permitindo que você crie análises e relatórios de receita.

Este tutorial orienta você pelo fluxo completo: definir preços em dinheiro real em um pacote, resgatar uma compra e visualizar os dados de receita nos eventos.

## Pré-requisitos

* Uma [conta de desenvolvedor do PlayFab](https://developer.playfab.com/en-us/sign-up).
* Um título criado no [Game Manager](https://developer.playfab.com/).
* Uma integração de marketplace já configurada (por exemplo, [Google](/pt-BR/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-integrations/google), [Apple](/pt-BR/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-integrations/apple) ou [Microsoft Store](/pt-BR/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-integrations/microsoft)).
* Um pacote publicado com um [Mapeamento de Marketplace](/pt-BR/services/playfab/economy-monetization/economy-v2/catalog/bundles) vinculando-o a um produto do marketplace.

## Etapa 1: Definir preços em dinheiro real no seu pacote

Adicione `RealMoneyPriceDetails` ao pacote vinculado ao seu produto do marketplace. Especifique os preços na **menor unidade monetária** (por exemplo, centavos para USD) por marketplace.

### API

Use [UpdateDraftItem](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/update-draft-item) para adicionar preços a um pacote existente e, em seguida, publique-o:

```json theme={null}
{
  "Item": {
    "Id": "{{StarterPackBundleID}}",
    "Type": "bundle",
    "Title": {
      "NEUTRAL": "Starter Pack"
    },
    "ItemReferences": [
      {
        "Id": "{{LaserSwordID}}",
        "Amount": 1
      },
      {
        "Id": "{{GoldCurrencyID}}",
        "Amount": 500
      }
    ],
    "RealMoneyPriceDetails": {
      "GooglePlayPrices": {
        "USD": 499
      },
      "AppleAppStorePrices": {
        "USD": 499
      },
      "MicrosoftStorePrices": {
        "USD": 499
      }
    },
    "AlternateIds": [
      {
        "Type": "GooglePlay",
        "Value": "com.mygame.starterpack"
      },
      {
        "Type": "AppleAppStore",
        "Value": "com.mygame.starterpack"
      },
      {
        "Type": "MicrosoftStore",
        "Value": "9NBLGGH42CFD"
      }
    ]
  },
  "Publish": true
}
```

### Game Manager

1. Vá para **Economy** > **Catalog (V2)** > **Bundles**.
2. Selecione o pacote a ser editado.
3. Na seção **Prices**, defina o preço em dinheiro real para cada marketplace em que o pacote aparece.
4. Verifique se a seção **Marketplace Mapping** tem os AlternateIds corretos para cada marketplace.
5. Selecione **Save and publish**.

***

### Referência de formato de preço

Os preços usam a menor unidade monetária. Atualmente, somente **USD** é compatível.

| Preço real | Valor do dicionário |
| - | - |
| \$0.99 | `{"USD": 99}` |
| \$1.39 | `{"USD": 139}` |
| \$4.99 | `{"USD": 499}` |
| \$9.99 | `{"USD": 999}` |
| \$19.99 | `{"USD": 1999}` |

Defina preços somente para os marketplaces que seu título usa. As propriedades de marketplace compatíveis são:

* `AppleAppStorePrices`
* `GooglePlayPrices`
* `MicrosoftStorePrices`
* `NintendoEShopPrices`
* `PlayStationStorePrices`
* `SteamPrices`

### Preços diferentes por marketplace

Se você precifica seu jogo de forma diferente entre as lojas, defina cada propriedade de marketplace individualmente:

```json theme={null}
"RealMoneyPriceDetails": {
  "GooglePlayPrices": {
    "USD": 499
  },
  "AppleAppStorePrices": {
    "USD": 529
  },
  "SteamPrices": {
    "USD": 449
  }
}
```

## Etapa 2: O jogador faz uma compra e resgata

Depois que um jogador compra o item no marketplace externo, seu jogo chama a API de resgate apropriada:

| Marketplace | API de resgate |
| - | - |
| Google Play | [RedeemGooglePlayInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/redeem-google-play-inventory-items) |
| Apple App Store | [RedeemAppleAppStoreInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/redeem-apple-app-store-inventory-items) |
| Microsoft Store | [RedeemMicrosoftStoreInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/redeem-microsoft-store-inventory-items) |
| Steam | [RedeemSteamInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/redeem-steam-inventory-items) |
| Nintendo eShop | [RedeemNintendoEShopInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/redeem-nintendo-e-shop-inventory-items) |
| PlayStation Store | [RedeemPlayStationStoreInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/redeem-play-station-store-inventory-items) |

Quando o PlayFab processa o resgate, ele:

1. Associa o recibo do marketplace ao `AlternateId` do pacote.
2. Concede o conteúdo do pacote ao inventário do jogador.
3. Emite um evento `marketplace_transaction_redeemed` que inclui os `RealMoneyPrices` do pacote correspondente.

## Etapa 3: Visualizar a receita nos eventos

Após um resgate bem-sucedido, o evento `marketplace_transaction_redeemed` é emitido e inclui os dados de preço em dinheiro real. Você pode encontrar esse evento no Game Manager ou consultá-lo por meio do pipeline de dados.

### Visualizar no Game Manager

1. Vá para **Data** > **Event History** (na seção **Analyze**).
2. Pesquise o nome do evento `marketplace_transaction_redeemed`.
3. Selecione um evento para ver seus detalhes, incluindo o campo `RealMoneyPrices`.

### Exemplo de conteúdo do evento

Um resgate no Google Play do Starter Pack (\$4.99 USD) produz um evento como este:

```json theme={null}
{
  "EventName": "marketplace_transaction_redeemed",
  "Marketplace": "GooglePlay",
  "MarketplaceTransctionId": "GPA.1234-5678-9012-34567",
  "MarketplaceAlternateId": "com.mygame.starterpack",
  "Amount": 1,
  "ItemId": "{{StarterPackBundleID}}",
  "ItemType": "bundle",
  "RealMoneyPrices": {
    "USD": 499
  }
}
```

O mesmo pacote resgatado na Apple App Store (com preço de \$5.29 USD) produz:

```json theme={null}
{
  "RealMoneyPrices": {
    "USD": 529
  }
}
```

O PlayFab usa o preço do marketplace específico em que o resgate ocorreu.

### Consultar dados de receita

Você pode usar os dados do evento para análises personalizadas. Por exemplo, para calcular a receita total em um período, consulte todos os eventos `marketplace_transaction_redeemed` e some os valores de `RealMoneyPrices.USD`:

```text theme={null}
Total revenue = Sum of (RealMoneyPrices.USD × Amount) across all events
```

> [!NOTE]
>
> `RealMoneyPrices` reflete o que você configurou em `RealMoneyPriceDetails`, não o valor real cobrado pelo marketplace. Mantenha seus preços sincronizados com suas listagens no marketplace para obter relatórios precisos.

## Práticas recomendadas

* **Sempre defina `RealMoneyPriceDetails` nos pacotes de marketplace.** Sem isso, o campo `RealMoneyPrices` nos eventos de resgate fica vazio e você perde a visibilidade da receita.
* **Use a menor unidade monetária.** Para USD, informe o preço em centavos (por exemplo, `499` para \$4.99).
* **Preencha somente os marketplaces que você usa.** Você não precisa definir preços para todos os marketplaces, apenas para aqueles em que seu título está publicado.
* **Mantenha os preços sincronizados com suas listagens no marketplace.** Ao atualizar preços em um marketplace externo, atualize a propriedade correspondente em `RealMoneyPriceDetails` para manter relatórios precisos.
* **Defina preços por marketplace quando eles forem diferentes.** Se o seu jogo tiver preços diferentes entre as lojas, use as propriedades por marketplace para refletir o preço real em cada plataforma.

## Confira também

* [Referência de preços em dinheiro real](/pt-BR/services/playfab/economy-monetization/economy-v2/catalog/real-money-prices)
* [Pacotes do Economy v2](/pt-BR/services/playfab/economy-monetization/economy-v2/catalog/bundles)
* [Início rápido de prevenção de fraudes](/pt-BR/services/playfab/economy-monetization/economy-v2/fraud-prevention/quickstart)
* [Integrações de marketplace](/pt-BR/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-integrations/overview)
* [Evento marketplace\_transaction\_redeemed](/pt-BR/services/playfab/api-references/events/Inventory/marketplace-transaction-redeemed)


## Related topics

- [Preços em dinheiro real do Economy v2](/pt-BR/services/playfab/economy-monetization/economy-v2/catalog/real-money-prices.md)
- [Lojas e promoções no Economy (Legado)](/pt-BR/services/playfab/economy-monetization/economy/tutorials/stores-and-sales.md)
- [Perguntas frequentes sobre o Economy versão 2 (V2)](/pt-BR/services/playfab/economy-monetization/economy-v2/faq.md)
- [Práticas recomendadas para segmentação de lojas no Economy (Legado)](/pt-BR/services/playfab/economy-monetization/economy/tutorials/best-practices-for-store-segmentation.md)
- [Visão geral do catálogo](/pt-BR/services/playfab/economy-monetization/economy-v2/catalog/catalog-overview.md)
