Сигнатура метода
Отображает диалог оплаты для конечного продукта. Для успешной оплаты серверный callback со стороны разработчика должен подтвердить оплату, иначе оплата закончится неудачей и средства будут возвращены пользователю. После успешного завершения транзакции приложение получит уведомление «ok» и JSON с amount как данные, иначе он получит уведомление «error».
Имя | Требуется | Тип | Описание |
---|---|---|---|
name | Да | String | Наименование продукта, например: 1 яблоня |
description | Да | String | Описание продукта, например: Золото позволяет покупать полезные вещи в игре |
code | Да | String | Идентификатор продукта, кодирующий продукты, сумму и т. п. в свободном формате |
price | Да | int | Общая стоимость в виртуальной валюте портала |
options | Нет | String | Устарело. Всегда null. |
attributes | Нет | String | Кодированные JSON пары ключей/значений, содержащие дополнительные параметры транзакции, которые будут переданы на сервер |
currency | Нет | String | Валюта платежа, на данный момент поддерживается только ok (по умолчанию) |
callback | Нет | String | false (по умолчанию) - обновить приложение после успешного выполнения транзакции, true - не обновлять приложение, а уведомить с помощью обратной связи (см. раздел API_callback) |
uiConf | Нет | String | Кодированные JSON пары ключей/значений, содержащие конфигурацию для отображения UI диалога оплаты. См. раздел «Возможные значения атрибута uiConf» ниже. |
Возможные значения атрибута uiConf
Ключ | Требуется | Тип | Описание |
---|---|---|---|
popLayer.payment.cards.mastercardOnly | Нет | Boolean | Указывает, требуется ли отображение инструкций о том, что оплата возможна только с помощью Mastercard |
popLayer.payment.custom | Нет | String | Имя относящегося к приложению заголовка и описание на экране платежа |
popLayer.payment.sms.enabled | Нет | Boolean | Указывает, требуется ли отображение способа оплаты через SMS, если для оплаты используется валюта RUR |
popLayer.payment.productHash | Нет | String | Валидационный хеш для защиты цены от подделки. Хеш должен быть сгенерирован только на сервере, поскольку секретный ключ приложения не должен быть доступен на клиенте. Валидация включается по запросу в поддержку |
productHash содержит шестнадцатеричное представление SHA-256 от UTF-8 строки code:price:secretKey
Например, для продукта Apple с ценой 5ОК и секретным ключом приложения 9DC54A7008D30D1E0E748F37:
popLayer.payment.productHash = SHA-256(“Apple:5:9DC54A7008D30D1E0E748F37”) = 00d8ff0c8c997fae89922dde39868da0fd4dedac8f18dfc1cced427b35c52155
Пример вызова
Пример коллбека
Отображает диалог оплаты для конечного продукта. Для успешной оплаты серверный callback со стороны разработчика должен подтвердить оплату, иначе оплата закончится неудачей и средства будут возвращены пользователю. После успешного завершения транзакции приложение получит уведомление «ok» и JSON с amount как данные, иначе он получит уведомление «error».
Функция API_callback может быть вызвана со следующими параметрами:
Коллбек для случая успешного проведения платежа
Веб-версия
method: “showPayment”
result: “ok”
data: “{‘amount’:’5’}”
Мобильная версия
method: “showPayment”
result: “ok”
data: “ok”
Коллбек для случая отмены платежа
method: “showPayment”
result: “error”
data: “cancel”
Коллбек для случая пополнения счета через телефон
В данный момент такой коллбек поддерживается только в мобильной версии платежной системы
В случае прихода такого коллбека между пополнением счета и проведением игрового платежа может быть задержка
method: “showPayment”
result: “ok”
data: “phone”
Коллбек для случая пополнения счета через карту
В данный момент такой коллбек поддерживается только в мобильной версии платежной системы
В случае прихода такого коллбека между пополнением счета и проведением игрового платежа может быть задержка
method: “showPayment”
result: “ok”
data: “card”
Серверный коллбек
При подтверждении проведения платежа пользователем ваш коллбек-сервис получит запрос с информацией о платежа для валидации на стороне игры.
Чтобы платеж был успешно завершен, вы должны подтвердить его.
Подробная информация о валидации игрового платежа может быть найдена здесь: callbacks.payment
Пример коллбека
?transaction_id=632264039936
&sig=60717782e6d0288aa730f85561fe1743
&uid=1234567890
&amount=5
&method=callbacks.payment
&transaction_time=2019-04-26 14:11:56
&product_code=qCoins
&extra_attributes=[]
&application_key=APPLICATION_PUBLIC_KEY
&call_id=1556277116081
Пример коллбека при мобильном платеже
Обратите внимание, что в коллбеке мобильного платежа всегда передается поле extra_attributes
?transaction_id=632264214528
&sig=aae5be58d0ab4eaf54db033b9d00b95c
&uid=1234567890
&amount=1
&method=callbacks.payment
&transaction_time=2019-04-26 14:12:35
&product_code=777
&extra_attributes={"launcher":"on"}
&product_option=
&application_key=APPLICATION_PUBLIC_KEY
&call_id=1556277155234
Пример коллбека с использованием attributes
Допустим, что вы вызвали платеж со значением параметра attributes = ”{"key": "value"}”
?transaction_id=632264756480
&sig=8226ef4f8b92bb11a406075d6f875da6
&uid=1234567890
&amount=1
&method=callbacks.payment
&transaction_time=2019-04-26 14:14:38
&product_code=777
&extra_attributes={"key": "value"}
&application_key=APPLICATION_PUBLIC_KEY
&call_id=1556277278594
Примеры диалога платежа
В результате выполнения функции пользователю будет показан диалог для подтверждения платежа
Пример диалога подтверждения платежа
Веб-версия
Мобильная версия
Пример диалога об успешном проведении платежа
Если пользователь подтвердил платеж, а ваш коллбек-сервис провалидирует серверный коллбек, то пользователю будет показано окно с информацией о завершении игрового платежа
Веб-версия
Мобильная версия
Пример диалога об ошибке проведения платежа
Веб-версия
Мобильная версия