VKWebAppOpenPayForm
VKWebAppOpenPayForm
показывает экран VK Pay для совершения платежа.
Примечание. Если пользователь ещё не завёл аккаунт VK Pay, при первом вызове ему будет предложено ввести данные для регистрации.
Пример
bridge.send('VKWebAppOpenPayForm', {
app_id: 6909581,
action: 'pay-to-user',
params: {
user_id: 743784474
}})
.then((data) => {
if (data.status) {
// Экран VK Pay показан
}
})
.catch((error) => {
// Ошибка
console.log(error);
});
Платформы
Android, iOS, Mobile Web, Web
Параметры
Поле | Тип | Описание |
---|---|---|
app_id
обязательное | integer | Идентификатор мини-приложения. |
action
обязательное | string | Тип перевода внутри VK Pay. Возможные значения:
• pay-to-service — перевод денежных средств сервису. Доступно только организациям, подключённым через форму для юридических лиц. Прочтите также документацию, описывающую расширенный набор параметров.
• pay-to-user — перевод фиксированных денежных средств пользователю.
• pay-to-group — перевод фиксированных денежных средств сообществу. Денежные средства будут переведены на баланс получателя, указанного в управлении сообществом.
• transfer-to-group — перевод произвольных денежных средств сообществу.
• transfer-to-user — перевод произвольных денежных средств пользователю. |
params
обязательное | object | Параметры платёжной формы VK Pay. Формат и параметры зависят от типа перевода. |
Результат
Проверить результат можно:
- •
Используя объект
Promise
, который возвращается вызовомbridge.send(...)
. - •
С помощью событий
VKWebAppOpenPayFormResult
иVKWebAppOpenPayFormFailed
.
Подробнее о проверке результатов при вызовах VK Bridge.
Возможные ошибки:
- •
This action cannot be performed in the background
, если мини-приложение или игра запущены в фоновом режиме.
Объект Promise
Если обращение к платформе прошло успешно, управление будет передано в then
-обработчик объекта Promise
. В качестве ответа платформа возвращает объект со следующими полями:
Поле | Тип | Описание |
---|---|---|
status | boolean | Информация о том, успешно ли выполнен платёж. Возможные значения:
• true — платёж выполнен успешно.
• false — произошла ошибка. |
transaction_id | string | Идентификатор транзакции в платёжной системе. Поле возвращается, если поле status имеет значение true . |
amount | string | Сумма платежа. |
extra | string | Дополнительные данные о продавце. |
Если при обращении к платформе произошла ошибка, управление передаётся в метод catch
. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.
События
VKWebAppOpenPayFormResult
Сигнализирует, что экран VK Pay показан. В обработчик события на стороне пользователя передаются следующие данные:
{
detail: {
type: "VKWebAppOpenPayFormResult",
data: {
status: true,
transaction_id: "1234ABCD-EEEE-5678-90FG-ABCDEF123456",
amount: "120.5",
extra: "{\"currency\":\"RUB\",\"merchant_data\":\"some_merchant_data\",\"merchant_sign\":\"some_sign\",\"order_id\":\"some_order_id\",\"ts\":1641999488}\""
}
}
}
Передаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса.
VKWebAppOpenPayFormFailed
Информирует об ошибке, которая произошла при взаимодействии с платформой.
В обработчик события на стороне пользователя передаётся объект с информацией об ошибке, общий для всех методов VK Bridge.
Пример обработки событий
Смотрите раздел Обработка событий-результатов.