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

API. Общие сведения

Раздел документирует реализацию API для приёма платежей через кредитные организации.

Взаимодействие информационных систем QIWI и провайдера строится в режиме “запрос-ответ”, где инициатором запроса всегда является QIWI, а отвечающей стороной — провайдер.

Требования к интерфейсу провайдера

  1. Интерфейс должен принимать запросы по протоколу HTTPS на один из следующих TCP-портов: 80, 81, 443, 8008, 8080, 8081, 8090, 8443, 4433. Использование иных портов не допускается.
  2. Интерфейс должен обрабатывать запросы, передаваемые методами HTTP GET, HTTP POST. Методом GET параметры передаются в пути запроса, методом POST — в теле запроса в виде URLencoded-строки.
  3. Интерфейс должен формировать ответ на запрос в формате XML в кодировке UTF-8.
  4. Скорость ответа не должна превышать 60 секунд, в ином случае сервер QIWI разрывает соединение по таймауту.
  5. Если количество платежей за услуги провайдера ожидается интенсивным (до 10 платежей в минуту и более), интерфейс должен поддерживать многопоточную коммуникацию до 10-15 соединений одновременно.
  6. Интерфейс должен принимать запросы только с IP-адресов подсетей QIWI:

    • 79.142.16.0/20
    • 195.189.100.0/22
    • 91.232.230.0/23
    • 91.213.51.0/24

Авторизация запросов

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

Сервер QIWI будет передавать логин и пароль по стандартным правилам basic-аутентификации:

  • К запросу добавляется HTTP-заголовок Authorization.
  • В заголовке указывается строка Basic (с пробелом на конце) и пара логин:пароль, закодированная в Base64.

Также поддерживается авторизация запросов по клиентскому SSL-сертификату. Для использования такой авторизации предоставьте клиентский сертификат в формате PKCS12 при подключении.

Пример

Для авторизации провайдер предоставил пару Login:Password.

Пара кодируется в Base64:

BASE64("Login:Password") = "***"

В HTTP-запросе от QIWI передаётся заголовок

Authorization: Basic ***