Операция используется для выплаты средств на банковские карты, выпущенные зарубежными банками. Выплата средств в системе QIWI Wallet представляет собой списание средств с авансового депозита агента и зачисление на банковские карты международных платежных систем «Visa International», «MasterCard International Incorporated», эмитированные зарубежными кредитными организациями. Платежная система определяется по номеру карты.
Платежи на карты Visa и MasterCard, выпущенные зарубежными банками, временно остановлены по причине ограничений со стороны платежной системы.
После выполнения запроса платеж начинает жизненный цикл в системе QIWI Wallet. Каждому этапу жизненного цикла соответствует определённый статус платежа. Цикл заканчивается после получения финального статуса платежа. Признак финального статуса указан в списке возвращаемых API статусов платежа.
Если в ответе на запрос выплаты получен нефинальный статус платежа, то для проверки успешного прохождения платежа вы должны периодически (но не чаще одного раза в 10 минут) выполнять запрос проверки статуса платежа до получения успешного или неуспешного финального статуса платежа.
Справка по формату значений тегов и атрибутов XML.
<?xml version="1.0" encoding="utf-8"?>
<request>
<request-type>pay</request-type>
<terminal-id>123</terminal-id>
<extra name="password">***</extra>
<auth>
<payment>
<transaction-number>12345678</transaction-number>
<from>
<ccy>RUB</ccy>
<extra name="source_first_name">Иван</extra>
<extra name="source_last_name">Иванов</extra>
<extra name="source_address">Можайское шоссе 38-2-46</extra>
<extra name="source_city">Moscow</extra>
<extra name="source_country_code">RU</extra>
<extra name="source_zip_code">121354</extra>
<extra name="source_resident">0</extra>
<extra name="source_birthday">16.12.1990</extra>
</from>
<to>
<amount>1115.00</amount>
<ccy>RUB</ccy>
<service-id>36655</service-id>
<account-number>4265111122334411</account-number>
<extra name="comment">Перевод на карту</extra>
<extra name="target_card_holder">Petrov Petr</extra>
</to>
</payment>
</auth>
</request>Внутри тега payment поля с тегом extra могут располагаться в любом порядке
| Тег | Описание |
|---|---|
| request | Группирующий тег. Дочерние теги содержат параметры платежа. |
| request-type | Тип запроса (идентификатор запроса выплаты: pay) |
| terminal-id | Идентификатор агента в системе QIWI Wallet |
| extra name="password" | Экстра-поле, содержащее пароль для аутентификации в системе QIWI Wallet |
| auth | Группирующий тег, описывает платежные данные |
| payment | Группирующий тег, описывает единичный платеж. В запросе может присутствовать только один тег payment. |
| transaction-number | Номер транзакции платежа в информационной системе агента. Его необходимо использовать при проверке статуса платежа. Номер транзакции и идентификатор terminal-id однозначно определяют платёж в системе QIWI Wallet. |
| from | Группирующий тег, содержит информацию о сумме, полученной агентом от клиента |
| from/ccy | Валюта счета агента, с которого будет произведено списание денежных средств (в качестве значения используется цифровой или буквенный код валюты по ISO 4217) |
| from/extra name="source_first_name" | Имя плательщика |
| from/extra name="source_last_name" | Фамилия плательщика |
| from/extra name="source_address" | Адрес плательщика |
| from/extra name="source_city" | Город адреса плательщика |
| from/extra name="source_country_code" | 2-х буквенный код страны по ISO 3166-1 alpha-2 |
| from/extra name="source_zip_code" | Почтовый индекс плательщика |
| from/extra name="source_resident" | Признак резидента (0 – нерезидент, 1 - резидент) |
| from/extra name="source_birthday" | Дата рождения |
| from/service-id | Идентификатор источника (канала) пополнения (необязательный параметр). Параметр используется в случае необходимости разделения потоков пополнения, сохраняя единый баланс агента. |
| to | Группирующий тег, содержит информацию о платеже |
| to/amount | Сумма к зачислению на карту |
| to/service-id | Идентификатор сервиса, на который производится зачисление средств при выплате (константа: 36655) |
| to/account-number | Номер карты Visa / MasterCard (без пробелов) для зачисления средств при выплате. Только карты, эмитированные зарубежными кредитными организациями. |
| to/ccy | Валюта выплаты (только RUB, USD, EUR). |
| to/extra name="comment" | Комментарий к платежу |
| to/extra name="target_card_holder" | Фамилия и имя получателя на латинице в формате LastName FirstName |
При возникновении сетевых ошибок (например, таймауты при соединении или чтении ответа), HTTP-ошибок (HTTP-статус не равен 200, пустой ответ), некорректных XML-документов (например, c отсутствующими обязательными тегами и/или атрибутами) вы должны перейти к периодическому запросу статуса до получения успешного или неуспешного финального статуса платежа. Поскольку при возникновении данных ошибок информация о статусе платежа не доступна, вы не должны отклонять платёж на своей стороне.
Формат ответа API зависит от того, как сервер обработал запрос:
- ответ без ошибок обработки запроса - в случае, когда запрос обработан корректно;
- ответ с ошибкой обработки запроса - в случае, когда сервер не смог обработать запрос (информация о платеже не получена).
<?xml version="1.0" encoding="utf-8"?>
<response>
<result-code fatal="false">0</result-code>
<payment status='60' txn_id='6060' transaction-number='12345678' result-code='0' message='Ok' msg='Ok' final-status='true' fatal-error='false' txn-date='02.03.2011 14:35:46' >
<from>
<amount>1115.00</amount>
<ccy>643</ccy>
</from>
<to>
<service-id>36655</service-id>
<amount>955.00</amount>
<ccy>643</ccy>
<account-number>4111********1123</account-number>
</to>
</payment>
<balances>
<balance code="428">0.00</balance>
<balance code="643">200.00</balance>
<balance code="840">12.20</balance>
</balances>
</response>Если запрос обработан корректно, то в ответе возвращаются сведения о платеже в теге <payment>.
Параметры ответа:
| Тег | Описание | Атрибуты |
|---|---|---|
| response | Группирующий тег ответа. | Отсутствуют. |
| result-code | Код ошибки обработки запроса. | fatal – логический признак фатальности ошибки обработки запроса в целом. |
| payment | Описание принятого платежа. | status – статус платежа в системе QIWI Wallet;txn_id – идентификатор транзакции платежа в системе QIWI Wallet. Если не заполнен, платёж не был зарегистрирован из-за временной ошибки. Попробуйте повторить запрос позже;transaction-number – номер транзакции платежа в информационной системе Контрагента;result-code – код ошибки обработки платежа;message, msg — текстовое описание ошибки;final-status – логический признак финального статуса платежа;fatal-error — логический признак фатальности ошибки обработки платежа (фатальная ошибка означает, что повторный запрос с теми же реквизитами приведет к повторению той же ошибки);txn-date – дата приема платежа в систему QIWI Wallet. |
| from | Группирующий тег, содержит информацию о списанных средствах. | Отсутствуют. |
| from/amount | Сумма, списанная со счета Контрагента. | Отсутствуют. |
| from/ccy | Валюта счета (в качестве значения используется цифровой или буквенный код валюты по ISO 4217). | Отсутствуют. |
| from/service-id | Идентификатор источника (канала) пополнения (необязательный параметр). Параметр используется в случае необходимости разделения потоков пополнения, сохраняя единый баланс агента. | |
| to | Группирующий тег, содержит информацию о платеже. | Отсутствуют. |
| to/amount | Сумма к зачислению на карту. | Отсутствуют. |
| to/service-id | Идентификатор сервиса, на который производится зачисление средств при выплате. | Отсутствуют. |
| to/account-number | Номер карты Клиента (маскированный). | Отсутствуют. |
| to/ccy | Валюта выплаты (цифровой или буквенный код валюты по ISO 4217). | Отсутствуют. |
| balances | Группирующий тег, содержит информацию о балансе всех активных счетов Контрагента в системе QIWI Wallet. | Отсутствуют. |
| balances/balance | Текущий баланс единичного счета Контрагента в системе QIWI Wallet | code - цифровой код валюты счета (в формате ISO 4217). |
Если сервер не смог обработать запрос на пополнение карты, API возвращает ответ с кодом произошедшей ошибки. В этом случае информация о платеже отсутствует в ответе, поэтому вы должны перейти к периодическому запросу статуса, не отклоняя платёж на своей стороне.
<?xml version="1.0" encoding="utf-8"?>
<response>
<result-code fatal="false" message="Неизвестная ошибка" msg="Неизвестная ошибка">300</result-code>
</response>Параметры ответа:
| Тег | Описание | Атрибуты |
|---|---|---|
| result-code | Код ошибки обработки запроса. | fatal – логический признак фатальности ошибки обработки запроса. Фатальность ошибки означает, что повторный запрос с теми же параметрами приведет к повторению той же ошибки. Фатальные ошибки обработки запроса, как правило, вызваны ошибками конфигурирования и требуют ручного вмешательства (обращения в службу поддержки сервиса QIWI Wallet по адресу bss@qiwi.com). При появлении таких ошибок вы можете либо не приостанавливать выполнение повторных запросов, либо приостановить до устранения ошибок конфигурирования;message, msg - текстовое описание ошибки. |