Покупка продукта

Для совершения покупки вы можете использовать метод purchaseProduct(id):

func _purchase(id: String):
    var params = {
        "order_id""1234",
        "quantity"1,
        "payload""example"
    }
 
    if billing != null:
        billing.purchaseProduct(id, params)
 
func _on_purchase(data: Dictionary):
    if data['status'== 'cancelled':
        print('cancelled')
        if data['purchase'] != '':
            _delete(data['purchase'])
    elif data['status'== 'success':
        print('success')
        print(data)
    elif data['status'== 'failure':
        print('failure')
        print(data['message'])

Метод _on_purchase(data: Dictionary) — это обработчик сигнала rustore_purchase_product, который получает сообщение с информацией о покупке.

  • id — идентификатор продукта;
  • order_id — идентификатор заказа, создаётся на стороне AnyApp (опционально. Если не указан, то генерируется автоматически); 
  • quantity — количество продуктов (опционально);
  • payload — дополнительная информация от разработчика AnyApp (опционально).

По ключу data['status'] хранится статус выполнения запроса. Возможные значения:

  • success  удачное выполнение запроса.
  • failure  произошла ошибка запроса. В ключе data['message'] хранится сообщение ошибки.
  • cancelled — пользователь отменил покупку.

Доступные поля покупки

  • purchase_id — идентификатор покупки;
  • order_id — идентификатор заказа, создаётся на стороне AnyApp (опционально. Если не указан, то генерируется автоматически); 
  • invoice_id — идентификатор счета;
  • product_id — идентификатор продукта;
  • quantity — количество продуктов (опционально);
  • payload — дополнительная информация от разработчика AnyApp (опционально).
  • error_code  код ошибки, если запрос в статусе failure.
Обновлено 7 августа 2023 г.
Was this information helpful?