Перейти к содержанию

Платёжная форма QIWI

Форма QIWI предназначена для указания платёжных реквизитов с целью проверки карты или покупки товара, или услуги. При проверке карты или оплате с формы QIWI партнёр не получает, не обрабатывает и не хранит платёжные данные клиента (например, данные карты). Это делает форма.

Для демонстрации работы формы без использования API откройте ссылку.

Возможные сценарии использования формы

Проверка карты

Адрес формы для проверки карты содержится в параметре payUrl ответа на запрос создания счета и включает параметр строки запроса validation/card.

Пример формы

CHECK_CARD-FORM

Оплата

Адрес формы для проверки карты содержится в параметре payUrl ответа на запрос создания счета и включает параметр строки запроса form.

Кастомизация

Кастомизация позволяет настроить внешний вид формы.

Настраиваются следующие элементы:

Элемент Требования Обязателен для настройки
Логотип Формат PNG или SVG, размер 48x48 или пропорционально больше
Цвет кнопок Формат HEX
Название провайдера/услуги
Ссылка на оферту

Для кастомизации формы обратитесь в службу поддержки и предоставьте:

  • список элементов, которые требуют настройки (см. таблицу выше);
  • siteId и уникальный код стиля формы (допустимо использовать цифры, латинские буквы и символ дефиса -).

В результате код, а следовательно и внешний вид формы, будет связан с конкретным siteId.

Чтобы применить стиль к форме, передайте код стиля в параметре:

Обратите внимание

Значение кода регистрозависимое.

Пример формы

PAY-FORM

URL-адрес формы

URL-адрес платёжной формы QIWI возвращается в ответе на запрос создания счёта и содержится в параметре payUrl. На полученный URL партнёр направляет клиента для оплаты заказа.

Пример payUrl
https://payment.qiwi.com/form?invoiceUid=606a5f75-4f8e-4ce2-b400-967179502275

При открытии платёжной формы в WebView на смартфонах Android должен быть включен settings.setDomStorageEnabled(true).

К исходному payUrl партнёр самостоятельно может добавить параметры:

Параметр Описание Значение
successUrl См. описание раздела «URL-адрес страницы для успешного платежа» URL-закодированная строка
failUrl См. описание раздела «URL-адрес страницы для неуспешного платежа» URL-закодированная строка
lang Язык платежной формы. Язык по умолчанию — русский (ru) ru, en
paymentMethod См. описание раздела «Способы оплаты» статьи «Интернет-эквайринг» → «Оплата с формы QIWI» → «Оплата с помощью API» CARD, SBP
Пример payUrl c параметром successUrl
https://payment.qiwi.com/form?invoiceUid=606a5f75-4f8e-4ce2-b400-967179502275&successUrl=https://example.com/payments/#introduction
Пример payUrl c параметром failUrl
https://payment.qiwi.com/form?invoiceUid=606a5f75-4f8e-4ce2-b400-967179502275&failUrl=https://example.com/payments/#introduction

Открытие формы в iframe

При открытии URL-адреса формы в iframe (iframe src="<ссылка payUrl> ..." />) партнёр может использовать метод postMessage для отслеживания состояния формы.

Возможные состояния:

  • INITIALIZED — форма загружена;
  • PAYMENT_ATTEMPT — попытка оплаты;
  • PAYMENT_SUCCEEDED — оплата прошла успешно;
  • PAYMENT_FAILED — оплата не прошла;
  • INITIALIZATION_FAILED — ошибка загрузки формы.
Пример обработчика событий iframe
window.addEventListener('message', function (event) {
    switch (event.data) {
        case 'INITIALIZED':
            // Форма загружена
            break;
        case 'PAYMENT_ATTEMPT':
            // Попытка платежа
            break;
        case 'PAYMENT_SUCCEEDED':
            // Платеж прошел успешно
            break;
        case 'PAYMENT_FAILED':
            // Платеж не прошел
            break;
    }
}, false)

URL-адрес страницы успешного платежа

После оплаты на форме QIWI клиента можно направить с формы на определённую страницу на сайте партнёра по successUrl. Клиент окажется на successUrl через 3-10 секунд после успешного совершения операции.

По переходу клиента на successUrl партнёр может понять, что клиент оплатил товар или услугу и вскоре статус операции в QIWI изменится.

Обратите внимание

Для принятия решения об успешности операции партнёру необходимо выполнить действия, указанные в статье «Общие принципы и правила» → «Решение об успешности операции».

URL-адрес необходимо указывать в кодировке UTF-8.

URL-адрес страницы неуспешного платежа

После неуспешной попытки оплаты на форме QIWI клиента можно направить с формы на определённую страницу на сайте партнёра по failUrl. Клиент окажется на failUrl через 3-10 секунд после неуспешного совершения операции.

По переходу клиента на failUrl партнёр может понять, что клиент не смог оплатить товар или услугу и вскоре статус операции в QIWI изменится.

URL-адрес необходимо указывать в кодировке UTF-8.

Язык

Форма поддерживает два языка: русский и английский. Языком по умолчанию является русский, это можно изменить, обратившись к курирующему менеджеру.