API. Общие сведения¶
Раздел документирует реализацию API для приёма платежей через кредитные организации.
Взаимодействие информационных систем QIWI и провайдера строится в режиме “запрос-ответ”, где инициатором запроса всегда является QIWI, а отвечающей стороной — провайдер.
Требования к интерфейсу провайдера¶
- Интерфейс должен принимать запросы по протоколу HTTPS на один из следующих TCP-портов:
80
,81
,443
,8008
,8080
,8081
,8090
,8443
,4433
. Использование иных портов не допускается. - Интерфейс должен обрабатывать запросы, передаваемые методами
HTTP GET
,HTTP POST
. МетодомGET
параметры передаются в пути запроса, методомPOST
— в теле запроса в виде URLencoded-строки. - Интерфейс должен формировать ответ на запрос в формате XML в кодировке UTF-8.
- Скорость ответа не должна превышать 60 секунд, в ином случае сервер QIWI разрывает соединение по таймауту.
- Если количество платежей за услуги провайдера ожидается интенсивным (до 10 платежей в минуту и более), интерфейс должен поддерживать многопоточную коммуникацию до 10-15 соединений одновременно.
-
Интерфейс должен принимать запросы только с 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
при подключении.