VKWebAppOpenPayForm

VKWebAppOpenPayForm показывает экран VK Pay для совершения платежа.

Примечание. Если пользователь ещё не завёл аккаунт VK Pay, при первом вызове ему будет предложено ввести данные для регистрации.

Пример

JavaScript
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
Тип перевода. Возможные значения:    • pay-to-service — перевод в пользу юридического лица.    • pay-to-user — перевод пользователю фиксированной суммы.    • pay-to-group — перевод сообществу фиксированной суммы. Платёж поступит на счёт получателя, указанного в поле Кто получает платежи настроек сообщества: раздел МагазинНастройки магазинаОплата.    • transfer-to-user — перевод пользователю произвольной суммы.    •transfer-to-group — перевод сообществу произвольной суммы.
params обязательное
object
Параметры платёжного окна VK Pay. Параметры зависят от типа платежа action. Подробности — в инструкции по проведению платежа.

Результат

Проверить результат можно:

  • Используя объект 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
Дополнительные данные о продавце. Содержит данные объекта params.data.

Если при обращении к платформе произошла ошибка, управление передаётся в метод catch. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.

События

VKWebAppOpenPayFormResult

Сигнализирует, что экран VK Pay показан. В обработчик события на стороне пользователя передаются следующие данные:

JavaScript
{ 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.

Пример обработки событий

Подробнее — в разделе Обработка результата.

Песочница

VKWebAppOpenPayForm

Материалы по теме