Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
title search metatitle metadescription language_tabs toc_footers includes
Top-Up API QIWI Кошелька
true
Top-Up API QIWI Кошелька
Top-Up API QIWI Кошелька позволяет автоматизировать выплаты на QIWI Кошельки пользователей.
xml
Примеры
<a href='/'>На главную</a>
<a href='mailto:bss@qiwi.com'>Обратная связь</a>
topup-wallet/authorization_ru
topup-wallet/topup_ru
topup-wallet/topup-status_ru
topup-wallet/check-deposit_ru
topup-wallet/check-user_ru
topup-wallet/get-balance_ru
topup-wallet/errors_ru

Введение {#introduction}

Последнее обновление: 2020-07-14 | Редактировать на GitHub

API выплат на кошельки предназначено для платежных агентов КИВИ Банк (АО), позволяет зачислять деньги на кошельки пользователей (балансы учетных записей клиентов в системе QIWI Wallet).

Что позволяет протокол {#functions}

  1. Переводить деньги клиентам сервиса QIWI Кошелек - pay.
  2. Проверить текущий статус транзакции перевода - status.
  3. Проверять возможность проведения платежа - check-deposit-possible.
  4. Проверять существование клиентов в сервисе QIWI Кошелек - check-user.
  5. Следить за балансом на агентском счете для выплат - ping.

Как это работает {#howitworks}

  1. Пользователь передает вам сумму пополнения и номер QIWI Кошелька, который нужно пополнить.
  2. Вы отправляете запрос в Top-Up API QIWI Кошелька на проверку возможности проведения платежа.
  3. Вы отправляете запрос в Top-Up API QIWI Кошелька на пополнение этого кошелька.
  4. Вы проверяете текущий статус платежа. Платеж должен принять финальный статус.
  5. При успешном финальном статусе платежа средства автоматически перечисляются на баланс кошелька пользователя с вашего агентского счета.
  6. При неуспешном финальном статусе платежа вы возвращаете средства клиенту.

По вопросам интеграции и сотрудничества пишите на bss@qiwi.com.

Формат взаимодействия {#general}

Взаимодействие происходит посредством пересылки запросов и ответов на них системы QIWI Wallet. Запросы и ответы – XML-документы в кодировке UTF-8.

В API используются только HTTP POST-запросы, XML-документ помещается в теле HTTP-запроса. Используется только HTTPS-протокол.

Справка по формату значений тегов и атрибутов XML.

Описанные в документации теги и атрибуты запросов/ответов обязательны для передачи (если в описании конкретного тега или атрибута не указано иное). Добавление дополнительных тегов или атрибутов в ответы или запросы не является нарушением протокола. Следите за обновлениями протокола на Github.

Запросы в производственной среде отправляются по протоколу HTTPS на URL:

https://api.qiwi.com/xml/topup.jsp

При использовании аутентификации по клиентскому сертификату запросы в производственной среде отправляются по протоколу HTTPS на URL:

https://private-api.qiwi.com/xml/topup.jsp

Необходимо проверять подлинность сервера QIWI с помощью цепочки сертификации и не устанавливать соединение, если проверка не пройдет успешно.

Аутентификация запросов выполняется по логину и паролю, помещаемым в XML-тегах terminal-id и extra name="password", соответственно. Логин и пароль выдаются при подключении к системе QIWI Wallet. Смена пароля выполняется через сотрудников КИВИ Банк (АО) или сотрудников уполномоченного представителя КИВИ Банк (АО).

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

Единственным признаком, на основе которого вы можете принимать решение о успешности или неуспешности выполнения платежа на своей стороне, является статус транзакции в системе QIWI Wallet. Как только вы получили для вашего платежа идентификатор транзакции txn_id в системе QIWI Wallet, вы можете проверить статус транзакции методом Проверка статуса платежа.

Несмотря на то, что протокол является идемпотентным, наиболее достоверный и рекомендуемый способ получения финального статуса - реализация метода "Проверка статуса платежа"

Каждому платежу (набору реквизитов: сумма, валюта, идентификатор клиента в системе QIWI Wallet, идентификатор сервиса) вы должны присваивать уникальный идентификатор.

Этапы процесса информационного взаимодействия при пополнении QIWI Кошелька отображены на диаграмме:

sequenceDiagram participant Agent as Агент participant qb as Система QIWI Wallet Agent->>qb:Проверка возможности
проведения платежа
(запрос "check-deposit-possible") qb->>Agent:Ответ alt Проведение платежа возможно Agent->>qb:Пополнение учетной записи Клиента
(запрос "pay") qb->>qb:Создание кошелька
при отсутствии учетной записи qb->>Agent:Ответ (статус платежа или ошибка) Agent->>Agent:Финальный статус платежа? alt Если финальный статус не получен loop Цикл до получения финального статуса Agent->>qb:Проверка статуса платежа пополнения
(запрос "status") qb->>Agent:Ответ (текущий статус платежа) end end alt Успех / Финал qb->>qb:Зачисление средств на кошелек Клиента end alt Неуспех / Финал Agent->>Agent:Возврат средств Клиенту end end