Сигнатура метода

Отображает диалог оплаты для конечного продукта. Для успешной оплаты серверный callback со стороны разработчика должен подтвердить оплату, иначе оплата закончится неудачей и средства будут возвращены пользователю. После успешного завершения транзакции приложение получит уведомление «ok» и JSON с amount как данные, иначе он получит уведомление «error».

FAPI.UI.showPayment(
    name,
    description,
    code,
    price,
    options,
    attributes,
    currency,
    callback,
    uiConf
);
ИмяТребуетсяТипОписание
nameДаStringНаименование продукта, например: 1 яблоня
descriptionДаStringОписание продукта, например: Золото позволяет покупать полезные вещи в игре
codeДаStringИдентификатор продукта, кодирующий продукты, сумму и т. п. в свободном формате
priceДаintОбщая стоимость в виртуальной валюте портала
optionsНетStringУстарело. Всегда null.
attributesНетStringКодированные JSON пары ключей/значений, содержащие дополнительные параметры транзакции, которые будут переданы на сервер
currencyНетStringВалюта платежа, на данный момент поддерживается только ok (по умолчанию)
callbackНетStringfalse (по умолчанию) - обновить приложение после успешного выполнения транзакции, 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

Пример

ForticomAPI.showPayment('Product Name', 'Product Description', 'Product Code', 10, null, null, 'ok', 'true');