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.
If the user loses internet connection when making an in-game purchase, the purchase might remain unprocessed. To avoid this, check for unprocessed purchases using this method (e.g., each time the game is launched).
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