In-game purchases

You can generate revenue by offering users the option to make purchases in your game, such as extra time for completing a level or character accessories.

To set this up:

Portal Currency

Yan is the official currency of the Yandex Games platform used to purchase in-game items. Player balances are shared across all games and can be topped up via bank cards. The exchange rate of Yans to rubles is dynamic.

Note

For international payments, the exchange rate to local currency depends on the player's country.

Players can top up their balance:

  • In the catalog header
  • In their profile
  • During in-game purchases

Bonus Yans can also be earned through promotions and special offers.

In-game purchases can be made by both Yandex-authorized users and unregistered users. A user can authorize directly within the game, including at the time of making a purchase.

The order and terms for paying the licensing reward to the developer remain unchanged following the introduction of the portal currency.

Connection Requirements

After adding purchases and publishing a draft version, send an email to games-partners@yandex-team.com. Include your game name and ID in the request.

After receiving a confirmation email that purchases are allowed, you can proceed to configure and test them.

Purchase Process

To initiate an in-game purchase, use the Initialize purchase method with these parameters:

ID

string

Unique product identifier in the catalog.

Payload

string

Optional data sent with the purchase.

After a player successfully completes a purchase, the triggers Specific product purchase success and On any purchase success become active.

If the player cancels the purchase and closes the window, the triggers Specific product purchase error and On any purchase error will activate instead.

These triggers give you access to expressions for handling successful or failed purchases:

Purchase Handling

There are two purchase types:

  • Non-consumable (usually purchased once)
  • Consumable (purchased multiple times)

For both types, use the For each purchase loop to access these expressions:

Non-Consumable Purchase (Ad Removal)

Handling logic:

  • Disable ads after successful purchase
  • On app launch, check purchase status and disable ads if active

Consumable Purchase (In-Game Currency)

Handling logic:

  • After successful purchase:

    • Process purchase via Consume purchase method
    • Grant in-game currency to player
  • On each game launch:

    • Check if the purchase still exists
    • If present, process with Consume purchase and grant currency again

Product Catalog

To get product list with prices, names and descriptions, use the For each product in catalog loop.

This gives access to these expressions:


Repository