In-Game Purchases

Enable players to purchase items, upgrades, or currency within your game to enhance their experience and generate revenue.

There are two types of purchases — permanent (e.g., ad removal) and consumable (e.g., in-game coins).

Support

Check if in-game purchases are supported to offer items or upgrades within the game.

playgama_bridge_payments_is_supported()

Setup

Setup in-game purchases in the config file. For each product add an id and fill in the information for the required platforms, example for one product:

{
    ...    
    "payments": [
        {
            "id": "test_product",
            "playgama": {
                "amount": 1 // int price in Golden Fennec
            },
            "playdeck": {
                "amount": 1, // int price in Telegram Stars
                "description": "TEST PRODUCT"
            }
        }
    ]
}

Purchase

Allow players to buy items or upgrades in your game to enhance their gameplay experience.

playgama_bridge_payments_purchase("test_product") // id you specified in the config file

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_payments_purchase_callback" {
    if async_load[? "success"] {
        var purchase = json_parse(async_load[? "data"])
        var productId = purchase.id
        // your logic here
    }
}

// callback via script
function playgama_bridge_payments_purchase_callback(success, data) {
    if success {
        var purchase = json_parse(data)
        var productId = purchase.id
        // your logic here
    }
}

Consume Purchase

Consume purchased items, such as in-game currency, once they are used, to manage inventory and player progression.

playgama_bridge_payments_consume_purchase("test_product") // id you specified in the config file

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_payments_consume_purchase_callback" {
    if async_load[? "success"] {
        var purchase = json_parse(async_load[? "data"])
        var productId = purchase.id
        // your logic here
    }
}

// callback via script
function playgama_bridge_payments_consume_purchase_callback(success, data) {
    if success {
        var purchase = json_parse(data)
        var productId = purchase.id
        // your logic here
    }
}

Catalog of All Items

Retrieve a list of all available in-game items that players can purchase to display in the game store.

playgama_bridge_payments_get_catalog()

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_payments_get_catalog_callback" {
    if async_load[? "success"] {
        var catalog = json_parse(async_load[? "data"])
        for (var i = 0; i < array_length(catalog); i += 1)
	{
	    var catalogItem = catalog[i]
            var prodcutId = catalogItem.id
            var price = catalogItem.price
            var priceCurrencyCode = catalogItem.priceCurrencyCode
            var priceValue = catalogItem.priceValue
            // your logic here
	}
    }
}

// callback via script
function playgama_bridge_payments_get_catalog_callback(success, data) {
    if success {
        var catalog = json_parse(data)
        for (var i = 0; i < array_length(catalog); i += 1)
	{
	    var catalogItem = catalog[i]
            var productId = catalogItem.id
            var price = catalogItem.price
            var priceCurrencyCode = catalogItem.priceCurrencyCode
            var priceValue = catalogItem.priceValue
            // your logic here
	}
    }
}

List of Purchased Items

Retrieve a list of items that the player has purchased to manage their inventory and provide access to purchased content.

playgama_bridge_payments_get_purchases()

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_payments_get_purchases_callback" {
    if async_load[? "success"] {
        var purchases = json_parse(async_load[? "data"])
        for (var i = 0; i < array_length(purchases); i += 1)
	{
	    var purchase = purchases[i]
            var productId = purchase.id
            // your logic here
	}
    }
}

// callback via script
function playgama_bridge_payments_get_purchases_callback(success, data) {
    if success {
        var purchases = json_parse(data)
        for (var i = 0; i < array_length(purchases); i += 1)
	{
	    var purchase = purchases[i]
            var productId = purchase.id
            // your logic here
	}
    }
}

Last updated