Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time

Пополнение баланса QIWI Кошелька {#payment}

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

Запрос используется для перевода средств с агентского счета на счет клиента в системе QIWI Wallet.

Вы должны указывать тип средств, которые получены Контрагентом от клиента – наличные или безналичные средства, в параметре запроса extra name="income_wire_transfer".

Если клиент с указанным номером кошелька не существует в системе QIWI Wallet и проведение платежа возможно, то клиент будет создан в момент регистрации платежа.

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

Формат запроса {#payment-req}

Параметры запроса

<?xml version="1.0" encoding="utf-8"?>
<request>
  <request-type>pay</request-type>
  <terminal-id>123</terminal-id>
  <extra name="password">***</extra>
  <extra name="income_wire_transfer">1</extra>
  <auth>
    <payment>
     <transaction-number>12345678</transaction-number>
     <from>
       <ccy>RUB</ccy>
     </from>
     <to>
       <amount>1115.00</amount>
       <ccy>RUB</ccy>
       <service-id>99</service-id>
       <account-number>79181234567</account-number>
     </to>
   </payment>
 </auth>
</request>
Тег Описание
request Группирующий тег. Дочерние теги содержат параметры платежа.
request-type Тип запроса (идентификатор запроса пополнения QIWI Кошелька: pay)
terminal-id Идентификатор агента в системе QIWI Wallet
extra name="password" Экстра-поле, содержащее пароль для аутентификации в системе QIWI Wallet
extra name="income_wire_transfer" Экстра-поле, содержащее целочисленный признак безналичных (1) или наличных (0) средств, полученных от Клиента
auth Группирующий тег, описывает платежные данные
payment Группирующий тег, описывает единичный платеж. В запросе может присутствовать только один тег payment.
transaction-number Номер транзакции в информационной системе агента. Его необходимо использовать при проверке статуса платежа. Номер транзакции и идентификатор terminal-id однозначно определяют транзакцию в системе QIWI Wallet.
from Группирующий тег, содержит информацию о сумме, полученной агентом от клиента
from/ccy Валюта счета агента, с которого будет произведено списание денежных средств (в качестве значения используется цифровой или буквенный код валюты по ISO 4217)
from/service-id Идентификатор источника (канала) пополнения (необязательный параметр). Параметр используется в случае необходимости разделения потоков пополнения QIWI Кошельков, сохраняя единый баланс агента.
to Группирующий тег, содержит информацию о платеже
to/amount Сумма к зачислению на баланс учетной записи Клиента в системе QIWI Wallet. Система QIWI Wallet накладывает ограничения на сумму платежа, исходя из условий на остаток денежных средств учетной записи Клиента QIWI Wallet, указанных в оферте пользователя по адресу https://static.qiwi.com/ru/doc/oferta_lk.pdf. Платежи с суммой, менее разрешенной и более разрешенной, завершатся с ошибками 241 и 242 соответственно.
to/service-id Идентификатор сервиса (константа: 99)
to/account-number Идентификатор Клиента в системе QIWI Wallet (номер телефона Клиента системы QIWI Wallet в международном формате)
to/ccy Валюта счета получателя, на который будут зачислены денежные средства (в качестве значения используется цифровой или буквенный код валюты по ISO 4217).
to/extra="comment" Экстра-поле, содержащее комментарий (необязательный параметр)

Формат ответа {#payment-res}

При возникновении сетевых ошибок (например, таймауты при соединении или чтении ответа), HTTP-ошибок (HTTP-статус не равен 200, пустой ответ), некорректных XML-документов (например, c отсутствующими обязательными тегами и/или атрибутами) вы должны перейти к опросу статуса платежа до получения успешного или неуспешного финального статуса платежа. Поскольку в таких случаях информация о статусе транзакции не доступна, вы не должны отклонять платеж на своей стороне.

Формат ответа API зависит от того, как сервер обработал запрос:

Если вы не уверены в корректной расшифровке ответа API, обратитесь в Службу поддержки: bss@qiwi.com.

Ответ без ошибок обработки запроса {#res_payment}

<?xm 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>99</service-id>
    <amount>1000.00</amount>
    <ccy>643</ccy>
    <account-number>79181234567</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). Отсутствуют.
to Группирующий тег, содержит информацию о платеже. Отсутствуют.
to/amount Сумма к зачислению на баланс учетной записи Клиента в системе QIWI Wallet. Отсутствуют.
to/service-id Идентификатор сервиса, на который производится зачисление средств (константа: 99). Отсутствуют.
to/account-number Идентификатор Клиента в системе QIWI Wallet. Отсутствуют.
to/ccy Валюта платежа (цифровой или буквенный код валюты по ISO 4217). Отсутствуют.
balances Группирующий тег, содержит информацию о балансе всех активных счетов Контрагента в системе QIWI Wallet. Отсутствуют.
balances/balance Текущий баланс единичного счета Контрагента в системе QIWI Wallet code - цифровой код валюты счета (в формате ISO 4217).

Ответ с ошибками обработки запроса {#res_tech}

Если сервер не смог обработать запрос на пополнение баланса учетной записи Клиента в системе QIWI Wallet, 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 - текстовое описание ошибки.