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., removing ads) and consumable (e.g., in-game coins).
Support
Check if in-game purchases are supported to offer items or upgrades within the game.
Bridge.payments.is_supported
Setup
Setup in-game purchases in the . 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.
func _ready():
var id = "test_product" # id you specified in the config file
Bridge.payments.purchase(id, funcref(self, "_on_purchase_completed"))
func _on_purchase_completed(success, purchase):
print(success)
print(purchase)
func _ready():
var id = "test_product" # id you specified in the config file
Bridge.payments.purchase(id, Callable(self, "_on_purchase_completed"))
func _on_purchase_completed(success, purchase):
print(success)
print(purchase)
Consumable
Consume purchased items, such as in-game currency, once they are used, to manage inventory and player progression.
func _ready():
var id = "test_product" # id you specified in the config file
Bridge.payments.consume_purchase(id, funcref(self, "_on_consume_completed"))
func _on_consume_completed(success, purchase):
print(success)
print(purchase)
func _ready():
var id = "test_product" # id you specified in the config file
Bridge.payments.consume_purchase(id, Callable(self, "_on_consume_completed"))
func _on_consume_completed(success, purchase):
print(success)
print(purchase)
Catalog of All Items
Retrieve a list of all available in-game items that players can purchase to display in the game store.
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).
func _ready():
Bridge.payments.get_purchases(funcref(self, "_on_get_purchases_completed"))
func _on_get_purchases_completed(success, purchases):
print(success)
for purchase in purchases:
print("ID: " + str(purchase.id))
func _ready():
Bridge.payments.get_purchases(Callable(self, "_on_get_purchases_completed"))
func _on_get_purchases_completed(success, purchases):
print(success)
for purchase in purchases:
print("ID: " + str(purchase.id))