OKSDK.Payment.showInFrame

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

Это устаревшая версия SDK, которое рекомендуется использоваться только для приложений, запускаемых не в iframe
Для игр, запускаемых на Одноклассниках, рекомендуем использовать мультиплатформенное SDK

Метод предназначен для проведения игрового платежа. Форма игрового платежа открывается как встроенный в текущее окно игры фрейм.

OKSDK.Payment.showInFrame(productName, productPrice, productCode, options, frameId)

Где:

  • productName - название игрового товара, которое будет показано в окне игрового платежа. Обязательный параметр;
  • productPrice - цена игрового товара в ОКах. Обязательный параметр;
  • productCode - код продукта, который будет передан приложению при проведении платежа, а также отображен в информации о платежной транзакции. Обязательный параметр;
  • options - устаревший параметр, не используется.
  • frameId - id элемента-контейнера, в котором размещается фрейм с формой игрового платежа. Обязательный параметр. Если элемент не создан вами заранее, то он будет создан автоматически и займёт всё окно игры целиком.

Пример вызова

OKSDK.Payment.show(
    "Одно яблоко",
    30,
    "apple",
    null,
    "paymentFrame"
);

В результате вызова метода на страницу игры будет добавлен фрейм с игровым платежом, в котором пользователь может потдвердить, либо отменить платеж:

Игровой платеж в окне

Обработка результата проведения платежа

При закрытии окна платежа игре будет сообщен результат его проведения. Формат сообщения зависит от способа открытия вашей игры.

Приложение открывается в iframe

Если приложение открывается в iframe, то при закрытии окна платежа вашей игре будет послан postMessage, у которого в поле data будет указан результат проведения платежа:

  • payment=cancel - если платеж был отменён;
  • payment=ok - если платеж был успешно проведен.

Окно с платежом будет автоматически закрыто независимо от того, каким способом оно было открыто.

Приложение открывается как отдельная страница

Если приложение открывается как отдельная страница, то при закрытии окна платежа будет произведен редирект на странице вашей игры. В URL запроса будет передан результат проведения платежа в виде дополнительного GET-параметра custom_args со значением :

  • payment=cancel - если платеж был отменён;
  • payment=ok - если платеж был успешно проведен.

Обратите внимание, что окно игры требуется закрывать вручную вам, автоматически оно в данном случае не закрывается.