> For the complete documentation index, see [llms.txt](https://wiki.playgama.com/playgama/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.playgama.com/playgama/guides/monetization/in-game-purchases.md).

# In-game purchases

Consumable and permanent purchases through the Bridge, and the purchase flow from support check to consumption.

### Introduction

In-game purchases (IAP) let players buy items, upgrades, or currency alongside ad monetization. Playgama Bridge supports consumable and permanent purchases across supported platforms. The rules purchases must follow are section 2.4 of the [Advertising and Payments Requirements](/playgama/game-requirements/advertising-requirements.md).

**Types of in-game purchases:**

* Consumable: single-use items (e.g., boosters, lives, in-game currency). Ideal for temporary boosts or resource replenishment.
* Permanent: items that remain with the player permanently (e.g., skins, characters, levels).

**Supported platforms:** In-game purchases are currently available on Playgama, Yandex, MSN, Samsung and Facebook.

**Revenue share:** You receive a percentage of the revenue from purchases made in your games. The exact revenue share details are available in the [Developer Terms & Conditions](https://developer.playgama.com/terms).

### Implementation

Define the items available for purchase: item IDs, names, short descriptions, and prices. Make sure all product descriptions and prices are accurate and up to date.

If you're uploading a game to Playgama, you'll need to check the box indicating that your game includes in-app purchases on the game submission page, and fill in all the required parameters (product\_id, price in USD, type). Playgama will handle the conversion to internal currency automatically.

See [SDK setup](/playgama/bridge-sdk/setup.md) for SDK installation instructions.

### Purchase flow

1. **Check support.** Show the shop only when [`payments.isSupported`](/playgama/bridge-sdk/api/payments.md#support) is `true`; otherwise hide it or offer the items for rewarded ads or in-game currency.
2. **Load the catalog.** Read prices with [`payments.getCatalog()`](/playgama/bridge-sdk/api/payments.md#catalog-of-all-items) and show them exactly as returned, in the platform's currency (item 2.4.2).
3. **Process what is already paid.** At startup, read [`payments.getPurchases()`](/playgama/bridge-sdk/api/payments.md#list-of-purchased-items): restore permanent items, and grant and consume any consumable purchase left over from a session that ended mid-purchase (items 2.4.5–2.4.6).
4. **Buy.** Call [`payments.purchase(id)`](/playgama/bridge-sdk/api/payments.md#purchase) and grant the item only when it succeeds; nothing is granted on cancel or failure (item 2.4.3).
5. **Consume.** Right after granting a consumable item, call [`payments.consumePurchase(id)`](/playgama/bridge-sdk/api/payments.md#consume-purchase) — until then the same product cannot be bought again (item 2.4.4).
6. **Save.** Save the new state through [Storage](/playgama/bridge-sdk/api/storage.md) right after the purchase (see [Saving progress](/playgama/guides/game-development/saving-progress.md)).

Catalog and pricing recommendations are in [Ads best practices](/playgama/guides/monetization/best-practices.md#in-app-purchases-iap).

Engine-specific examples are available in the child pages of this section.
