Payment gateway technical error перевод

payment gateway 1 payment gateway 2 payment gateway; payment system 3 Internet payment gateway См. также в других словарях: Payment gateway — A payment gateway is an e commerce application service provider service that authorizes payments for e businesses, online retailers, bricks and clicks, or traditional brick and mortar. It is the equivalent of […]

Содержание

  1. payment gateway
  2. См. также в других словарях:
  3. Что делать, если не удается оплатить банковской картой в Интернет-магазине
  4. 💡Почему важно знать причины неоплаты?
  5. Основные причины ошибок при оплате банковской картой
  6. Самая частая ошибка 11070: ошибка аутентификации 3d-secure — причины
  7. Ошибка процессинга карты — что это такое?
  8. Что значит хост недоступен при оплате картой
  9. Что такое ошибка в CVC карты?
  10. Проблема при регистрации токена — как решить?
  11. Ошибка банковской карты — карта не поддерживается
  12. Таблица с кодами ошибок при оплате.
  13. Что делать, если с картой все ОК, но оплата не проходит?
  14. 3 полезных совета при оплате картой через Интернет

payment gateway

1 payment gateway

2 payment gateway; payment system

3 Internet payment gateway

См. также в других словарях:

Payment gateway — A payment gateway is an e commerce application service provider service that authorizes payments for e businesses, online retailers, bricks and clicks, or traditional brick and mortar. It is the equivalent of a physical point of sale terminal… … Wikipedia

Payment Gateway — A means of authorizing credit card or other forms of electronic payments. These e payments can be made online or offline via a website or at an actual brick and mortar retail establishment. Payment gateways help to protect sensitive information… … Investment dictionary

payment gateway — / peɪmənt ˌgeɪtweɪ/ noun software that processes online credit card payments. It gets authorisation for the payment from the credit card company and transfers money into the retailer’s bank account … Marketing dictionary in english

payment gateway — / peɪmənt ˌgeɪtweɪ/ noun software that processes online credit card payments. It gets authorisation for the payment from the credit card company and transfers money into the retailer’s bank account … Dictionary of banking and finance

Gateway — A gateway is a point of entry or exit at which a gate may be hung. Gateway may also refer to: Contents 1 Computer terminology 2 Companies 3 Churches 4 Geography … Wikipedia

Gateway Plus — The Gateway Plus (previously known as Birmingham Gateway) project is a redevelopment scheme to regenerate Birmingham New Street Station and the Pallasades Shopping Centre above it in Birmingham, England. The project aims to enhance the station to … Wikipedia

Mastercard Internet Gateway Service — MiGS, the MasterCard Internet Gateway Service, is provided to banks to enable Card Not Present payment. MiGS is a payment gateway PCI DSS compliant that enables e commerce payment. MiGS is branded and priced by the acquiring bank. It is used to… … Wikipedia

Malaysian Electronic Payment System — Industry Finance Founded December, 1996 Headquarters Kuala Lumpur, Malaysia … Wikipedia

ITransact — Infobox Company company name = iTransact, Inc. company company type = Private company slogan = Your Gateway to Commerce foundation = 1994 location = Farmington, Utah, USA industry = Merchant services Credit Card Payment Gateway Services E… … Wikipedia

Authorize.Net — Infobox Company company name = Authorize.Net company company type = Public company slogan = Your gateway to IP transactions. foundation = 1996 location = American Fork, Utah, USA industry = Internet, Communications homepage =… … Wikipedia

Merchant account — A merchant account is a type of bank account that allows businesses to accept payments by debit or credit cards. A merchant account is established under an agreement between an acceptor and a merchant acquiring bank for the settlement of credit… … Wikipedia

Источник

Что делать, если не удается оплатить банковской картой в Интернет-магазине

💡Почему важно знать причины неоплаты?

Оплата банковской картой через интернет — эту услугу сейчас предлагает практически любой интернет магазин. Вы можете например купить билет на поезд, оплатив банковской картой, сделать покупку на ozon.ru, купить ЖД билет онлайн.

Я всегда заказывал и оплачивал билеты банковской картой через интернет(я использую только дебетовые карты, у меня нет кредитной карты). Самое интересное, что и эта услуга иногда дает сбой — зависают деньги на карте, не проходит оплата.

Но у меня был случай, когда оплата просто не проходила. Робокасса писала сообщение — оплата отменена. Я не знал, в чем причина. В личном кабинете найти ошибку мне не удалось.

Основные причины ошибок при оплате банковской картой

Первая причина, которая является самой распространенной — отсутствие нужной суммы на карте. Рекомендуется проверить ваш баланс — для этого нужно позвонить в банк или войти в интернет банк. Иногда по карте устанавливают ежемесячный или ежедневный лимит трат. Чтоб это проверить — нужно позвонить в банк.

Эта причина может быть не ясна сразу — при отказе в оплате может не отображаться ваш баланс. Ошибка аутентификации 3D secure может быть также связана с неверным вводом реквизитов карты на предыдущем шаге. В таком случае просто повторите платеж и укажите правильные данные.

Вторая причина — на стороне платежной системы. Например, терминал оплаты РЖД не позволяет платить картами MasterCard. Можно использовать только карты Visa.
Заданный магазин может не поддерживать данный способ оплаты. К примеру, Робокасса, которую подключают к множеству магазинов предлагает различные тарифы для оплаты.

Я сначала хотел оплатить вебмани, однако я позвонил в магазин. Оказалось, оплатить вебмани нельзя. У них не подключена эта опция. Хотя способ оплаты через вебмани предлагается на странице оплаты.

Третья причина — возможно ваша карта заблокирована. Опять же можно позвонить в банк и проверить это. Блокировка может быть осуществлена банком автоматически в случае наличия подозрительных операций у клиента.

Четвертая причина — у вас не подключена опция 3d Secure(MasterCard SecureCode в случае MasterCard).
Технология 3D Secure заключается в следующем: при оплате вам приходит СМС от банка, которую вы должны ввести в специальном окне. Эту СМС знаете только вы и банк. Мошенничество в данном случае достаточно трудно, для него потребуется и ваш телефон.
Эта опция нужна вам для оплаты на сумму больше 3 тыс. рублей. Это как раз мой случай. Я купил в интернет магазине газовую плиту Bosh. При оплате товара на сумму 22 тыс. рублей мне выдалось вот такое сообщение:


Я был в замешательстве, не знал что делать. Сначала я думал, что это проблема магазина. Но сначала я все таки позвонил в банк. В моем случае это был Промсвязьбанк и карта Доходная.
Позвонив в поддержку Промсвязьбанка, мне предложили сначала пройти процедуру аутентификации

  1. Назвать 4 последних цифры номера карты
  2. Назвать фамилию имя отчество полностью
  3. Назвать кодовое слово.

Далее для подключения услуги 3d Secure от меня потребовали 2 номера из таблицы разовых ключей. Вроде как услугу подключили, но через полчаса оплата снова не прошла. Позвонил в банк — сказали ожидайте когда подключится — услуга подключается не сразу. Нужно подождать.

Я решил проверить, подключена ли услуга. Я залогинился в Интернет-банк — увидел, что такая услуга есть(в ПСБ ритейл это можно посмотреть на странице карты, щелкнув по номеру карты)

Еще раз попытка оплаты — мне высветилось окно, где я должен был ввести код подтверждения. После заполнения данных карты мне пришло СМС с кодом для оплаты

Далее вуаля — заказ наконец то оплачен. Я получил следующее окно и статус заказа в магазине изменился на «Оплачен»
Мой заказ доставили в пункт назначения, где я его заберу в течение месяца. Главное оплата прошла.

Самая частая ошибка 11070: ошибка аутентификации 3d-secure — причины

Самая частая ошибка, которая происходит при оплате картой — 11070: ошибка аутентификации 3dsecure. Есть 2 возможных причины этой ошибки

  1. Введен неверный одноразовый код. Вам пришел код, но при вводе вы допустили ошибку в цифре. В результате получили ошибку
  2. Одноразовый код протух. Время, которое вам дают на ввод одноразового кода при оплате, составляет не более 5 минут. Далее вам придется повторить оплату.

В любом случае, советуем повторить процесс оплаты и удостовериться, что вы ввели одноразовый пароль 3D Secure сразу после получения и пароль введен верно.

Ошибка процессинга карты — что это такое?

Процессинг банка — это сложная программа, которая отвечает за обработку транзакций по картам. Когда вы снимаете деньги в банкомате, делаете покупку, то идет запрос по интернет в данную систему. Проверяется есть ли на вашей карте деньги. Эта программа находится на серверах в Интернет.

Вы не можете повлиять на данную ошибку никак. Вам стоит обратиться на горячую линию банка или интернет-магазина, где вы осуществляете транзакцию. Исправление ошибки — дело специалистов, поддерживающих данную систему. Остается только ждать.

Вы можете попробовать осуществить оплату повторно примерно через пол-часа. По идее такие ошибки должны исправляться очень быстро. Аналогичная ошибка бывает с сообщением «Сервис временно недоступен». Это значит, что сломалась серверная сторона и сделать ничего нельзя. Только ждать починки

Что значит хост недоступен при оплате картой

Хост — это определенный сетевой адрес. Это может быть ip адрес или же просто доменное имя(к примеру, server1.sberbak.online). При оплате картой через терминал происходит подключение к определенному сетевому адресу(хосту). На данном хосте находится программное обеспечение, которое производит оплату — снимает с карты деньги, проверяет баланс и т.д.

Если хост недоступен, значит деньги снять нельзя. Есть 2 основных причины недоступности:

  1. Нет интернет на устройстве, с которого производится оплата. В современных терминалах может быть вшит Интернет-модуль, через который терминал связывается с сервером. Возможно он потерял сеть или завис. В этом случае может помочь перезагрузка или же выход по голое небо, где Мобильный интернет ловит отлично
  2. Хост недоступен по причине поломки. В этом случае рекомендуется обратиться на горячую линию банка, который поддерживает ваш терминал. Данная проблема должна решаться на стороне хоста. Он может быть недоступен по разным причинам: завис, упал сервер, идет обновление программного обеспечения.

Что такое ошибка в CVC карты?

CVC-код — это трехзначный код, который находится на обратной стороне вашей банковской карты. Если появляется ошибка в CVC карты, то рекомендуем проверить, правильно ли вы ввели этот код? Если все правильно, пожалуйста проверьте, введены ли правильно другие данные вашей карты Сбербанка, ВТБ или другого банка.


CVC код нужен для того, чтоб проверить, есть ли у вас на руках данная карта в руках. Данная ошибка значит, что CVC код введен неверно. Просто осуществите оплату повторно и введите все данные верно

Проблема при регистрации токена — как решить?

Проблема при регистрации токена — частая ошибка, которая проявляется на сайте РЖД при оплате билетов.
Токен — это уникальный идентификатор(стока типа 23hjsdfjsdhfjhj2323dfgg), которая формируется когда вы заказываете билет. Это как бы ваша сессия оплаты. Ошибка возникает на стороне сервера оплаты.
Решений может быть два

  1. Проблемы на сервере РЖД. Сервер оплаты очень занят и перегружен из-за числа заказов. Возможно на нем ошибка. Рекомендуем в этом случае попробывать повторить оплату позднее
  2. Токен Истек. Это вина того, кто платит. Рассмотрим ситуацию: если вы оформили билет, а потом отошли от компьютера на полчаса, а потом вернулись и нажали оплатить. Ваш заказ аннулирован, т.к. вы не оплатили вовремя. При оплате вы получите ошибку. Нужно заново купить билет и оплатить его в течение 10 минут.

Если ошибка в течение часа сохраняется, рекомендуем обратиться на горячую линию РЖД.

Ошибка банковской карты — карта не поддерживается

Ошибка «карта не поддерживается» может возникать, если вы оплачиваете какую-либо услугу картой другой платежной системы, предоплаченной картой либо же Виртуальной картой. Это не значит, что карта у вас «неправильная», на ней нет денег или еще что-либо. Просто в данном конкретном случае нельзя использовать карту вашего типа. К примеру, виртуальные карты нельзя использовать при оплате в Google Play Market.

Решение простое: попробуйте использовать другую карту. Если ошибка повторится, то обратитесь в службу поддержки интернет-магазина или платежного сервиса, где осуществляете оплату.

Таблица с кодами ошибок при оплате.

Немногие знают, что при оплате картой система обычно выдает код ошибки. Например, E00 при оплате. Иногда по ошибке можно понять, в чем проблема

Код ошибки и описание
Код 00 – успешно проведенная операция.
Код 01 – отказать, позвонить в банк, который выпустил карту.
Код 02 – отказать, позвонить в банк, который выпустил карту (специальные условия).
Код 04 — изъять карту без указания причины.
Код 05 – отказать без указания причины.
Код 17 – отказать, отклонено пользователем карты.
код 19 — тех. ошибка на стороне банка
Код 41 – изъять, утерянная карта.
Код 43 – изъять, украденная карта.
код 50 — ?
Код 51 – отказать, на счете недостаточно средств.
Код 55 – отказать, неверно введенный ПИН-код.
Код 57 – отказать, недопустимый тип операции для данного вида карты
(например, попытка оплаты в магазине по карте предназначенной только для снятия наличных).
Код 61 – отказать, превышение максимальной суммы операции для данной карты.
Код 62 – отказать, заблокированная карта.
Код 65 – отказать, превышение максимального количества операции для данной карты.
Код 75 — отказать, превышение максимального количества неверных ПИН-кодов для данной карты.
Код 83 – отказать, ошибка сети (технические проблемы).
Код 91 – отказать, невозможно направить запрос (технические проблемы).
Код 96 – отказать, невозможно связаться с банком, который выдал карту.
Код Z3 — онлайн не работает, а в оффлайне терминал отклонил транзакцию.

Что делать, если с картой все ОК, но оплата не проходит?

Самая типичная проблема, когда оплата не проходит — сбой в банковской системе. В работе банка могут наблюдаться перебои. Это может быть не обязательно ваш банк, а банк который принимает платеж на стороне клиента(которому принадлежит терминал). В этом случае можно дать 2 совета

  1. Подождать и оплатить позднее. Сбои в работе оперативно решаются и уже через час оплата может пройти без проблем. Обычно о сбоях можно узнать по СМС сообщениям или позвонив на горячую линию вашего банка.
  2. Использовать другую карту. Если нельзя оплатить одной — нужно попробывать оплатить другой картой. Если оплата и другой картой не проходит, то это скорее всего сбой на стороне, принимающей платеж. Тут остается только ждать.

3 полезных совета при оплате картой через Интернет

Во первых — заведите себе специальную карту. Не используйте для оплаты зарплатную карту, на которой у вас все деньги. Оптимально — кредитная карта. Она позволяет в отдельных случаях вернуть часть суммы покупки(CashBack). Обычно это сумма до 5 процентов от покупки. Будьте внимательны, некоторые сервисы при оплате катой берут комиссии. И конечно же адрес страницы оплаты всегда должен начинаться с https и рядом с адресом должен стоять значок в виде замка(Соединение https).

Во вторых — не держите много денег на карте. На карте должно быть немногим больше суммы, необходимой вам для покупки. Примерно плюс 10% от общей стоимости покупки. Логика проста — с нулевой карты ничего не могут снять.
Делаете покупку — просто пополняете карту в интернет банке и получаете нужную сумму.

В третьих — Делайте оплату картой в известных магазинах. Почитайте отзывы о магазинах на Яндекс.Маркет. Если вы платите картой, будьте готовы к тому, что при отмене заказа могут вернуться на вашу карту не сразу.
В последний раз, когда я делал оплату заказа и потом возвращал заказ и деньги, возврат на карту шел в течение 7 дней. Помните — никто деньги вам сразу не вернет. Будьте готовы ждать.

Источник

Result Code Description Как решить проблему Куда обратиться

76

51

076

9859

116

603

Insufficient funds

Not sufficient funds

Decline, not sufficient funds

Decline, not sufficient funds На балансе карты недостаточно средств Если на карте баланс больше или равен сумме транзакции, а отказ все равно происходит по причине недостатка средств, тогда возможны такие причины:
— банк-эмитент удерживает дополнительные комиссии с держателя карты. Это может возникать в случаях погашение кредита посредством интернет-платежа, либо если договор на обслуживание банковской карты предусматривает дополнительные комиссии;
— происходит конвертация из валюты покупки в валюту карты. Убедитесь, что средств на карте достаточно для покрытия комиссии за конвертацию валют. Некоторые банки-эмитенты устанавливают комиссии на конвертацию валют как-правило в пределах 1% Банк-эмитент (банк, выпустивший карту)

50

5

9905

180

Transaction declined

Do not honor

Do not Honour

Transaction declined

Do not honor Не обслуживать Пожалуй, самый общий и не определенный код отказа. Он может указывать на любые ограничения, наложенные банком-эмитентом, которые банк пожелал оставить не уточненными.
Возможные причины:
— карта заблокирована или на ней установлен статус
— на карте не установлен лимит на оплату в интернет, либо этот лимит недостаточный
— сработали настройки системы безопасности банка-эмитента
— сработали ограничения по сумме или количеству операций по карте у банка-эмитента
— банк-эмитент установил ограничения на проведение данного типа транзакций
— по карте не разрешены международные платежи (доместиковая карта)
— банк-эмитент установил ограничение на транзакции с двойной конвертацией валют (DCC)
— банк-эмитент установил ограничения на транзакции в данной валюте
— банк-эмитент установил ограничения на транзакции в данной стране
— банк-эмитент в США ограничил по карте операции в валюте, отличной от USD
— банк-эмитент в США ограничил по карте операции в странах бывшего СНГ и других рисковых регионах Банк-эмитент (банк, выпустивший карту). Если банк-эмитент не видит данную транзакцию, тогда необходимо обратиться в банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

55

055

12

902

9882

9912

Invalid transaction

Invalid transaction card / issuer / acquirer

Decline reason message: invalid transaction

Invalid transaction Операция для данной карты или мерчанта не разрешена Причины могут быть теми же, что и для Do not honor Банк-эмитент (банк, выпустивший карту). Если банк-эмитент не видит данную транзакцию, тогда необходимо обратиться в банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

95

095

61

061

121

9861

9863

Decline, exceeds withdrawal amount limit

Exceeds amount limit

Exceeds withdrawal limit

Withdrawal limit would be exceeded

Withdrawal limit already reached

Card exceeds withdrawal amount limit На карте достигнут лимит по сумме операций в сутки, в месяц или на разовую транзакцию Возможные причины (более детально смотрите по банку-эквайеру выше):
— на карте не установлен лимит операций в интернет или он уже достигнут или будет достигнут с текущей транзакцией
— общий лимит по сумме для операций покупок по карте уже достигнут или будет достигнут с текущей транзакцией
— карта не открыта для расчетов в интернет
— на карте не активирован сервис 3D-Secure из-за чего операции в интернет без 3D-Secure пароля попадают под ограничения банка-эмитента Банк-эмитент (банк, выпустивший карту)

65

065

82

082

9860

Activity count exceeded

Exceeds frequency limit

Maximum number of times used

Card exceeds withdrawal frequency limit На карте достигнут лимит по количеству операций в сутки или в месяц Возможные причины (более детально смотрите по банку-эквайеру выше):
— на карте не установлен лимит операций в интернет или он уже достигнут или будет достигнут с текущей транзакцией
— общий лимит по количеству операций покупок по карте уже достигнут или будет достигнут с текущей транзакцией
— карта не открыта для расчетов в интернет
— на карте не активирован сервис 3D-Secure из-за чего операции в интернет без 3D-Secure пароля попадают под ограничения банка-эмитента Банк-эмитент (банк, выпустивший карту)

57

119

Not permitted to client

Transaction not permitted on card

Transaction not permitted to card

Decline, transaction not permitted to cardholder

Transaction not permitted to card

Not permitted to client

Decline, transaction not permitted to cardholder

Function Not Permitted To Cardholder

Not permitted to client Транзакция не разрешена для карты или клиента

Банк эмитент отклонил транзакцию так как она не может быть осуществлена для этой карты или клиента.

Возможные причины (более детально смотрите по банку-эквайеру выше):
— данный карточный продукт не рассчитан для такого типа операции
— для данной карты не настроен такой тип операции на стороне банка-эмитента

Банк-эмитент (банк, выпустивший карту)

58

120

Decline, transaction not permitted to terminal

Not permitted to merchant

The requested service is not permitted for terminal

Function Not Permitted To Terminal

Txn Not Permitted On Term

Not permitted to merchant Транзакция не разрешена для терминала или мерчанта Мерчант или терминал настроен некорректно, или данный тип операции не разрешен на стороне банка-эквайера или платежного провайдера. В первую очередь нужно уточнить конфигурацию торговой точки у платежного провайдера и список допустимых операций Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

211

N7

9881

Bad CVV2

Decline for CVV2 Failure

CVV2 is invalid

Invalid CVV2

Decline Cvv2 failure

Invalid CVV2 code Введен неверный CVV2 код во время проведения платежа Необходимо проверить CVV2 код на оборотной стороне карты. Код состоит из 3 цифр для Visa/MasterCard/Discover и из 4 цифр для карт American Express.
CVV2 код также может называться CVC2, CID, CSC2 код.
В некоторых случаях такой код отказа может возвращаться и при вводе неверного срока действия карты.
Стоит обратить внимание, если банк эмитент использует динамический код CVV2, генерируемый на короткий промежуток времени в клиент-банке — срок жизни такого CVV2 кода мог истечь на момент совершения операции Банк-эмитент (банк, выпустивший карту)

058

59

059

62

062

9858

104

Restricted card

Restricted status

Decline, restricted card

Card is restricted

Your card is restricted

Restricted Card Операции по карте ограничены Возможные причины:
— операции по карте в данном регионе/стране не разрешены
— на карте установлен статус, ограничивающий платежи
— для карты не доступны интернет-платежи Банк-эмитент (банк, выпустивший карту)

56

056

Transaction not supported by institution Your card is not supported. Please use card of other payment system Данный тип платежной системы не поддерживается Банк-эквайер или платежный провайдер не поддерживает платежную систему данной карты.
Отказ может возникать в таких случаях:
— оплата картой локальной платежной системы за рубежом. Например картой платежной системы МИР за пределами РФ, картой платежной системы ПРОСТИР за пределами Украины
— оплата картами оплата AMERICAN EXPRESS, Diners Club,JCB, China Union Pay, Discover которые не поддерживаются платежным провайдером
— оплата картой Monobank в счет микро-кредитной организации (погашение кредита), либо выдача кредит. Монобанк блокирует операции в адрес МФО по некоторым типам карт Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру
Монобанк, если карта этого банка

100

1000

Decline (general, no comments)

General decline, no comments

General decline

General decline Общий отказ. Причины могут быть теми же, что и для Do not honor Банк-эмитент (банк, выпустивший карту)

54

101

Expired card

Decline, expired card

Expired card

Pick-up, expired card

Card expired

Invalid card expiry date Истек срок действия карты Возможные причины
— срок действия карты закончился
— указан неверный срок действия карты
— карта была перевыпущена с новым сроком Банк-эмитент (банк, выпустивший карту)

14

111

9852

1012

305113

Card number does not exist

Invalid card number

No such card

Decline, card not effective

Invalid card

Wrong card number

Invalid card number Неверный номер карты Возможные причины:
— неверный номер карты
— карта не действительна
— оплата картой локальной платежной системы за рубежом. Например картой платежной системы МИР за пределами РФ, картой платежной системы ПРОСТИР за пределами Украины
— оплата картами оплата AMERICAN EXPRESS, Diners Club,JCB, China Union Pay, Discover которые не поддерживаются платежным провайдером
— операции по карте в данном регионе/стране не разрешены
— на карте установлен статус, ограничивающий платежи Банк-эмитент (банк, выпустивший карту)

909

42

7

07

108

9875

207

42

External Decline Special Condition

Special Pickup

Pick up card (special)

Pick up card, special condition (fraud account)

Pick-up, special conditions

Decline, refer to card issuer’s special conditions

Pick up card, special condition (fraud account) Специальный отказ банка-эмитента. Владелец карты подозревается в мошенничестве. Банк-эмитент подозревает держателя карты в мошенничестве, либо система безопасности (антифрод-система) банка эмитента отклонила транзакцию Банк-эмитент (банк, выпустивший карту)

122

63

89

Decline, security violation

Security violation

Security violation Отказ по соображениям безопасности Код отказа может отдаваться как банком-эмитентом, так и банком-эквайером. Возможные причины:
— карточный счет заморожен или заблокирован
— ограничения правил безопасности (система Antifraud на стороне любого из участников) Банк-эмитент (банк, выпустивший карту)
Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

200

76

114

21

Invalid account

Decline, no account of type requested

No To Account

Invalid card number Неверный номер карты или счета Возможные причины:
— счет карты закрыт или заблокирован
— по счету запрещены расходные операции
— карта не действительна
— неверный номер карты
— оплата картой локальной платежной системы за рубежом. Например картой платежной системы МИР за пределами РФ, картой платежной системы ПРОСТИР за пределами Украины
— оплата картами оплата AMERICAN EXPRESS, Diners Club,JCB, China Union Pay, Discover которые не поддерживаются платежным провайдером
— операции по карте в данном регионе/стране не разрешены
— на карте установлен статус, ограничивающий платежи
— карта не предназначена для расчетов в интернет Банк-эмитент (банк, выпустивший карту)

74

074

907

911

910

9872

91

291

82

908

810

Unable to authorize

Decline reason message: card issuer or switch inoperative

Destination not available

Issuer or switch inoperative

Issuer unavailable

Time-out at issuer

Decline reason message: card issuer timed out

Decline reason message: transaction destination cannot be found for routing

Transaction timeout

Acquiring bank request timeout

Ошибка связи: таймаут

Недоступен эмитент/эквайер

Таймаут при попытке связи с банком-эмитентом. Как правило такая ошибка возникает при проблемах технического характера на стороне любого из участников: банка-эквайера, банка эмитента, платежной системы Visa/MasterCard/МИР.

В первую очередь необходимо обратиться в банк-эквайер для выяснения причины и определения, на чьей стороне неисправности.

Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

Банк-эмитент (при получении 91 кода)

15

815

92

No such card/issuer

No such issuer

Invalid Issuer

Invalid card number Указан неверный номер карты см. Неверный номер карты

811

96

0

System error Unknown payment system error Технический сбой на стороне эквайера/платежной системы Технический сбой на стороне банка-эквайера Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

4

04

44

43

200

104

Pick-up (general, no comments)

Pick up card

Your card is restricted

Hot Card, Pickup (if possible)

Hold — Pick up card

Pick-up, restricted card

Pick-up, card acceptor contact card acquirer

Pick up card (no fraud) Изъять карту Банк-эмитент отклонил транзакцию с сообщением о необходимости изъять карту, если это возможно. Как правило причиной является блокировка карты по причине утери Банк-эмитент (банк, выпустивший карту) 52 Number of PIN tries exceeded PIN tries exceeded Превышен лимит попыток ввода PIN-кода На карте установлен статус в связи с превышением попыток ввода PIN-кода при оплате в наземных POS-терминалах или использования карты в банкомате.
Также причиной может быть то, что карта только что выпущена и первой операцией для нее должна быть операция смены PIN-кода Банк-эмитент (банк, выпустивший карту)

205

110

13

567

9913

9867

Invalid advance amount

Decline, invalid amount

Invalid amount

Invalid amount Неверная сумма Причины отказа:
— слишком маленькая сумма. Если карта открыта в валюте, убедитесь, что сумма транзакции не менее 1 цента доллара США или 1 Евро цента
— слишком большая сумма
— из суммы транзакции невозможно удержать сумму комиссии платежного провайдера. Убедитесь, что сумма транзакции не меньше суммы всех комиссий
— ограничения на карте плательщика на стороне банка, который выпуcтил карту.
— достигнуты лимиты на стороне банка-эквайера. Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру, Банк-эмитент (банк, выпустивший карту)

948

102

202

9934

59

Suspected fraud

Decline, suspected fraud

Suspected fraud Подозрение в мошенничестве Система безопасности одного из участников процессинговой цепочки подозревает участие карты в мошеннических действиях или в компрометации.
Также, возможно, что банк-эмитент заблокировал карту/счет в связи с подозрительными действиями, скиммингом, компрометацией Банк-эмитент (банк, выпустивший карту)

800

904

30

030

9874

574

Format error

Decline reason message: format error

Format error Ошибка формата сообщения Технический сбой при попытке авторизовать транзакцию у банка-эмитента. Вероятно, какие-то из атрибутов транзакции указаны неверно. Необходимо уточнить у банка детали, которые вызвали такой отказ. Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

41

540

208

9840

Lost Card, Pickup

Pick up card (lost card)

Lost card

Lost card, pick-up

Pick-up, lost card

Lost card Карта утеряна На карте установлен статус утеряна по заявлению картодержателя. Банк-эмитент (банк, выпустивший карту)

93

124

Violation of law

Decline, violation of law

Suspected fraud Транзакция не может быть выполнена: нарушение закона Банк-эмитент отказал в осуществлении транзакции во избежание нарушения закона Банк-эмитент (банк, выпустивший карту)

909

96

Decline reason message: system malfunction

System malfunction

System malfunction Технический сбой на стороне эквайера/платежной системы Технический сбой на стороне банка-эквайера Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

01

02

107

108

Refer to card issuer

Decline, refer to card issuer

Decline, refer to card issuer special conditions

Refer to issuer

Decline, refer to card issuer Обратиться к банку-эмитенту Отказ банка-эмитента. Держатель карты должен обратиться в свой банк Банк-эмитент (банк, выпустивший карту) 201 Incorrect PIN Incorrect PIN Неверный PIN На карте установлен статус в связи с превышением попыток ввода PIN-кода при оплате в наземных POS-терминалах или использования карты в банкомате.
Также причиной может быть то, что карта только что выпущена и первой операцией для нее должна быть операция смены PIN-кода Банк-эмитент (банк, выпустивший карту) 210 Bad CAVV Do not honor Неверный CAVV Ошибка возникает при проверке 3DSecure на стороне банка-эмитента. Причиной может случить либо неверная настройка 3DSecure на карте, либо некорректная реализация Apple/Google Pay токенов на стороне платежной платформы, мерчанта или банка-эквайера Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

43

209

057

9841

Pick up card (stolen card)

Pick-up, stolen card

Stolen card

Stolen card, pick-up

Lost/Stolen

Lost or stolen card

Stolen card Карта украдена Банк-эмитент установил на карте статус «украдена» по обращению держателя карты Банк-эмитент (банк, выпустивший карту)

6000

106

Pre-authorizations are not allowed within this context.

Merchant is not allowed preauth

Preauth not allowed Операция предавторизации на разрешена для торговца Необходимо обратиться к платежному провайдеру или банку-эквайеру для активации двухстадийной оплаты перед пред-авторизацию/завершение (preauth/capture или prepurchase/completion или authorization/sale) Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

03

3

109

9903

20003

Invalid merchant

Decline, invalid merchant

Merchant is not configured correctly Мерчант настроен некорректно Необходимо обратиться к платежному провайдеру или банку-эквайеру для настройки или активации мерчанта или мерчант-аккаунта.
Также причиной может быть некорректно переданный идентификатор мерчанта в транзакции Банк-эквайер (банк, обслуживающий торговую точку) или к платежному провайдеру

💡Почему важно знать причины неоплаты?

Оплата банковской картой через интернет — эту услугу сейчас предлагает практически любой интернет магазин. Вы можете например купить билет на поезд, оплатив банковской картой, сделать покупку на ozon.ru, купить ЖД билет онлайн.

Я всегда заказывал и оплачивал билеты банковской картой через интернет(я использую только дебетовые карты, у меня нет кредитной карты). Самое интересное, что и эта услуга иногда дает сбой — зависают деньги на карте, не проходит оплата.

Но у меня был случай, когда оплата просто не проходила. Робокасса писала сообщение — оплата отменена. Я не знал, в чем причина. В личном кабинете найти ошибку мне не удалось.

Существует множество разных причин ошибок — они бывают по причине банка или владельца карты. Важно хотя бы предполагать причину ошибки, чтоб понимать как действовать дальше? К примеру, если не удается оплатить горячий билет, то нужно понимать в чем причина и попытаться исправить проблему. Иначе билет может быть куплен другим человеком.

Основные причины ошибок при оплате банковской картой

Первая причина, которая является самой распространенной — отсутствие нужной суммы на карте. Рекомендуется проверить ваш баланс — для этого нужно позвонить в банк или войти в интернет банк. Иногда по карте устанавливают ежемесячный или ежедневный лимит трат. Чтоб это проверить — нужно позвонить в банк.

Эта причина может быть не ясна сразу — при отказе в оплате может не отображаться ваш баланс. Ошибка аутентификации 3D secure может быть также связана с неверным вводом реквизитов карты на предыдущем шаге. В таком случае просто повторите платеж и укажите правильные данные.

Вторая причина — на стороне платежной системы. Например, терминал оплаты РЖД не позволяет платить картами MasterCard. Можно использовать только карты Visa.
Заданный магазин может не поддерживать данный способ оплаты. К примеру, Робокасса, которую подключают к множеству магазинов предлагает различные тарифы для оплаты.
Робокасса как оплатить
Я сначала хотел оплатить вебмани, однако я позвонил в магазин. Оказалось, оплатить вебмани нельзя. У них не подключена эта опция. Хотя способ оплаты через вебмани предлагается на странице оплаты.

Третья причина — возможно ваша карта заблокирована. Опять же можно позвонить в банк и проверить это. Блокировка может быть осуществлена банком автоматически в случае наличия подозрительных операций у клиента.

Четвертая причина — у вас не подключена опция 3d Secure(MasterCard SecureCode в случае MasterCard).
Технология 3D Secure заключается в следующем: при оплате вам приходит СМС от банка, которую вы должны ввести в специальном окне. Эту СМС знаете только вы и банк. Мошенничество в данном случае достаточно трудно, для него потребуется и ваш телефон.
Эта опция нужна вам для оплаты на сумму больше 3 тыс. рублей. Это как раз мой случай. Я купил в интернет магазине газовую плиту Bosh. При оплате товара на сумму 22 тыс. рублей мне выдалось вот такое сообщение:
оплата картой Робокасса

Ошибка при оплате банковской картой.
Я был в замешательстве, не знал что делать. Сначала я думал, что это проблема магазина. Но сначала я все таки позвонил в банк. В моем случае это был Промсвязьбанк и карта Доходная.
Позвонив в поддержку Промсвязьбанка, мне предложили сначала пройти процедуру аутентификации

  1. Назвать 4 последних цифры номера карты
  2. Назвать фамилию имя отчество полностью
  3. Назвать кодовое слово.

Далее для подключения услуги 3d Secure от меня потребовали 2 номера из таблицы разовых ключей.  Вроде как услугу подключили, но через полчаса оплата снова не прошла. Позвонил в банк — сказали ожидайте когда подключится — услуга подключается не сразу. Нужно подождать.

Я решил проверить, подключена ли услуга. Я залогинился в Интернет-банк — увидел, что такая услуга есть(в ПСБ ритейл это можно посмотреть на странице карты, щелкнув по номеру карты)
банк 3D Secure
Еще раз попытка оплаты — мне высветилось окно, где я должен был ввести код подтверждения. После заполнения данных карты мне пришло СМС с кодом для оплаты
оплата 3d secure
Далее вуаля — заказ наконец то оплачен. Я получил следующее окно и статус заказа в магазине изменился на «Оплачен»
Мой заказ доставили в пункт назначения, где я его заберу в течение месяца. Главное оплата прошла.
Оплата картой через интернет

Самая частая ошибка 11070: ошибка аутентификации 3d-secure — причины

Самая частая ошибка, которая происходит при оплате картой — 11070: ошибка аутентификации 3dsecure. Есть 2 возможных причины этой ошибки

  1. Введен неверный одноразовый код. Вам пришел код, но при вводе вы допустили ошибку в цифре. В результате получили ошибку
  2. Одноразовый код протух. Время, которое вам дают на ввод одноразового кода при оплате, составляет не более 5 минут. Далее вам придется повторить оплату.

В любом случае, советуем повторить процесс оплаты и удостовериться, что вы ввели одноразовый пароль 3D Secure сразу после получения и пароль введен верно.

Ошибка процессинга карты — что это такое?

Процессинг банка — это сложная программа, которая отвечает за обработку транзакций по картам. Когда вы снимаете деньги в банкомате, делаете покупку, то идет запрос по интернет в данную систему. Проверяется есть ли на вашей карте деньги. Эта программа находится на серверах в Интернет.

Вы не можете повлиять на данную ошибку никак. Вам стоит обратиться на горячую линию банка или интернет-магазина, где вы осуществляете транзакцию. Исправление ошибки — дело специалистов, поддерживающих данную систему. Остается только ждать.

Вы можете попробовать осуществить оплату повторно примерно через пол-часа. По идее такие ошибки должны исправляться очень быстро. Аналогичная ошибка бывает с сообщением «Сервис временно недоступен». Это значит, что сломалась серверная сторона и сделать ничего нельзя. Только ждать починки

Что значит хост недоступен при оплате картой

Хост — это определенный сетевой адрес. Это может быть ip адрес или же просто доменное имя(к примеру, server1.sberbak.online). При оплате картой через терминал происходит подключение к определенному сетевому адресу(хосту). На данном хосте находится программное обеспечение, которое производит оплату — снимает с карты деньги, проверяет баланс и т.д.

Если хост недоступен, значит деньги снять нельзя. Есть 2 основных причины недоступности:

  1. Нет интернет на устройстве, с которого производится оплата. В современных терминалах может быть вшит Интернет-модуль, через который терминал связывается с сервером. Возможно он потерял сеть или завис. В этом случае может помочь перезагрузка или же выход по голое небо, где Мобильный интернет ловит отлично
  2. Хост недоступен по причине поломки. В этом случае рекомендуется обратиться на горячую линию банка, который поддерживает ваш терминал. Данная проблема должна решаться на стороне хоста. Он может быть недоступен по разным причинам: завис, упал сервер, идет обновление программного обеспечения.

Что такое ошибка в CVC карты?

CVC-код — это трехзначный код, который находится на обратной стороне вашей банковской карты. Если появляется ошибка в CVC карты, то рекомендуем проверить, правильно ли вы ввели этот код? Если все правильно, пожалуйста проверьте, введены ли правильно другие данные вашей карты Сбербанка, ВТБ или другого банка.

cvc код
CVC код нужен для того, чтоб проверить, есть ли у вас на руках данная карта в руках. Данная ошибка значит, что CVC код введен неверно. Просто осуществите оплату повторно и введите все данные верно

Проблема при регистрации токена — как решить?

Проблема при регистрации токена — частая ошибка, которая проявляется на сайте РЖД при оплате билетов.
Токен — это уникальный идентификатор(стока типа 23hjsdfjsdhfjhj2323dfgg), которая формируется когда вы заказываете билет. Это как бы ваша сессия оплаты. Ошибка возникает на стороне сервера оплаты.
Решений может быть два

  1. Проблемы на сервере РЖД. Сервер оплаты очень занят и перегружен из-за числа заказов. Возможно на нем ошибка. Рекомендуем в этом случае попробывать повторить оплату позднее
  2. Токен Истек. Это вина того, кто платит. Рассмотрим ситуацию: если вы оформили билет, а потом отошли от компьютера на полчаса, а потом вернулись и нажали оплатить. Ваш заказ аннулирован, т.к. вы не оплатили вовремя. При оплате вы получите ошибку. Нужно заново купить билет и оплатить его в течение 10 минут.

Если ошибка в течение часа сохраняется, рекомендуем обратиться на горячую линию РЖД.

Ошибка банковской карты — карта не поддерживается

Ошибка «карта не поддерживается» может возникать, если вы оплачиваете какую-либо услугу картой другой платежной системы, предоплаченной картой либо же Виртуальной картой. Это не значит, что карта у вас «неправильная», на ней нет денег или еще что-либо. Просто в данном конкретном случае нельзя использовать карту вашего типа. К примеру, виртуальные карты нельзя использовать при оплате в Google Play Market.

Решение простое: попробуйте использовать другую карту. Если ошибка повторится, то обратитесь в службу поддержки интернет-магазина или платежного сервиса, где осуществляете оплату.

Таблица с кодами ошибок при оплате.

Немногие знают, что при оплате картой система обычно выдает код ошибки. Например, E00 при оплате. Иногда по ошибке можно понять, в чем проблема

Код ошибки и описание
Код 00 – успешно проведенная операция.
Код 01 – отказать, позвонить в банк, который выпустил карту.
Код 02 – отказать, позвонить в банк, который выпустил карту (специальные условия).
Код 04 — изъять карту без указания причины.
Код 05 – отказать без указания причины.
Код 17 – отказать, отклонено пользователем карты.
код 19 — тех. ошибка на стороне банка
Код 41 – изъять, утерянная карта.
Код 43 – изъять, украденная карта.
код 50 — ?
Код 51 – отказать, на счете недостаточно средств.
Код 55 – отказать, неверно введенный ПИН-код.
Код 57 – отказать, недопустимый тип операции для данного вида карты
(например, попытка оплаты в магазине по карте предназначенной только для снятия наличных).
Код 61 – отказать, превышение максимальной суммы операции для данной карты.
Код 62 – отказать, заблокированная карта.
Код 65 – отказать, превышение максимального количества операции для данной карты.
Код 75 — отказать, превышение максимального количества неверных ПИН-кодов для данной карты.
Код 83 – отказать, ошибка сети (технические проблемы).
Код 91 – отказать, невозможно направить запрос (технические проблемы).
Код 96 – отказать, невозможно связаться с банком, который выдал карту.
Код Z3 — онлайн не работает, а в оффлайне терминал отклонил транзакцию.

Что делать, если с картой все ОК, но оплата не проходит?

Самая типичная проблема, когда оплата не проходит — сбой в банковской системе. В работе банка могут наблюдаться перебои. Это может быть не обязательно ваш банк, а банк который принимает платеж на стороне клиента(которому принадлежит терминал). В этом случае можно дать 2 совета

  1. Подождать и оплатить позднее. Сбои в работе оперативно решаются и уже через час оплата может пройти без проблем. Обычно о сбоях можно узнать по СМС сообщениям или позвонив на горячую линию вашего банка.
  2. Использовать другую карту. Если нельзя оплатить одной — нужно попробывать оплатить другой картой. Если оплата и другой картой не проходит, то это скорее всего сбой на стороне, принимающей платеж. Тут остается только ждать.

3 полезных совета при оплате картой через Интернет

Во первых — заведите себе специальную карту. Не используйте для оплаты зарплатную карту, на которой у вас все деньги. Оптимально — кредитная карта. Она позволяет в отдельных случаях вернуть часть суммы покупки(CashBack). Обычно это сумма до 5 процентов от покупки. Будьте внимательны, некоторые сервисы при оплате катой берут комиссии. И конечно же адрес страницы оплаты всегда должен начинаться с https и рядом с адресом должен стоять значок в виде замка(Соединение https).

Во вторых — не держите много денег на карте. На карте должно быть немногим больше суммы, необходимой вам для покупки. Примерно плюс 10% от общей стоимости покупки. Логика проста — с нулевой карты ничего не могут снять.
Делаете покупку — просто пополняете карту в интернет банке и получаете нужную сумму.

В третьих — Делайте оплату картой в известных магазинах. Почитайте отзывы о магазинах на Яндекс.Маркет. Если вы платите картой, будьте готовы к тому, что при отмене заказа могут вернуться на вашу карту не сразу.
В последний раз, когда я делал оплату заказа и потом возвращал заказ и деньги, возврат на карту шел в течение 7 дней. Помните — никто деньги вам сразу не вернет. Будьте готовы ждать.

Популярные вопросы и ответы про оплату

Может ли пройти онлайн-оплата, если вы указали неверный cvv/cvc, но в системе 3d- secure ввели верный код из SMS?

Это вопрос из IT диктанта. Ответ на него ДА, может.

Код cvv/cvc известен только банку, который выпустил карту. И именно банк решает, пропустить транзакцию или нет. Данный код может и не передаваться при оплате, хотя и его нужно будет вводить при оплате. Авторизовать операцию возможно и без данного кода. Т.е. пройдет эта операция или нет — решает банк.

Пройдет ли оплата картой, если неверно ввести ФИО плательщика

ФИО плательщика практически не влияет на успешность оплаты. Можно ввести любое имя, хоть «Котик Вася» и при верном вводе других реквизитов карты оплата пройдет.

Дмитрий Тачков

Дмитрий Тачков

Работник банка или другого фин. учреждения
Подробнее

Создатель проекта, финансовый эксперт

Привет, я автор этой статьи и создатель всех калькуляторов данного проекта. Имею более чем 3х летний опыт работы банках Ренессанс Кредит и Промсвязьбанк. Отлично разбираюсь в кредитах, займах и в досрочном погашении. Пожалуйста оцените эту статью, поставьте оценку ниже.


На основании Вашего запроса эти примеры могут содержать грубую лексику.


На основании Вашего запроса эти примеры могут содержать разговорную лексику.


The client application receives a 502 Bad Gateway error.



Пользователям выдавалась ошибка 502 Bad Gateway.


Instead of websites, I was getting an 502 bad gateway error.



Пользователям выдавалась ошибка 502 Bad Gateway.


What is a 502 Bad Gateway Error?



Что вызывает ошибку 502 Bad Gateway?


What exactly is a 502 Bad Gateway Error?



Насколько серьёзна ошибка 502 Bad Gateway?


A 502 gateway error could also be because of a DNS issue, such as the domain is not resolving to the correct IP.



Ошибка 502 Bad Gateway также может быть вызвана локальными проблемами DNS, такими как DNS не может определить имя хоста или правильный IP.Решением здесь является очистка кеша DNS.


502 Bad Gateway Error: What Is and How to Fix it?



502 bad gateway — что это значит и как исправить?


Read Also: What is 502 Bad Gateway Error and How to Fix It



Читайте также: 502 bad gateway как от этого избавится


How to Fix the 502 Bad Gateway Error in WordPress?



Как исправить ошибку 502 Bad Gateway сайта на WordPress


You also might be interested in the tutorial: How to Fix 502 Bad Gateway Error in WordPress



Главное меню» Блог-платформа wordpress» Как исправить ошибку 502 Bad Gateway в WordPress


PreviousHow to Fix the 502 Bad Gateway Error in WordPress



Главное меню» Блог-платформа wordpress» Как исправить ошибку 502 Bad Gateway в WordPress


As such, pinning down the exact cause of the 502 Bad Gateway error can be difficult and frustrating.



Таким образом, выяснение точной причины ошибки 502 Ошибка шлюза может быть сложной и неприятной.


As we’ve explained earlier, the 502 Bad Gateway error is mostly caused by server issues.



Как было сказано ранее, ошибка 502 плохого шлюза связана с проблемой с веб-сервером.


One such error code that can prove difficult to fix is the 502 Bad Gateway error.



Одним из таких кодов ошибок, который может оказаться трудным исправить, является ошибка 502 Bad Gateway.


One of the main causes of the 502 Bad Gateway error is server overload.



Одной из основных причин ошибки 502 Bad Gateway является перегрузка сервера.


The 502 Bad Gateway error is usually related to network or server issue.



Ошибка 502 Bad Gateway, как правило, связана с сетью или сервером.


This may prompt the 502 Bad Gateway error to show up.



Это может привести к появлению ошибки 502 Bad Gateway.


While the 502 Bad Gateway error is typically showing a networking error outside of your control, it could be something extremely temporary.



В то время как ошибка — 502 Bad Gateway обычно указывает на сетевой конфликт вне вашего контроля, это может оказаться всего лишь временной проблемой.


Causing a little impact on the SEO, the 502 Bad Gateway error is returned when one server receives a bad response from another server.



Оказывая незначительное влияние на SEO, ошибка 502 Bad Gateway появляется, когда один сервер получает некорректный ответ от другого сервера.


The 502 Bad Gateway error can also be triggered when a web server takes too long to complete the request, causing a caching tool to reach its timeout values.



Ошибка 502 Bad Gateway также может быть вызвана, когда веб-серверу требуется слишком много времени для выполнения запроса, в результате чего инструмент кэширования достигает значений тайм-аута.


If you don’t find an alternative browser producing a 502 Bad Gateway error, you should then understand that your original browser has been the source of the issue.



Если альтернативный браузер не показывает ошибку 502 Bad Gateway, то вы будете знать, что виновником является оригинальный браузер.

Ничего не найдено для этого значения.

Результатов: 95. Точных совпадений: 43. Затраченное время: 143 мс

Documents

Корпоративные решения

Спряжение

Синонимы

Корректор

Справка и о нас

Индекс слова: 1-300, 301-600, 601-900

Индекс выражения: 1-400, 401-800, 801-1200

Индекс фразы: 1-400, 401-800, 801-1200

Статусы и типы операций, коды ошибок {#statuses}

Коды ошибок {#http-errors}

Протокол приема платежей использует для запросов API следующие HTTP-коды ошибок:

Код ошибки Описание
400 Bad Request — Ваш запрос некорректен (ошибка в данных или в формате запроса).
401 Unauthorized — Неправильный ключ доступа к API.
403 Forbidden — Доступ к API запрещен.
404 Not Found — Указанный ресурс не найден.
405 Method Not Allowed — Для создания платежа использовался неправильный метод.
406 Not Acceptable — Формат данных отличается от JSON.
410 Gone — Запрашиваемый ресурс удален.
429 Too Many Requests — Слишком много запросов.
500 Internal Server Error — Внутренняя ошибка сервиса. Если тело ответа пустое, повторите запрос с теми же параметрами. Если тело ответа не пустое, выполните запрос статуса платежа или статуса счета.
502 Bad Gateway — Нет связи с сервисом
503 Service Unavailable  — Сервер временно недоступен по техническим причинам, попробуйте позже.

Типы операций {#operation-types}

Тип операции возвращается в поле {operation}.type уведомления.

Тип операции Описание
PAYMENT Платеж. В уведомлении может присутствовать поле flag: [ "SALE" ] (обычный платеж) или flag: [ "AUTH" ] (платеж с холдированием средств).
CAPTURE Операция подтверждения.
REFUND Операция возврата. В уведомлении может присутствовать поле flag: [ "REVERSAL" ]. Это значит, что финансовой операции (списания средств со счета покупателя) не было, комиссия по операции удержана не будет.

Статусы операций {#operation-statuses}

Статус операции отражает ее текущее состояние.

API возвращает синхронный статус операции в поле status.value.

В уведомлениях статус помещается в поле {operation}.status.value.

В таблице перечислены возможные статусы и типы операций, в которых эти статусы используются.

Статус операции Тип операции Описание статуса Где возвращается
WAITING PAYMENT Ожидание 3DS авторизации Ответы API
DECLINED PAYMENT Запрос авторизации отклонен Уведомления, Ответы API
DECLINE REFUND Запрос возврата отклонен Уведомления, Ответы API
DECLINE CAPTURE Запрос подтверждения отклонен Уведомления, Ответы API
DECLINED CAPTURE Запрос подтверждения отклонен Ответ API на запрос статуса
SUCCESS PAYMENT Запрос авторизации успешно обработан Уведомления
COMPLETED PAYMENT Запрос авторизации успешно обработан Ответы API
SUCCESS REFUND Запрос возврата успешно обработан Уведомления
COMPLETED REFUND Запрос возврата успешно обработан Ответы API
SUCCESS CAPTURE Запрос подтверждения успешно обработан Уведомления
COMPLETED CAPTURE Запрос подтверждения успешно обработан Ответы API

Для счетов используется только статус CREATED.

Справочник ошибок API {#reason-codes}

Ошибки API описывают причину отклонения операции и передаются:

  • в ответах на запросы — в поле status.reason;
  • в уведомлениях — в поле status.reasonCode.
Ошибка API Описание
INVALID_STATE Некорректный статус транзакции
INVALID_AMOUNT Некорректная сумма
INVALID_RECEIVER_DATA Ошибка при передаче данных о получателе
DECLINED_BY_MPI Отклонено MPI
DECLINED_BY_FRAUD Отклонено fraud-мониторингом
REATTEMPT_NOT_PERMITTED Повторный запрос авторизации запрещен на основании полученного ответа от Платежной системы
GATEWAY_INTEGRATION_ERROR Ошибка взаимодействия с банком
GATEWAY_TECHNICAL_ERROR Техническая ошибка на стороне банка
ACQUIRING_MPI_TECH_ERROR Техническая ошибка при проведении 3DS аутентификации
ACQUIRING_GATEWAY_TECH_ERROR Техническая ошибка
ACQUIRING_ACQUIRER_ERROR Техническая ошибка
ACQUIRING_AUTH_TECHNICAL_ERROR Ошибка при проведении авторизации средств
ACQUIRING_ISSUER_NOT_AVAILABLE Ошибка эмитента. Банк-эмитент не доступен
ACQUIRING_SUSPECTED_FRAUD Ошибка эмитента. Подозрение на мошенничество
ACQUIRING_LIMIT_EXCEEDED Ошибка эмитента. Превышен один из лимитов
ACQUIRING_NOT_PERMITTED Ошибка эмитента. Операция не разрешена
ACQUIRING_INCORRECT_CVV Ошибка эмитента. Некорректный CVV
ACQUIRING_EXPIRED_CARD Ошибка эмитента. Неверный срок действия карты
ACQUIRING_INVALID_CARD Ошибка эмитента. Проверьте корректность введенных данных
ACQUIRING_INSUFFICIENT_FUNDS Ошибка эмитента. Недостаточно средств
ACQUIRING_UNKNOWN Неизвестная ошибка
BILL_ALREADY_PAID Счет уже оплачен
PAYIN_PROCESSING_ERROR Ошибка при проведении платежа
PAYMENT_EXPIRED_3DS Не пройдена 3DS-аутентификация
QW_LIMIT_ERROR Ошибка превышения лимита пользователя QIWI Кошелька
QW_IDENTIFICATION_ERROR Пользователю необходимо пройти идентификацию в QIWI Кошельке
QW_AUTH_ERROR Ошибка авторизации в QIWI Кошельке
QW_INSUFFICIENT_FUNDS Недостаточно средств в QIWI Кошельке
QW_AMOUNT_ERROR Недопустимая сумма платежа
QW_REGISTRATION_ERROR Ошибка регистрации пользователя QIWI Кошелька
QW_AGENT_ERROR Ошибка при пополнении QIWI Кошелька пользователя
QW_ACCOUNT_ERROR QIWI Кошелек заблокирован
QW_IDENTIFICATION_STATUS_ERROR Достигнут лимит платежей в QIWI Кошельке
QW_CURRENCY_ERROR Валюта QIWI Кошелька не найдена
QW_PAYMENT_ERROR Ошибка проведения платежа в QIWI Кошельке
QW_PROVIDER_ERROR Провайдер QIWI Кошелька заблокирован
QW_SMS_CONFIRM_EXPIRED Истекло время СМС-подтверждения платежа в QIWI Кошельке

The transmission of information to the payment gateway takes place with the use of SSL encryption technology.

Передача информации в платежный шлюз происходит с применением технологии шифрования SSL.

The price of each order includes payment gateway fee and is not refundable.

В стоимость каждого заказа входит комиссия платежного шлюза и возврату не подлежит.

Through our payment gateway for receiving Liqpay card was connected

to the ability to pay via MasterPass.

Через наш платежный шлюз по приему карт Liqpay была подключена

возможность оплачивать с помощью MasterPass.

and contractual relationship for

payment

processing credit cards on your site.

и договорные отношения для обработки платежей кредитными карточками на вашем сайте.

debit card are completed immediately via the payment gateway of the appropriate banking institution after verification of the details you provide.

Платежи по этим карточкам совершаются незамедлительно через платежный шлюз соответствующего банка, после подтверждения предоставленных вами данных.

different kinds of

payments,

ranging from the ones made with credit card to the ones made with bitcoin.

Платежный шлюз может быть создан чтобы вы могли принимать разные платежи,

начиная от платежей сделанных кредитной картой и сделанных биткоинами.

Connection with the payment gateway and transfer of the information is carried out in secure

mode using the SSL encryption protocol.

Соединение с платежным шлюзом и передача информации осуществляется в защищенном режиме с

использованием протокола шифрования SSL.

For payment(entering the details of your card) you will be redirected to the payment gateway of PAO SBERBANK.

Для оплаты( ввода реквизитов Вашей карты) Вы будете перенаправлены на платежный шлюз ПАО СБЕРБАНК.

Card Industry Data Security Standard(PCI DSS) for

payment

processing.

Служба платежного шлюза сторонней компании полностью соответствует требованиям Стандарта безопасности

данных в сфере

платежных

карт( PCI DSS) для обработки платежей.

Immediately after the

payment

service associated with the payment gateway shop and informed him that the

payment

is made.

Сразу же после оплаты сервис связывается с платежным шлюзом магазина и извещает его о том, что произведена оплата.

A copy of the document confirming the

payment

of the license fee,

except for the cases of

payment

of the license fee through the payment gateway of»electronic government»;

Копия документа, подтверждающего уплату лицензионного сбора,

за исключением случаев оплаты лицензионного сбора через платежный шлюз « электронного правительства »;

The next stage of the customer’s interaction with the payment gateway is input of the information about his purchase on special

payment

pages.

Следующий этап взаимодействия пользователя с платежным шлюзом— это ввод данных о покупке на специальных страницах оплаты.

A

payment

document confirming the deposit of the guarantee fee,

except for the case of

payment

by the bidder of the guarantee deposit through the payment gateway of»electronic government.

Платежный

документ, подтверждающий внесение гарантийного взноса,

за исключением случая оплаты участником торгов гарантийного взноса через платежный шлюз» электронного правительства.

All interaction between the customer of the online shop and the payment gateway is carried only through the secure protocol- HTTPS.

Все взаимодействие между пользователем интернет- магазина и платежным шлюзом осуществляется только по защищенному протоколу- HTTPS.

debit card are completed immediately via the payment gateway of the appropriate banking institution after verification of the details you provide.

Платежи с помощью

кредитной или дебит карты совершаются незамедлительно через платежный шлюз соответствующего банка, после подтверждения данных предоставленных вами.

Traders have access to a

web-based system that supplies free of charge with a payment gateway.

Трейдеры имеют доступ к

веб- системе продажи, что поставляет бесплатно с платежным шлюзом.

At the same time digital currency is becoming one of the most essential security

entities in financial apps with an integrated crypto payment gateway.

В то же время цифровая валюта стала одним из важнейших объектов безопасности на

биржах и финансовых приложениях с интегрированным крипто валютным платежным шлюзом.

The data transfer and transaction confirmation is performed via

special secure channels between your Ecwid store and a payment gateway,

Передача данных и транзакции выполняются по защищенным каналам,

In this case you will be directed to a

В этом случае Вас направят к веб-

The payment gateway facilitated the exchange of electronic information on the transaction between the merchant

and the mobile network operator.

Платежный портал обеспечивает обмен электронными данными о сделке между продавцом и оператором

сети мобильной связи.

E-Gov Payment Gateway which provides citizens with available

payment

mechanisms and methods,

keeps extending its capabilities.

Говоря о Платежном шлюзе « Электронного правительства »( e- Pay), который обеспечивает граждан доступными механизмами и способами

оплаты госуслуг продолжает расширять свои возможности.

After click you will be redirected on a payment gateway, where you can opt way of

payment.

После нажатия кнопки вас направят на портал оплаты, где вы выберете способ, которым хотите заплатить.

In a typical scheme, a customer purchased goods or

services from a merchant who was enabled to access the payment gateway.

Классическая схема при этом выглядит следующим образом: покупатель

приобретает товар или услугу у продавца, имеющего доступ к платежному порталу.

If either API or mini-anywayanyday.com

are installed, you get to choose the

payment

method: Anywayanyday payment gateway or your cash offices with their deposits.

При установке API и mini-

anywayanyday вы сами выбираете вид оплаты: через наш платежный шлюз или

через

ваши кассы за счет депозита.

Reasonable and affordable prices for all services along with multiple payment gateway options will give you an easy and enjoyable experience.

Разумные и доступные цены на все услуги, наряду с несколькими вариантами оплаты шлюза предоставят вам простой и приятный опыт.

or crypto-currency

payments

for goods and services, and also allows for faster distribution of cryptocurrencies and sales transactions between the seller and the buyer on the platform.

или криптовалютные платежи за товары и услуги, а протокол позволяет существенно ускорить распространение криптовалюты и осуществлять сделки купли- продажи между продавцом и покупателем на платформе.

Результатов: 67,
Время: 0.0242

Обзор протокола

Последнее обновление: 30-01-2023 | Версия 1.20 | Редактировать на GitHub

Протокол приема платежей предоставляет быстрые и безопасные решения для приема и отправки платежей в интернете. Протокол дает вашим покупателям возможность использовать разнообразные методы платежей, включая:

  • Банковские карты Visa, Mastercard, МИР.
  • Yandex Pay.
  • QIWI Кошелек.
  • Система Быстрых Платежей (СБП).
  • Баланс мобильного телефона.

Термины и сокращения

Ключ доступа к API — Символьная строка для авторизации мерчанта в API согласно стандарту OAuth 2.0 RFC 6749 RFC 6750.

Платежный токен — Символьная строка, созданная по данным карты для безакцептных платежей.

API: Application Programming Interface — набор готовых методов, предоставляемых приложением (системой) для использования во внешних программных продуктах.

REST: Representational State Transfer — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.

JSON: JavaScript Object Notation — текстовый формат обмена данными, основанный на JavaScript RFC 7159.

3DS: 3-D Secure — протокол защиты карточных данных, используемый для аутентификации держателя банковской карты во время совершения платежной операции через интернет. QIWI поддерживает как версию 3DS 1.0, так и версию 3DS 2.0 протокола.

ТСП, Мерчант — Торгово-сервисное предприятие.

MPI: Merchant Plug-In — модуль, выполняющий 3DS аутентификацию покупателя.

PCI DSS: Payment Card Industry Data Security Standard — стандарт безопасности данных индустрии платёжных карт, учреждённым международными платёжными системами Visa, MasterCard, American Express, JCB и Discover.

Начало работы

Чтобы начать работу с Протоколом, выполните следующие шаги.

Шаг 1. Оставьте заявку на подключение b2b.qiwi.com

После обработки заявки менеджер Службы поддержки обсудит с вами возможные варианты подключения, соберет необходимые документы и запустит процесс интеграции.

Шаг 2. Получите доступ к личному кабинету

При подключении к Протоколу приема платежей вы получаете уникальный идентификатор siteId и доступ в Личный кабинет. Параметры доступа отправляются на указанный при регистрации email.

Шаг 3. Выпустите ключ доступа к API

Ключ доступа к API используется для взаимодействия с API. Выпустите ключ API в Личном кабинете в разделе Настройки.

Шаг 4. Протестируйте взаимодействие

При подключении ваш идентификатор находится в тестовом режиме. В этом режиме вы можете проводить операции без списания средств с банковской карты. Подробнее о тестовом режиме см. в разделе Тестовый режим.

Когда интеграция на вашей стороне закончена, мы переводим ваш идентификатор siteId в производственный режим. В производственном режиме выполняются реальные списания средств с карт.

Способы подключения

Протокол приема платежей поддерживает несколько вариантов взаимодействия:

  • Платеж через форму QIWI.
  • Платеж через форму мерчанта.

Доступные методы оплаты

Метод Платежная форма QIWI Платежная форма мерчанта
Банковская карта*
Оплата платежным токеном
Yandex Pay ×
Оплата через СБП
Оплата с баланса КИВИ Кошелька ✓**
Оплата с баланса мобильного телефона ×

* — метод оплаты доступен по умолчанию, другие методы оплаты подключаются по запросу.

** — посредством выпуска платежного токена для КИВИ кошелька.

Типы операций

В Протоколе доступны следующие операции:

  • Счет (Invoice) — электронный документ, выставляемый продавцом покупателю. Содержит информацию о сумме и номере заказа. Не является финансовой сущностью и имеет ограниченный срок жизни. Выставление счета необходимо для получения ссылки на платежную форму QIWI.
  • Платеж (Payment) — операция списания денежных средств от покупателя в пользу продавца. Фактическое списание происходит только после подтверждения (Capture). При работе через платежную форму QIWI, Payment — попытка оплаты счета (Invoice).
  • Завершение (Complete) — завершение 3DS-верификации Покупателя. Используется при работе через Платежную форму мерчанта.
  • Подтверждение (Capture) — операция подтверждения авторизации (списания) средств.
  • Возврат (Refund) — возврат средств покупателю по успешному платежу. Финансовая операция списания денежных средств от продавца в пользу покупателя. Если подтверждения операции Payment не было, то в ответе на операцию Refund вы получите флаг Reversal и деньги со счета Покупателя на счет продавца не перечислятся (комиссия за эквайринг также не удерживается).

Общая схема проведения платежа и взаиморасчетов

sequenceDiagram
participant customer as Покупатель
participant store as Магазин мерчанта
participant ipsstore as Кредитная организация
мерчанта
participant qb as QIWI
participant ips as Платежная система
participant ipscust as Кредитная организация
Покупателя
Эмитент или банк-отправитель
customer->>store:Старт оплаты
store->>qb:Платеж
qb->>ips:Авторизация платежа
ips->>ipscust:Авторизация платежа
rect rgb(255, 238, 223)
Note over ipsstore, ipscust:Взаиморасчеты
ipscust->>ips:₽₽₽
ips->>qb:₽₽₽
qb->>ipsstore:₽₽₽
end

Формат взаимодействия

API Протокола приема платежей основано на принципах REST-архитектуры.

URL-адрес для вызова API:

https://api.qiwi.com/partner/

Методы API вызываются через HTTP-запросы. Параметры методов помещаются в JSON-тело запроса. В GET-запросах параметры помещаются в URL запроса.

API всегда возвращает ответ в формате JSON.

Авторизация

Пример запроса с авторизацией

curl -X PUT 
  https://api.qiwi.com/partner/v1/sites/{site_id}/payments/{payment_id} 
  --oauth2-bearer <Ключ API>

Пример заголовка авторизации

Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9

Для авторизации запросов к API используется стандарт OAuth 2.0 согласно RFC 6750. Указывайте значение ключа доступа к API в HTTP-заголовке Authorization как

Bearer <Ключ API>

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

Аутентификация по цифровой подписи применяется только для создания операций типа «Выплата».

Для аутентификации по цифровой подписи мерчант должен создать пару RSA-ключей, например, с помощью утилиты OpenSSL. Закрытый ключ должен быть размером 2048 бит в PEM-формате. Мерчант должен передать в QIWI закодированный в Base64 открытый ключ, соответствующий закрытому ключу.

Как создать ключи

  1. Сгенерировать закрытый ключ. Выполните команду:

    openssl genrsa -out private-key.pem 2048

    В папке выполнения команды будет создан файл с закрытым ключом: private-key.pem.

  2. Получить открытый ключ, соответствующий закрытому, командой:

    openssl rsa -in private-key.pem -pubout -out public-key.pem

  3. Закодировать полученный ключ public-key.pem в Base64 командой:

    base64 -i public-key.pem

  4. Передать закодированный в Base64 открытый ключ в QIWI, а закрытый ключ использовать для подписи запросов.

Как подписывать запросы

Алгоритм с примерами на языке Bash:

  1. Сформировать body запроса в виде строки:

    REQUEST_BODY='{"amount":{"value":100, "currency":"RUB"},...'

  2. При помощи закрытого ключа private-key.pem, сгенерированного ранее, сформировать цифровую подпись по алгоритму SHA256withRSA:

    SIGNATURE_RAW=$(echo -n $REQUEST_BODY | openssl dgst -sha256 -sign private-key.pem)

  3. Закодировать полученную цифровую подпись при помощи Base64 в строку:

    SIGNATURE_BASE64=$(echo -n $SIGNATURE_RAW | base64)

  4. Передать закодированную цифровую подпись в заголовке X-Digital-Sign при отправке запроса.

Тестовый режим

При подключении ваш идентификатор siteId находится в тестовом режиме. В этом режиме вы можете проводить операции без списания средств с банковской карты. Также можно запросить переключение в режим тестирования любого своего siteId, либо добавление нового siteId в режиме тестирования через вашего сопровождающего менеджера.

Для тестирования операций оплаты используются URL протокола.

Тестовый режим для метода оплаты с баланса КИВИ Кошелька не предусмотрен.

Когда интеграция на вашей стороне закончена, мы переводим siteId в производственный режим. В этом режиме выполняются реальные списания средств с карт.

При переходе в производственный режим перевыпускать ключ доступа к API не нужно.

При необходимости измените постоянный URL для обработки уведомлений с тестового (например, https://your-shop-test.ru/callbacks) на производственный (например, https://your-shop-prod.ru/callbacks) в Личном кабинете.

Оплата картой в тестовом режиме

В тестовом режиме можно использовать любой номер карты, удовлетворяющий алгоритму Luhn.

Тестовые номера карт

В тестовом режиме из валют (параметр currency) разрешен только рубль РФ (643).

CVV в тестовом режиме может быть любым (произвольные 3 цифры).

Для тестирования различных вариантов оплаты и ответов необходимо использовать различные сроки действия карты:

  • Если месяц срока действия — 02, то операция будет проведена неуспешно.
  • Если месяц срока действия — 03, то операция будет проведена успешно с задержкой в 3 секунды.
  • Если месяц срока действия — 04, то операция будет проведена неуспешно с задержкой в 3 секунды.
  • Во всех остальных случая операция выполняется успешно.

В тестовой среде установлено ограничение на сумму и количество тестовых операций:

  • Максимальная сумма тестовой транзакции — 10 рублей.
  • Максимальное количество транзакций в сутки — 100. Учитываются операции за текущие сутки (время по МСК) с суммой каждой операции не более установленного лимита 10 рублей.

Для проведения операции с 3DS необходимо использовать строку unknown name в имени держателя карты. Прохождение 3DS в режиме тестирования можно проверить только при вводе номера реальной карты.

Оплата через СБП в тестовом режиме

Для тестирования различных вариантов оплаты и ответов указывайте разные суммы платежа (поле amount):

  • 200 — операция пройдет успешно с задержкой. При первом запросе статуса платежа вы получите статус "WAITING", после второго запроса статуса платежа — статус "SUCCESS".
  • Для других сумм платеж пройдет неуспешно.

Платеж через форму QIWI

При подключении платежей через форму QIWI покупателю доступен только способ оплаты банковскими картами. Другие способы оплаты включаются по запросу:

  • Платежные токены карт.
  • Система быстрых платежей.
  • QIWI Кошелек.

Чтобы выполнить платеж через форму QIWI, выставите счет покупателю. Воспользуйтесь выставлением счета через API или перенаправьте покупателя на форму QIWI по прямой ссылке с параметрами счета.

Процесс платежа

sequenceDiagram
participant customer as Покупатель
participant store as Магазин
participant qb as QIWI (эквайер)
participant ips as Эмитент
customer->>store:Выбор товаров, Старт оплаты
activate store
store->>qb:API: запрос «Создание счета»
Одношаговый платеж — все способы оплаты
Двухшаговый платеж — только карты
activate qb
qb->>store:Ссылка на платежную форму QIWI (payUrl)
store->>customer:Переадресация покупателя на payUrl
customer->>qb:Открытие платежной формы,
выбор способа оплаты,
указание платежных данных для выбранного способа
qb->>customer:Аутентификация покупателя:
Для карт — 3-D Secure
customer->>qb:Аутентификация
qb->>ips:Запрос списания денежных средств
activate ips
ips->>qb:Статус операции
qb->>store:Уведомление о статусе операции
qb->>customer: Возврат на сайт мерчанта при успешной операции (successUrl)
store->>qb: Проверка статуса операции
API: запрос «Статус платежа»
qb->>store: Статус операции
rect rgb(255, 238, 223)
Note over store, ips:Двухшаговый платеж
store->>qb:Подтверждение операции (capture)
qb->>ips:Подтверждение списания
deactivate ips
qb->>store:Уведомление о подтверждении платежа
store->>qb: Проверка статуса операции
API: запрос «Статус подтверждения»
qb->>store: Статус операции
end
deactivate qb
deactivate store

Интеграция c Платежной формой QIWI без использования API

Для мерчантов доступна интеграция без использования методов платежного API.

Параметры счета необходимо передать в ссылке на Платежную форму — см. ниже примеры и список параметров. Когда покупатель открывает ссылку, ему автоматически выставляется счет и отображается Платежная форма.

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

GET →

Ссылка на форму с передачей суммы платежа

https://oplata.qiwi.com/create?publicKey=5nAq6abtyCz4tcDj89e5w7Y5i524LAFmzrsN6bQTQ3ceEvMvCq55ToeErzhvK6rVkQLaCrYUQcYF5QkS8nCrjnPsLQgsLxqrpQgJ7hg2ZHmEHXFjaG8qjvgcep&extras[cf1]=Order_123&extras[cf3]=winnie@pooh.ru&readonly_extras=cf1&comment=some%20comment&amount=100.00

Ссылка на форму без указания суммы платежа (сумму заполняет покупатель)

https://oplata.qiwi.com/create?publicKey=5nAq6abtyCz4tcDj89e5w7Y5i524LAFmzrsN6bQTQ3ceEvMvCq55ToeErzhvK6rVkQLaCrYUQcYF5QkS8nCrjnPsLQgsLxqrpQgJ7hg2ZHmEHXFjaG8qjvgcep&extras[cf1]=Order_123&extras[cf3]=winnie@pooh.ru&readonly_extras=cf1
  • URL https://oplata.qiwi.com/create?publicKey={key}&{parameter}={value}

  • Параметры

    В URL query указываются параметры счета.

Параметр ссылки Описание Тип
publicKey Обязательный параметр. Ключ идентификации мерчанта, уникальный для каждого siteId. Ключ можно получить в Личном кабинете в разделе Настройки. String
billId Уникальный идентификатор счета в системе мерчанта. Генерируется на вашей стороне любым способом как уникальная последовательность букв, цифр и символов _, -. Если не указан, то при каждом переходе по ссылке создается новый счет. URL-закодированная строка String(200)
amount Сумма покупки, округленная в меньшую сторону до 2 десятичных знаков (всегда в рублях) Number(6.2)
currency Код валюты покупки. Возможные значения: RUB, EUR, USD. По умолчанию RUB String(3)
phone Номер телефона покупателя (в международном формате) URL-закодированная строка
email E-mail покупателя URL-закодированная строка
comment Комментарий к счету URL-закодированная строка String(255)
successUrl URL для возврата на сайт мерчанта в случае успешной оплаты. Ссылку необходимо указывать в кодировке UTF-8. URL-закодированная строка
paymentMethod Платежный метод, предлагаемый покупателю по умолчанию на платежной форме. Возможные значения: CARD, SBP, QIWI_WALLET. Если указанный метод недоступен мерчанту, отображается другой доступный. По умолчанию — CARD. String
extras[cf1] Дополнительное поле с произвольной информацией, дополняющей данные счета URL-закодированная строка
extras[cf2] Дополнительное поле с произвольной информацией, дополняющей данные счета URL-закодированная строка
extras[cf3] Дополнительное поле с произвольной информацией, дополняющей данные счета URL-закодированная строка
extras[cf4] Дополнительное поле с произвольной информацией, дополняющей данные счета URL-закодированная строка
extras[cf5] Дополнительное поле с произвольной информацией, дополняющей данные счета URL-закодированная строка
extras[themeCode] Дополнительное поле с кодом стиля Платежной формы URL-закодированная строка
readonly_extras Список дополнительных полей, которые должны быть недоступны для изменения покупателем на платежной форме Строка, разделитель имен полей ,. Пример: cf1,cf3

Выставление счета и получение ссылки на оплату через API

Протокол приема платежей поддерживает выставление счетов с оплатой как двухшаговым платежом с холдированием средств на карте покупателя, так и одношаговым платежом без авторизации покупателя.

Двухшаговый платеж

Выставление счета с оплатой через холдирование (двухшаговый платеж)

PUT /partner/payin/v1/sites/23044/bills/893794793973 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "amount": {
     "currency": "RUB",
     "value": "42.24"
   },
   "billPaymentMethodsType": [
      "QIWI_WALLET",
      "SBP"
   ],
   "comment": "Spasibo",
   "expirationDateTime": "2019-09-13T14:30:00+03:00",
   "customFields": {}
}

Подтверждение платежа

PUT /partner/payin/v1/sites/23044/payments/804900/capture/bxwd8096 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

Уведомление об оплате счета

{
  "payment": {
    "type": "PAYMENT",
    "paymentId": "824c7744-1650-4836-abaa-842ca7ca8a74",  <==paymentId, необходимый для подтверждения
    "createdDateTime": "2022-07-27T12:43:35+03:00",
    "status": {
        "value": "SUCCESS",
        "changedDateTime": "2022-07-27T12:43:47+03:00"
    },
    "amount": {
        "value": 1.00,
        "currency": "RUB"
    },
    "paymentMethod": {
        "type": "CARD",
        "maskedPan": "512391******6871",
        "cardHolder": null,
        "cardExpireDate": "3/2030"
    },
    "tokenData": {
        "paymentToken": "cc123da5-2fdd-4685-912e-8671597948a3",
        "expiredDate": "2030-03-01T00:00:00+03:00"
    },
    "customFields": {
        "cf2": "dva",
        "cf1": "1",
        "cf4": "4",
        "cf3": "tri",
        "cf5": "5",
        "full_name": "full_name",
        "phone": "phone",
        "contract_id": "contract_id",
        "comment": "test",
        "booking_number": "booking_number"
    },
    "paymentCardInfo": {
        "issuingCountry": "643",
        "issuingBank": "Тинькофф банк",
        "paymentSystem": "MASTERCARD",
        "fundingSource": "UNKNOWN",
        "paymentSystemProduct": "TNW|TNW|Mastercard® New World—Immediate Debit|TNW|Mastercard New World-Immediate Debit"
    },
    "customer": {
        "email": "darta@mail.ru",
        "account": "11235813",
        "phone": "79850223243"
    },
    "gatewayData": {
        "type": "ACQUIRING",
        "eci": "2",
        "authCode": "0123342",
        "rrn": "001239598011"
    },
    "billId": "191616216126154",
    "flags": [
        "AFT"
    ]
  },
  "type": "PAYMENT",
  "version": "1"
}
  1. Передайте в запросе API Создание счета:

    • ключ API;
    • сумму счета в параметре amount;
    • дату, до которой необходимо оплатить счет, в параметре expirationDateTime;
    • (опционально) другую информацию о счете, в том числе:
      • комментарий в параметре comment;
      • информация о покупателе (customer, address) и получателе платежа (receiverData, при необходимости);
      • дополнительные данные по операции в параметре customFields.

    Вы можете управлять методами платежа, которые будут отображены покупателю на Платежной форме. Для этого перечислите их в параметре API billPaymentMethodsType. Указанные методы должны быть включены через Службу поддержки для siteId из запроса.

  2. Перенаправьте покупателя на Платежную форму по ссылке из параметра payUrl ответа, или используйте библиотеку Popup, чтобы открыть форму во всплывающем окне.
  3. Получите идентификатор платежа paymentId:
    • из серверного уведомления после успешного холдирования средств;
    • из ответа на запрос API Получение списка платежей по счету.
  4. Отправьте запрос API Подтверждение платежа с полученным paymentId. Возмещение формируется только после подтверждения.
  5. Дождитесь завершения платежа: вам поступит уведомление, или периодически отправляйте запрос API Статус подтверждения, чтобы получить информацию о платеже.

Одношаговый платеж

Выставление счета с оплатой без авторизации Покупателя (одношаговый платеж)

PUT /partner/payin/v1/sites/23044/bills/893794793973 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "amount": {
     "currency": "RUB",
     "value": "100.00"
   },
   "expirationDateTime": "2018-04-13T14:30:00+03:00",
   "flags": [
     "SALE"
    ]
}
  1. Передайте в запросе API Создание счета:

    • ключ API;
    • сумму счета в параметре amount;
    • дату, до которой необходимо оплатить счет, в параметре expirationDateTime;
    • параметр "flags":["SALE"]. Если не передать его, то будет выполнено безусловное холдирование средств для оплаты счета;
    • (опционально) другую информацию о счете, в том числе:
      • комментарий в параметре comment;
      • информация о покупателе (customer, address) и получателе платежа (receiverData, при необходимости);
      • дополнительные данные по операции в параметре customFields.

    Вы можете управлять методами платежа, которые будут отображены покупателю на Платежной форме. Для этого перечислите их в параметре API billPaymentMethodsType. Указанные методы должны быть включены через Службу поддержки для siteId из запроса.

  2. Перенаправьте покупателя на Платежную форму по ссылке из параметра payUrl ответа, или используйте библиотеку Popup, чтобы открыть форму во всплывающем окне.
  3. Дождитесь завершения платежа: вам поступит уведомление о платеже, или периодически отправляйте запрос API Статус счета, чтобы получить информацию о платеже.

Платежный токен

Выставление счета с оплатой платежным токеном

PUT /partner/payin/v1/sites/test-02/bills/1815 HTTP/1.1
Accept: application/json
Authorization: Bearer 7uc4b25xx93xxx5d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "amount": {
     "currency": "RUB",
     "value": 100.00
   },
   "comment": "Text comment",
   "expirationDateTime": "2018-04-13T14:30:00+03:00",
   "customer": {
     "account": "token234"
   },
   "customFields": {
    "cf1": "Some data"
   }
   }
}

Платежные токены используются для списаний с карт или QIWI кошельков без ввода реквизитов карты или номера кошелька. Метод оплаты платежным токеном по умолчанию отключен. Чтобы подключить его, обратитесь к вашему сопровождающему менеджеру.

Подробнее о выпуске платежного токена см. в этом разделе.

Чтобы покупатель смог оплатить платежным токеном:

  1. Передайте в запросе API Создание счета следующую информацию:
    • ключ API;
    • сумму счета (amount);
    • дату, до которой необходимо оплатить счет (expirationDateTime);
    • идентификатор покупателя, для которого был выпущен платежный токен, в параметре customer.account. Без этого параметра оплата платежным токеном невозможна.
    • (опционально) другую информацию о счете.
  2. Перенаправьте покупателя на Платежную форму по ссылке из параметра payUrl ответа, или используйте библиотеку Popup, чтобы открыть форму во всплывающем окне.
  3. Если для покупателя был выпущен один или несколько платежных токенов, то на Платежной форме отобразится список его привязанных карт.

    qiwi-form-tokens

    Для оплаты покупателю достаточно выбрать карту из списка. Указывать карточные данные и проходить проверку 3-D Secure не требуется.

Для списания средств по платежному токену без участия Покупателя воспользуйтесь методом API Платеж. См. подробнее описание использования платежного токена на Платежной форме мерчанта.

Перенаправление на форму QIWI

Пример ответа с payUrl

HTTP/1.1 200 OK
Content-Type: application/json

{
    "siteId": "test-01",
    "billId": "gg",
    "amount": {
        "currency": "RUB",
        "value": 42.24
    },
    "status": {
        "value": "WAITING",
        "changedDateTime": "2019-08-28T16:26:36.835+03:00"
    },
    "customFields": {},
    "comment": "Spasibo",
    "creationDateTime": "2019-08-28T16:26:36.835+03:00",
    "expirationDateTime": "2019-09-13T14:30:00+03:00",
    "payUrl": "https://oplata.qiwi.com/form/?invoice_uid=78d60ca9-7c99-481f-8e51-0100c9012087"
}

Чтобы покупатель смог оплатить выставленный счет, перенаправьте его на Платежную форму по ссылке из поля payUrl ответа на запрос выставления счета.

По умолчанию, на Платежной форме QIWI 3-D Secure покупателя обязателен.

Пример ссылки с successUrl

https://oplata.qiwi.com/form?invoiceUid=606a5f75-4f8e-4ce2-b400-967179502275&successUrl=https://example.com/payments/#introduction

К ссылке можно добавить параметры:

Параметр Описание Тип
successUrl URL для возврата на сайт мерчанта в случае успешной оплаты. Возврат произойдет после успешной 3DS аутентификации. Ссылку необходимо указывать в кодировке UTF-8. URL-закодированная строка
lang Язык платежной формы. Язык по умолчанию — русский (ru). ru, eng
paymentMethod Платежный метод, предлагаемый покупателю по умолчанию на платежной форме. Если указанный метод недоступен мерчанту, отображается другой доступный. По умолчанию — CARD. CARD, SBP, QIWI_WALLET

Пример обработчика событий iframe

window.addEventListener('message', function (event) {
    switch (event.data) {
        case 'INITIALIZED':
            // Форма загружена
            break;
        case 'PAYMENT_ATTEMPT':
            // Попытка платежа
            break;
        case 'PAYMENT_SUCCEEDED':
            // Платеж прошел успешно
            break;
        case 'PAYMENT_FAILED':
            // Платеж не прошел
            break;
    }
}, false)

При открытии ссылки в <iframe>:

<iframe src="<ссылка payUrl> ..." />

вы можете использовать метод postMessage для отслеживания состояния формы.

Возможные значения состояния:

  • INITIALIZED — Форма загружена.
  • PAYMENT_ATTEMPT — Попытка платежа.
  • PAYMENT_SUCCEEDED — Платеж прошел успешно.
  • PAYMENT_FAILED — Платеж не прошел.
  • INITIALIZATION_FAILED — Ошибка загрузки формы.

Методы библиотеки позволяют открыть Платежную форму оплаты счета как всплывающее окно (popup) поверх вашего сайта. В библиотеке доступно два метода:

  • Выставление нового счета.
  • Открытие существующего счета.

Для установки и подключения библиотеки добавьте скрипт в код сайта:

<script src='https://oplata.qiwi.com/popup/v2.js'></script>

Пример вызова метода выставления счета

QiwiCheckout.createInvoice({
    publicKey: '5nAq6abtyCz4tcDj89e5w7Y5i524LAFmzrsN6bQTQ3c******',
    amount: 10.00,
    phone: '79123456789',
    email: 'test@example.ru',
    account: 'account1',
    comment: 'Платеж',
    customFields: {
        data: 'data'
    },
    lifetime: '2022-04-04T1540'
})
    .then(data => {
        //     ...
    })
    .catch(error => {
        //     ...
    })

Чтобы создать счет и открыть форму оплаты, вызовите метод QiwiCheckout.createInvoice. Параметры метода:

Параметр Описание Формат
publicKey Обязательный параметр. Ключ идентификации мерчанта, уникальный для каждого siteId. Ключ можно получить в Личном кабинете в разделе Настройки. String
amount Обязательный параметр. Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков Number(6.2)
phone Номер телефона пользователя, на который выставляется счет (в международном формате) String
email E-mail пользователя, куда будет отправлена ссылка для оплаты счета String
account Идентификатор пользователя в системе мерчанта String
comment Комментарий к счету String(255)
customFields Дополнительные данные счета. Список полей см. в описании одноименного параметра в запросе API выставления счета Object
lifetime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, он получит финальный статус и последующая оплата станет невозможна. ГГГГ-ММ-ДДTччмм

Пример вызова метода открытия существующего счета

params = {
    payUrl: '<URL-ссылка на Платежную форму>'
}

QiwiCheckout.openInvoice(params)
    .then(data => {
        // ...
    })
    .catch(error => {
        // ...
    })

Этот метод используется, когда ссылка на Платежную форму оплаты счета получена при выставлении счета через API.

Чтобы открыть форму оплаты выставленного счета, вызовите метод QiwiCheckout.openInvoice. Параметры метода:

Параметр Описание Формат
payUrl Обязательный параметр. URL-ссылка на Платежную форму String

Настройка Платежной формы

Внешний вид Платежной формы можно настроить в соответствии с вашим стилем, включая лого, фон и цвет кнопок. Для этого обратитесь в Службу поддержки и предоставьте следующую информацию:

  • уникальный псевдоним стиля, привязанный к идентификатору siteId (цифры, латинские буквы и символ дефиса -);
  • название мерчанта, которое будет отображаться на форме;
  • краткое описание деятельности (не более 120 символов);
  • лого в формате PNG или SVG и размера 48×48 или пропорционально больше;
  • цвет фона и цвет кнопок в HEX-формате.

Необязательные данные для настройки:

  • картинка для фона в формате PNG или SVG и размера 382×560 или пропорционально больше;
  • варианты предвыбранных сумм платежа (не более трех);
  • контактный e-mail для отображения на странице;
  • URL страницы успешного платежа;
  • номер счетчика Яндекс.Метрики;
  • ссылка на оферту вашего сервиса.

Пример передачи параметра стиля при выставлении счета через API

PUT /partner/payin/v1/sites/23044/bills/893794793973 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "amount": {
     "currency": "RUB",
     "value": 100.00
   },
   "comment": "Text comment",
   "expirationDateTime": "2018-04-13T14:30:00+03:00",
   "customer": {},
   "customFields": {
     "themeCode":"merchant01-theme01"
   }
}

Чтобы применить ваш стиль на Платежной форме:

  • Передайте при выставлении счета через API в поле "themeCode" JSON-объекта customFields псевдоним стиля, который вы указали при настройке. Например:

    "themeCode":"merchant01-theme01".

  • Передайте в прямом вызове Платежной формы в параметре extras[themeCode] псевдоним стиля, который вы указали при настройке. Например:

    ...&extras[themeCode]=merchant01-theme01.

Название псевдонима стиля регистрозависимое.

Пример применения настройки к Платежной форме:

Customer form

Платеж через форму мерчанта

При подключении платежей через собственную платежную форму по умолчанию сразу доступен способ оплаты Банковские карты. Другие способы оплаты доступны по запросу:

  • Платежные токены карт и QIWI Кошелька.
  • Yandex Pay.
  • Система Быстрых Платежей (СБП).
  • Баланс мобильного телефона

Процесс платежа

sequenceDiagram
participant customer as Покупатель
participant store as Магазин
participant qb as QIWI (эквайер)
participant ips as Эмитент
customer->>store:Выбор товаров, Старт оплаты,
ввод платежных данных
activate store
store->>qb:API: запрос «Платеж»
Одношаговый платеж — все способы оплаты
Двухшаговый платеж — только карты
activate qb
qb->>store:Статус операции, данные для 3DS или QR-код СБП
rect rgb(255, 238, 223)
Note over customer, ips:3-D Secure
store->>customer:Переадресация покупателя на acsUrl
или в приложение банка (СБП)
activate ips
ips->>customer:Аутентификация покупателя:
3DS — карты,
СБП — подтверждение операции в интерфейсе эмитента карты
customer->>ips:Аутентификация
ips->>store:Результат аутентификации (PaRes)
store->>qb:API: запрос «Завершение аутентификации клиента»
end
qb->>ips:Запрос списания денежных средств
activate ips
ips->>qb:Статус операции
qb->>store:Уведомление о статусе операции
store->>qb: Проверка статуса операции
API: запрос «Статус платежа»
qb->>store: Статус операции
rect rgb(255, 238, 223)
Note over store, ips:Двухшаговый платеж
store->>qb:Подтверждение операции (capture)
qb->>ips:Подтверждение списания
deactivate ips
qb->>store:Уведомление о подтверждении платежа
store->>qb: Проверка статуса операции
API: запрос «Статус подтверждения»
qb->>store: Статус операции
end
deactivate qb
deactivate store

Чтобы создать платеж, передайте в запросе API Платеж:

  • ключ API;
  • сумму платежа;
  • метод платежа;
  • другую информацию для создания платежа.

Банковская карта

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

Создание платежа

Пример платежа с холдированием (двухшаговый платеж)

PUT /partner/payin/v1/sites/test-01/payments/1811 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "amount": {
    "currency": "RUB",
    "value": 1.00
  },
  "paymentMethod" : {
    "type" : "CARD",
    "pan" : "4444443616621049",
    "expiryDate" : "12/19",
    "cvv2" : "123",
    "holderName" : "unknown cardholder"
  }
}

Пример платежа с немедленной оплатой (одношаговый платеж)

PUT /partner/payin/v1/sites/test-01/payments/1811 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "amount": {
    "currency": "RUB",
    "value": 1.00
  },
  "paymentMethod" : {
    "type" : "CARD",
    "pan" : "4444443616621049",
    "expiryDate" : "12/19",
    "cvv2" : "123",
    "holderName" : "unknown cardholder"
  },
  "flags": [ "SALE" ]
}

Чтобы инициировать платеж с предварительным холдированием средств на карте (двухшаговый платеж), передайте в запросе API Платеж:

  • ключ API;
  • сумму платежа;
  • метод платежа CARD и карточные данные покупателя;
  • другая информация для создания платежа.

В двухшаговом платеже возмещение формируется только после подтверждения платежа.

Для платежа без авторизации (одношаговый платеж) укажите в запросе API Платеж параметр "flags":["SALE"]. Если не передать этот параметр, то будет выполнено безусловное холдирование средств для выполнения платежа.

Ожидание аутентификации покупателя (3-D Secure)

Пример ответа с требованием аутентификации покупателя

{
    "paymentId": "1811",
    "billId": "autogenerated-a29ea8c9-f9d9-4a60-87c2-c0c4be9affbc",
    "createdDateTime": "2019-08-15T13:28:26+03:00",
    "amount": {
        "currency": "RUB",
        "value": 1.00
    },
    "capturedAmount": {
        "currency": "RUB",
        "value": 0.00
    },
    "refundedAmount": {
        "currency": "RUB",
        "value": 0.00
    },
    "paymentMethod": {
        "type": "CARD",
        "maskedPan": "444444******1049",
        "rrn": "123",
        "authCode": "181218",
        "type": "CARD"
    },
    "status": {
        "value": "WAITING",
        "changedDateTime": "2019-08-15T13:28:26+03:00"
    },
    "requirements" : {
        "threeDS" : {
          "pareq" : "eJyrrgUAAXUA+Q==",
          "acsUrl" : "https://test.paymentgate.ru/acs/auth/start.do"
        }
    }
}

Перенаправление для аутентификации 3-D Secure

<form name="form" action="{ACSUrl}" method="post" >
        <input type="hidden" name="TermUrl" value="{TermUrl}" >
        <input type="hidden" name="MD" value="{MD}" >
        <input type="hidden" name="PaReq" value="{PaReq}" >
</form>

Завершение аутентификации покупателя

POST /partner/payin/v1/sites/test-01/payments/1811/complete HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "threeDS": {
    "pares": "eJzVWFevo9iyfu9fMZrzaM0QjWHk3tIiGptgooE3cgabYMKvv3jvTurTc3XOfbkaJMuL...."
  }
}

Если требуется 3-D Secure аутентификация покупателя, в ответе на запрос платежа добавляется объект requirements.threeDS с полями:

  • acsUrl — URL сервера аутентификации 3-D Secure, для перенаправления на страницу подтверждения от эмитента;
  • pareq — зашифрованный запрос на аутентификацию 3-D Secure.

Для дополнительной проверки покупателя у эмитента выполните POST-запрос на URL сервера аутентификации 3-D Secure с параметрами:

  • TermUrl — URL перенаправления покупателя после успешной аутентификации 3-D Secure;
  • MD — уникальный идентификатор транзакции;
  • PaReq — значение параметра pareq из ответа на платежный запрос.

Чтобы сохранять обратную совместимость, использование протокола 3-D Secure 1.0 или 3-D Secure 2.0 не влияет на вашу интеграцию с API.

Далее информация о покупателе передаётся в платежную систему карты. Банк-эмитент либо предоставляет разрешение на списание средств без аутентификации (frictionless flow), либо принимает решение о необходимости аутентификации с помощью одноразового пароля (challenge flow). После прохождения проверки покупатель перенаправляется по адресу TermUrl с зашифрованным результатом проверки в параметре PaRes.

Чтобы завершить аутентификацию покупателя, передайте в запросе API Завершение аутентификации клиента:

  • уникальный ID мерчанта;
  • номер платежа (параметр paymentId) из ответа на запрос платежа;
  • результат 3-D Secure (значение параметра PaRes).

Подтверждение платежа

Пример уведомления

{
  "payment":{
    "paymentId":"804900",  <==paymentId, необходимый для подтверждения
    "type":"PAYMENT",
    "createdDateTime":"2020-11-28T12:58:49+03:00",
    "status":{
        "value":"SUCCESS",
        "changedDateTime":"2020-11-28T12:58:53+03:00"
    },
    "amount":{
      "value":100.00,
      "currency":"RUB"
    },
    "paymentMethod":{
      "type":"CARD",
      "maskedPan":"444444XXXXXX4444",
      "rrn":null,
      "authCode":null,
      "type":"CARD"
    },
    "customer":{
      "phone":"75167693659"
    },
    "gatewayData":{
      "type":"ACQUIRING",
      "eci":"6",
      "authCode":"181218"
    },
    "billId":"autogenerated-a51d0d2c-6c50-405d-9305-bf1c13a5aecd",
    "flags":[]
  },
  "type":"PAYMENT",
  "version":"1"
}

Подтверждение платежа

PUT /partner/payin/v1/sites/{siteId}/payments/804900/capture/bxwd8096 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

Это действие требуется только для двухшагового платежа с холдированием.

Чтобы подтвердить платеж:

  • Получите paymentId платежа:
    • Из серверного уведомления после успешного холдирования средств.
    • Из ответа на запрос Статус платежа.
  • Отправьте запрос API Подтверждение платежа с полученным paymentId.

Платежный токен

Использование платежного токена в запросе платежа

PUT /partner/payin/v1/sites/test-02/payments/1815 HTTP/1.1
Accept: application/json
Authorization: Bearer 7uc4b25xx93xxx5d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "amount": {
    "currency": "RUB",
    "value": 2000.00
  },
  "paymentMethod" : {
    "type": "TOKEN",
    "paymentToken" : "66aebf5f-098e-4e36-922a-a4107b349a96"
  },
  "customer": {
        "account": "token324"
  }
}

Платежные токены используются для списаний с карт или QIWI кошельков без ввода реквизитов карты или номера кошелька. Метод оплаты платежным токеном по умолчанию отключен. Чтобы подключить его, обратитесь к вашему сопровождающему менеджеру.

О выпуске платежного токена читайте подробнее в этом разделе.

Чтобы оплатить покупку платежным токеном, передайте в запросе API Платеж:

  • платежный токен в объекте paymentMethod,
  • идентификатор покупателя, для которого был выпущен платежный токен, в параметре customer.account.
Параметр Тип Описание
paymentMethod.type String Тип операции. Только TOKEN
paymentMethod.paymentToken String Строка платежного токена
customer.account String Уникальный идентификатор Покупателя в системе ТСП, для которого выпущен платежный токен. Без этого параметра оплата платежным токеном невозможна.

Покупатель не будет указывать свои карточные данные и проходить проверку 3-D Secure.

Yandex Pay

Оплата покупок с Yandex Pay происходит без ввода данных карты.

Для включения способа оплаты Yandex Pay обратитесь к вашему сопровождающему менеджеру.

Как отправлять платеж

Пример платежа с данными расшифрованного платежного токена Yandex Pay (метод CLOUD_TOKEN)

{
  "paymentMethod": {
    "type": "CARD",
    "pan": "4444443616621049",
    "expiryDate": "12/19",
    "holderName": "Yandex Pay",
    "external3dSec": {
      "type": "YANDEX_PAY",
      "cryptogram": "AOLqt9wP++YAoABFA==",
      "eciIndicator": "05"
    }
  },
  "amount": {
    "value": 5900.00,
    "currency": "RUB"
  },
  "flags": [
    "SALE"
  ],
  "customer": {
    "account": "79111111111",
    "email": "test@qiwi.com",
    "phone": "79111111111"
  }
}

Пример платежа с данными расшифрованного платежного токена Yandex Pay (метод PAN_ONLY)

{
  "paymentMethod": {
    "type": "CARD",
    "pan": "4444443616621049",
    "expiryDate": "12/19",
    "holderName": "Yandex Pay",
    "external3dSec": {
      "type": "YANDEX_PAY"
    }
  },
  "amount": {
    "value": 760.00,
    "currency": "RUB"
  },
  "flags": [
    "SALE"
  ],
  "customer": {
    "account": "11111",
    "email": "test@qiwi.com",
    "phone": "79111111111"
  }
}

При отправке платежа, формат платежных данных зависит от способа аутентификации, указанного в поле authMethod расшифрованного платежного токена Yandex Pay:

  • CLOUD_TOKEN. Без дополнительной аутентификации покупателя.

    Для отправки платежных данных в QIWI передайте в запросе API Платеж объект paymentMethod с параметрами:

    • type — всегда CARD;
    • данные из расшифрованного платежного токена Yandex Pay:
      • PAN в поле "pan";
      • срок действия в формате MM/YY в поле "expiryDate";
      • объект external3dSec с элементами:
        • type — всегда YANDEX_PAY;
        • cryptogram — содержимое поля cryptogram платежного токена Yandex Pay(Base64-закодированная строка);
        • eciIndicator — ECI индикатор. Необходимо передавать, если поле eciIndicator получено в платежном токене Yandex Pay. В противном случае параметр не передавать.
  • PAN_ONLY. С дополнительной аутентификацией покупателя (3-D Secure).

    Для отправки платежных данных в QIWI передайте в запросе API Платеж объект paymentMethod с параметрами:

    • type — всегда CARD;
    • данные из расшифрованного платежного токена Yandex Pay:
      • PAN в поле "pan";
      • срок действия в формате MM/YY в поле "expiryDate";
      • объект external3dSec с полем type, всегда равным YANDEX_PAY.

Оплата через СБП

Протокол приема платежей поддерживает списание средств с покупателя через Систему быстрых платежей (СБП). Через СБП можно выполнять платежи в пользу юридических лиц, в том числе с использованием QR-кодов.

По умолчанию прием оплаты через СБП отключен. Чтобы подключить этот способ оплаты, обратитесь к вашему сопровождающему менеджеру.

Получение QR-кода

Пример тела запроса для платежа через СБП

{
  "amount": {
    "value": 100.00,
    "currency": "RUB"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 999,
    "image": {
      "mediaType": "image/png",
      "width": 300,
      "height": 300
    }
  },
  "paymentPurpose": "Flower for my girlfriend",
  "redirectUrl": "http://someurl.com"
}

Пример ответа c QR-кодом

{
  "qrCodeUid": "Test12",
  "amount": {
    "currency": "RUB",
    "value": "100.00"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 999,
    "image": {
        "mediaType": "image/png",
        "width": 300,
        "height": 300,
        "content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
    },
    "payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDtype=02bank=100000000009&sum=200&cur=RUB&crc=C63A",
    "status": "CREATED"
  },
  "createdOn": "2022-08-11T20:10:32+03:00"
}

При оплате через СБП покупатель сканирует QR-код и получает ссылку на платеж, которую можно открыть в приложении своего банка.

Для выпуска QR-кода СБП отправьте запрос API Получение QR-кода СБП. В запросе укажите:

  • Уникальный идентификатор запроса.
  • Объект qrCode с характеристиками запрашиваемого QR-кода:
    • Тип QR-кода в параметре qrCode.type:
      • DYNAMIC — динамический QR-код, индивидуальный для каждой оплаты.
    • Срок действия кода в минутах в параметре qrCode.ttl. По истечении срока QR-код деактивируется. По умолчанию срок действия 72 часа.
    • Тип и размер изображения QR-кода в блоке qrCode.image.
  • Сумму платежа в блоке amount.
  • Параметр paymentPurpose с описанием платежа. Если не указан, в приложении банка покупателя отобразится название вашего магазина.

В ответе на запрос в объекте qrCode содержатся данные QR-кода:

  • image.content — base64-encoded QR-код. После расшифровки вы получите изображение для отображения покупателю.
  • payload — URL-based QR для перенаправления покупателя в приложение банка.

Статус платежа через СБП

После перехода платежа в финальный статус вы получите уведомление с указанным в исходном запросе идентификатором выпуска QR-кода в поле qrCodeUid. Актуальный статус платежа по идентификатору платежа paymentId из уведомления можно получить через API.

Статус QR-кода

Пример ответа на запрос статуса QR-кода

{
  "qrCodeUid": "Test",
  "amount": {
    "currency": "RUB",
    "value": "1.00"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 999,
    "payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDtype=02bank=100000000009&sum=200&cur=RUB&crc=C63A",
    "status": "PAYED"
  },
  "payment": {
    "paymentUid": "A22231710446971300200933E625FCB3",
    "paymentStatus": "COMPLETED"
  },
  "createdOn": "2022-08-11T20:10:32+03:00"
}

Используйте запрос Статус QR-кода СБП. В ответе возвращается информация о QR-коде, в том числе его текущий статус. Так вы можете определить действует ли QR-код.

Оплата токеном через СБП

Пример тела запроса оплаты токеном СБП

{
  "tokenizationAccount": "customer123",
  "token": "c5ba4a05-21c9-4a36-af7a-b709b4caa4d6"
}

О выпуске платежного токена читайте подробнее в этом разделе.

Воспользуйтесь методом API Платеж токеном СБП и передайте в запросе:

  • платежный токен в параметре token,
  • идентификатор покупателя, для которого был выпущен платежный токен, в параметре tokenizationAccount.

Оплата со счета мобильного телефона

Оплата покупок со счета мобильного телефона происходит без ввода данных карты. Сразу после инициирования платежа покупатель получает SMS-сообщение от своего мобильного оператора с информацией о платеже и подтверждает или отклоняет оплату ответным SMS.

Для включения этого способа оплаты обратитесь к вашему сопровождающему менеджеру.

Как отправлять платеж

Пример платежа

{
  "paymentMethod": {
    "type": "MOBILE_COMMERCE",
    "phone": "+79111111111"
  },
  "amount": {
    "value": 5900.00,
    "currency": "RUB"
  },
  "flags": [
    "SALE"
  ],
  "customer": {
    "account": "79111111111",
    "email": "test@qiwi.com",
    "phone": "79111111111"
  }
}

При отправке платежа укажите в блоке paymentMethod в запросе API Платеж параметры:

  • type — всегда MOBILE_COMMERCE.
  • phone — номер телефона, с баланса которого выполняется оплата. Номер указывается в международном формате со знаком +.

Серверные уведомления

Пример уведомления

POST /qiwi-notify.php HTTP/1.1
Accept: application/json
Content-type: application/json
Signature: J4WNfNZd***V5mv2w=
Host: example.com
{
   "payment":{
      "paymentId":"4504751",
      "tokenData":{
         "paymentToken":"4cc975be-483f-8d29-2b7de3e60c2f",
         "expiredDate":"2021-12-31T00:00:00+03:00"
      },
      "type":"PAYMENT",
      "createdDateTime":"2019-10-08T11:31:37+03:00",
      "status":{
         "value":"SUCCESS",
         "changedDateTime":"2019-10-08T11:31:37+03:00"
      },
      "amount":{
         "value":2211.24,
         "currency":"RUB"
      },
      "paymentMethod":{
         "type":"CARD",
         "maskedPan":"220024******5036",
         "rrn":"124",
         "authCode":"182211"
      },
      "paymentCardInfo": {
         "issuingCountry": "810",
         "issuingBank": "QiwiBank",
         "paymentSystem": "VISA",
         "fundingSource": "CREDIT",
         "paymentSystemProduct": "P|Visa Gold"
      },
      "customer":{
         "ip":"79.142.20.248",
         "account":"token32",
         "phone":"0"
      },
      "billId":"testing122",
      "customFields":{},
      "flags":[
         "SALE"
      ]
   },
   "type":"PAYMENT",
   "version":"1"
}

Уведомление от QIWI — входящий POST-запрос с информацией о событии. Тело запроса содержит JSON-сериализованные данные платежа/счета (кодировка UTF-8).

Протокол поддерживает следующие типы уведомлений о событиях API:

  • PAYMENT — отправляются при совершении операций платежа;
  • CAPTURE — отправляются при совершении операций подтверждения платежа;
  • REFUND — отправляются при совершении операций возврата платежа;
  • CHECK_CARD — отправляются при совершении операций проверки карты;
  • PAYOUT — отправляются при совершении операций выплаты.

Адрес вашего сервера для обработки уведомлений указывается в Личном кабинете в разделе Настройки.

Чтобы указать URL сервера обработки уведомлений для отдельной операции, используйте:

  • параметр callbackUrl — в запросах API Платеж, Подтверждение платежа, Операция возврата и Выплата;
  • параметр customFields.invoice_callback_url — в запросе API Создание счета.

URL для уведомлений должен начинаться с https, так как уведомления отправляются по протоколу HTTPS на порт 443. URL должен быть доступен из Интернета.

Сертификат сайта должен быть выпущен доверенным центром сертификации (например Comodo, Verisign, Thawte и т.п.).

Для дополнительной уверенности следует принимать уведомления о платежах только с указанных ниже IP-адресов компании QIWI:

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

Уведомление считается успешно доставленным, если ваш сервер ответил HTTP кодом состояния 200 OK.
До этого момента система будет пытаться доставить уведомление через увеличивающиеся интервалы времени в течение суток с момента операции.

Авторизация уведомлений

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

Цифровая подпись уведомления помещается в HTTP-заголовок Signature.

Для проверки подписи используется механизм проверки целостности HMAC с хэш-функцией SHA256 и ключом, указанным в разделе Настройки Личного кабинета мерчанта.

Алгоритм проверки подписи:

  1. Объединить значения определенных параметров в одну строку с разделителем «|». Например:

    parameters = {payment.paymentId}|{payment.createdDateTime}|{payment.amount.value}

    где {*} – значение параметра уведомления. Все значения предварительно приводятся к строковому представлению (UTF-8).

    Подпись считается для следующих полей уведомления:

    • тип PAYMENT: payment.paymentId|payment.createdDateTime|payment.amount.value
    • тип REFUND: refund.refundId|refund.createdDateTime|refund.amount.value
    • тип CAPTURE: capture.captureId|capture.createdDateTime|capture.amount.value
    • тип CHECK_CARD: checkPaymentMethod.requestUid|checkPaymentMethod.checkOperationDate
    • тип PAYOUT: payout.payoutId|payout.createdDateTime|payout.amount.value
  2. Вычислить HMAC-хэш c алгоритмом хэширования SHA256:

    hash = HMAС(SHA256, secret, parameters)

    Где:

    • secret — ключ хеширования (UTF-8). Совпадает с ключом серверных уведомлений, указанным в разделе Настройки Личного кабинета мерчанта.
    • parameters — строка из п.1.
  3. Сравнить значение подписи из HTTP-заголовка Signature уведомления с результатом п.2.

Частота отправки уведомлений

Сервис отправки уведомлений распределяет неуспешные уведомления по очередям:

  • 1 попытка с отложенным временем 5 секунд
  • 1 попытка с отложенным временем 1 минута
  • 3 попытки с отложенным временем по 5 минут

Время повторной отправки может сдвигаться в бОльшую сторону.

Формат уведомления PAYMENT

Пример уведомления

POST /qiwi-notify.php HTTP/1.1
Accept: application/json
Content-type: application/json
Signature: J4WNfNZd***V5mv2w=
Host: example.com
{
  "payment": {
    "paymentId": "A22170834426031500000733E625FCB3",
    "customFields": {},
    "type": "PAYMENT",
    "createdDateTime": "2022-08-05T11:34:42+03:00",
    "status": {
      "value": "SUCCESS",
      "changedDateTime": "2022-08-05T11:34:44+03:00"
    },
    "amount": {
      "value": 5,
      "currency": "RUB"
    },
    "paymentMethod": {
      "type": "SBP",
      "phone": "79111112233"
    },
    "customer": {
      "phone": "0",
      "bankAccountNumber": "4081710809561219555",
      "bic": "044525974",
      "lastName": "ИВАНОВ",
      "firstName": "ИВАН",
      "middleName": "ИВАНОВИЧ",
      "simpleAddress": ""
    },
    "billId": "autogenerated-6cd20922-b1d0-4e67-ba61-e2b7310c4006",
    "flags": [
      "SALE"
    ],
    "qrCodeUid": "acfd9"
  },
  "type": "PAYMENT",
  "version": "1"
}
Поле Описание Тип В каких случаях используется
payment Описание платежа. Object Всегда
type Тип операции — только PAYMENT String(200) Всегда
paymentId Уникальный идентификатор платежа в системе ТСП. String(200) Всегда
createdDateTime Дата создания операции URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
Всегда
billId Идентификатор счета, соответствующего операции String(200) Всегда
qrCodeUid Идентификатор операции выпуска QR-кода в системе ТСП String Если операция была выполнена через СБП
amount Информация о сумме операции Object Всегда
value Сумма операции, округленная до двух десятичных знаков в меньшую сторону Number(6.2) Всегда
currency Идентификатор валюты операции (Alpha-3 ISO 4217 код) String(3) Всегда
status Информация о статусе операции Object Всегда
value Строковое значение статуса String Всегда
changedDateTime Дата обновления статуса URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
Всегда
reasonCode Код причины отклонения String(200) В случае отклонения операции
reasonMessage Описание причины отклонения String(200) В случае отклонения операции
errorCode Код ошибки Number В случае ошибки
paymentMethod Информация о средстве платежа Object Всегда
type Тип метода оплаты: CARD — банковская карта, TOKEN — платежный токен, SBP — Система Быстрых Платежей, QIWI_WALLET — баланс QIWI Кошелька String Всегда
paymentToken Платежный токен карты. String При оплате платежным токеном
maskedPan Маскированный PAN карты String При оплате платежным токеном или картой
rrn RRN платежа (по ISO 8583) Number При оплате платежным токеном или картой
authCode Auth-code платежа Number При оплате платежным токеном или картой
phone Телефон, с которого выполнялась оплата через СБП, или номер QIWI Кошелька String При оплате через СБП или с баланса QIWI Кошелька
paymentCardInfo Информация о карте. Object Всегда
issuingCountry Код страны эмитента String(3) Всегда
issuingBank Банк-эмитент String Всегда
paymentSystem Тип платежной системы String Всегда
fundingSource Тип карты String Всегда
paymentSystemProduct Категория карты String Всегда
customer Информация о покупателе Object Всегда
phone Номер телефона покупателя String Всегда
email E-mail покупателя String Всегда
account Идентификатор покупателя в системе ТСП String Всегда
ip IP адрес покупателя String Всегда
country Страна адреса покупателя String Всегда
bankAccountNumber Номер счета плательщика String Только для платежей через СБП
bic БИК банка, выпустившего карту String Только для платежей через СБП
lastName Фамилия покупателя String Только для платежей через СБП
firstName Имя покупателя String Только для платежей через СБП
middleName Отчество покупателя String Только для платежей через СБП
simpleAddress Адрес покупателя String Только для платежей через СБП
inn ИНН покупателя String Только для платежей через СБП
customFields Поля с произвольной информацией, дополняющей данные по операции Object Всегда
cf1 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf2 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf3 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf4 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf5 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
flags Дополнительные команды, переданные в API Массив. Возможные элементы — SALE/REVERSAL Всегда
tokenData Объект с информацией о выпущенном платежном токене Object Если в платеже был запрошен выпуск платежного токена
paymentToken Строка платежного токена String Если в платеже был запрошен выпуск платежного токена
expiredDate Дата окончания срока действия платежного токена. Формат даты соответствует стандарту ISO-8601:
YYYY-MM-DDThh:mm:ss±hh:mm
String Если в платеже был запрошен выпуск платежного токена
chequeData Описание фискального чека ChequeData Если в операции были отправлены данные для формирования фискального чека
paymentSplits Описание сплитованных платежей. Array(Objects) Для сплитованных платежей
type Тип передаваемых данных. Всегда строка MERCHANT_DETAILS String Для сплитованных платежей
siteUid ID поставщика String Для сплитованных платежей
splitAmount Информация о возмещении поставщику Object Для сплитованных платежей
value Сумма возмещения Number Для сплитованных платежей
currency Буквенный код валюты возмещения по ISO String(3) Для сплитованных платежей
splitCommissions Информация о комиссии Object Для сплитованных платежей
merchantCms Информация о комиссии с поставщика Object Для сплитованных платежей
value Сумма комиссии Number Для сплитованных платежей
currency Буквенный код валюты комиссии по ISO String(3) Для сплитованных платежей
orderId Номер заказа String Для сплитованных платежей
comment Комментарий к заказу String Для сплитованных платежей
type Тип уведомления — только PAYMENT String(200) Всегда
version Версия уведомлений String Всегда

Формат уведомления CAPTURE

Поле Описание Тип
capture Описание операции подтверждения. Object
type Тип операции — только CAPTURE String(200)
captureId Уникальный идентификатор подтверждения в системе ТСП. String(200)
createdDateTime Дата создания операции URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
amount Информация о сумме операции Object
value Сумма операции, округленная до двух десятичных знаков в меньшую сторону Number(6.2)
currency Идентификатор валюты операции (Alpha-3 ISO 4217 код) String(3)
billId ID счета, соответствующего операции String(200)
status Информация о статусе операции Object
value Строковое значение статуса String
changedDateTime Дата обновления статуса URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
reasonCode Код причины отклонения String(200)
reasonMessage Описание причины отклонения String(200)
errorCode Код ошибки Number
paymentMethod Информация о средстве платежа Object
type Тип метода оплаты String
maskedPan Маскированный PAN карты String
rrn RRN платежа (по ISO 8583) Number
authCode Auth-code платежа Number
customer Информация о покупателе Object
phone Номер телефона покупателя String
email E-mail покупателя String
account Идентификатор покупателя в системе ТСП String
ip IP адрес покупателя String
country Страна адреса покупателя String
customFields Поля с произвольной информацией, дополняющей данные по операции Object
cf1 Поле с произвольной информацией, дополняющей данные по операции String(256)
cf2 Поле с произвольной информацией, дополняющей данные по операции String(256)
cf3 Поле с произвольной информацией, дополняющей данные по операции String(256)
cf4 Поле с произвольной информацией, дополняющей данные по операции String(256)
cf5 Поле с произвольной информацией, дополняющей данные по операции String(256)
flags Дополнительные команды, переданные в API Массив. Возможные элементы — SALE/REVERSAL
type Тип уведомления — только CAPTURE String(200)
version Версия уведомлений String

Формат уведомления REFUND

Поле Описание Тип В каких случаях используется
refund Описание возврата. Object Всегда
type Тип операции — только REFUND String(200) Всегда
refundId Уникальный идентификатор возврата в системе ТСП. String(200) Всегда
createdDateTime Дата создания операции URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
Всегда
amount Информация о сумме операции Object Всегда
value Сумма операции, округленная до двух десятичных знаков в меньшую сторону Number(6.2) Всегда
currency Идентификатор валюты операции (Alpha-3 ISO 4217 код) String(3) Всегда
billId ID счета, соответствующего операции String(200) Всегда
status Информация о статусе операции Object Всегда
value Строковое значение статуса String Всегда
changedDateTime Дата обновления статуса URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
Всегда
reasonCode Код причины отклонения String(200) В случае отклонения операции
reasonMessage Описание причины отклонения String(200) В случае отклонения операции
errorCode Код ошибки Number В случае ошибки
paymentMethod Информация о средстве платежа Object Всегда
type Тип метода оплаты String Всегда
maskedPan Маскированный PAN карты String Всегда
rrn RRN платежа (по ISO 8583) Number Всегда
authCode Auth-code платежа Number Всегда
customer Информация о покупателе Object Всегда
phone Номер телефона покупателя String Всегда
email E-mail покупателя String Всегда
account Идентификатор покупателя в системе ТСП String Всегда
ip IP адрес покупателя String Всегда
country Страна адреса покупателя String Всегда
customFields Поля с произвольной информацией, дополняющей данные по операции Object Всегда
cf1 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf2 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf3 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf4 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
cf5 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда
flags Дополнительные команды, переданные в API Массив. Возможные элементы — SALE/REVERSAL Всегда
chequeData Описание фискального чека ChequeData Если в операции был отправлены данные для формирования фискального чека
refundSplits Описание возвратов по сплитованным платежам. Array(Objects) При возвратах сплитованных платежей
type Тип передаваемых данных. Всегда строка MERCHANT_DETAILS String При возвратах сплитованных платежей
siteUid ID поставщика String При возвратах сплитованных платежей
splitAmount Информация об отмене возмещения поставщику Object При возвратах сплитованных платежей
value Сумма отмены возмещения Number При возвратах сплитованных платежей
currency Буквенный код валюты отмены возмещения по ISO String(3) При возвратах сплитованных платежей
splitCommissions Информация о комиссии Object При возвратах сплитованных платежей
merchantCms Информация о комиссии с поставщика Object При возвратах сплитованных платежей
value Сумма комиссии Number При возвратах сплитованных платежей
currency Буквенный код валюты комиссии по ISO String(3) При возвратах сплитованных платежей
orderId Номер заказа String При возвратах сплитованных платежей
comment Комментарий к заказу String При возвратах сплитованных платежей
type Тип уведомления — только REFUND String(200) Всегда
version Версия уведомлений String Всегда

Формат уведомления CHECK_CARD

Поле Описание Тип
checkPaymentMethod Описание результата проверки карты Object
checkOperationDate Дата проверки карты URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
requestUid Идентификатор операции проверки карты String
status Статус проверки карты String
isValidCard Признак валидности карты для платежей Bool
threeDsStatus Информация о статусе дополнительной аутентификации при проверке карты. Возможные значения — PASSED (3-D Secure пройден), NOT_PASSED (3-D Secure не пройден), WITHOUT (3-D Secure не требовалось) String
paymentMethod Информация о средстве платежа Object
type Тип метода оплаты String
maskedPan Маскированный PAN карты String
cardExpireDate Срок действия карты String
cardHolder Имя держателя карты String
cardInfo Информация о карте. Object
issuingCountry Код страны эмитента String(3)
issuingBank Банк-эмитент String
paymentSystem Тип платежной системы String
fundingSource Тип карты String
paymentSystemProduct Категория карты String
createdToken Объект с информацией о выпущенном вместе с проверкой карты платежном токене Object
token Строка платежного токена String
name Маскированный PAN карты, для которой выпущен платежный токен String
expiredDate Дата окончания срока действия платежного токена. Формат даты соответствует стандарту ISO-8601:
YYYY-MM-DDThh:mm:ss±hh:mm
String
account Идентификатор покупателя, указанный при выпуске платежного токена String
type Тип уведомления — только CHECK_CARD String(200)
version Версия уведомлений String

Формат уведомления PAYOUT

Пример уведомления

POST <callback-path> HTTP/1.1
Accept: application/json
Content-type: application/json
Signature: J4WNfNZd***V5mv2w=
Host: <callback-url>
{
  "payout": {
    "payoutId":"kxnawm631754",
    "createdDateTime":"2022-12-22T16:20:30+03:00",
    "amount": {
      "value":200.00,
      "currency":"RUB"
    },
    "status":{
      "value":"SUCCESS",
      "changedDateTime":"2022-12-22T16:34:44+03:00"
    },
    "receiverData": {
      "type":"CARD",
      "maskedPan":"400000******0002"
    },
    "flags":["TEST"]
  },
  "type":"PAYOUT",
  "version":"1"
}
Поле Описание Тип В каких случаях используется
payout Описание выплаты Object Всегда
payoutId Уникальный идентификатор выплаты в системе ТСП String(200) Всегда
createdDateTime Дата создания операции URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
Всегда
amount Информация о сумме операции Object Всегда
value Сумма операции, округленная до двух десятичных знаков в меньшую сторону Number(6.2) Всегда
currency Идентификатор валюты операции (Alpha-3 ISO 4217 код) String(3) Всегда
status Информация о статусе операции Object Всегда
value Строковое значение статуса String Всегда
changedDateTime Дата обновления статуса URL-закодированная строка
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
Всегда
reasonCode Код причины отклонения String(200) В случае отклонения операции
reasonMessage Описание причины отклонения String(200) В случае отклонения операции
errorCode Код ошибки Number В случае ошибки
receiverData Информация о получателе PayoutReceiverDataCallback Всегда
flags Дополнительные флаги операции Массив. Возможные элементы: TEST При необходимости
type Тип уведомления — только PAYOUT String(200) Всегда
version Версия уведомлений String Всегда

Возвраты и отмены

Операции возврата и отмены доступны не для всех способов платежей:

  • Возвраты доступны только для успешно завершенных операций платежа.
  • Отмена операции возможна только при двухшаговом сценарии платежа и только для операций, по которым ещё не было подтверждения (CAPTURE).

При возврате платежа комиссия QIWI за проведение платежа не возвращается. Исключение — если при возврате платежа выполнена операция отмены. В этом случае финансовой операции (списания средств со счета покупателя) не происходит и комиссия не взимается.

Возвраты по оплаченным счетам

Чтобы сделать возврат средств по оплаченному счету, используйте запрос API Возврат по платежу.

Возвраты по проведенным платежам

Возврат по платежу возможен только для успешно проведенного платежа. Возврат может быть как частичным, так и полным. В первом случае возвращается вся сумма принятого платежа. Во втором — только часть от суммы платежа. Перед возвратом платежа проверьте, что платеж успешно завершен и находится в статусе COMPLETED.

Чтобы выполнить возврат по карточному платежу, используйте метод API Операция возврата.

Сплитование платежей

Сплитование платежей — решение, разработанное специально для маркетплейсов. Сплитование платежей позволяет рассчитываться с несколькими поставщиками товаров/услуг, производя одно списание с карты покупателя.

Чтобы подключить сплитование платежей, обратитесь к вашему сопровождающему менеджеру и запросите подключение решения.

Интеграция с Платежной формой QIWI

Чтобы отправить платеж со сплитованием, передайте в запросе API Создание счета массив splits c данными поставщиков.

Описание данных

Пример выставления счета со сплитованием

curl --location 
  --request PUT 
  'https://api.qiwi.com/partner/payin/v1/sites/Obuc-02/bills/eqwptt' 
  --header 'Content-Type: application/json' 
  --header 'Authorization: Bearer <token>' 
  --data-raw '{
    "amount": {
        "value": "3.00",
        "currency": "RUB"
    },
    "expirationDateTime": "2021-12-31T23:59:59+03:00",
    "comment": "Мой комментарий",
    "splits": [
        {
            "type": "MERCHANT_DETAILS",
            "siteUid": "Obuc-00",
            "splitAmount": {
                "value": 2.00,
                "currency": "RUB"
            },
            "orderId": "dressesforwhite",
            "comment": "Платье"
        },
        {
            "type": "MERCHANT_DETAILS",
            "siteUid": "Obuc-01",
            "splitAmount": {
                "value": 1.00,
                "currency": "RUB"
            },
            "orderId": "shoesforvalya",
            "comment": "Туфли"
        }
    ]
}'

Пример ответа при выставлении счета со сплитованием

{
    "billId": "eqwptt",
    "invoiceUid": "44b2ef2a-edc6-4aed-87d3-01cf37ed2732",
    "amount": {
        "currency": "RUB",
        "value": "3.00"
    },
    "expirationDateTime": "2021-12-31T23:59:59+03:00",
    "status": {
        "value": "CREATED",
        "changedDateTime": "2021-02-05T10:21:17+03:00"
    },
    "comment": "Мой комментарий",
    "flags": [
        "TEST"
    ],
    "payUrl": "https://oplata.qiwi.com/form?invoiceUid=44b2ef2a-edc6-4aed-87d3-01cf37ed2732",
    "splits": [
        {
            "type": "MERCHANT_DETAILS",
            "siteUid": "Obuc-00",
            "splitAmount": {
                "currency": "RUB",
                "value": "2.00"
            },
            "orderId": "dressesforwhite",
            "comment": "Платье"
        },
        {
            "type": "MERCHANT_DETAILS",
            "siteUid": "Obuc-01",
            "splitAmount": {
                "currency": "RUB",
                "value": "1.00"
            },
            "orderId": "shoesforvalya",
            "comment": "Туфли"
        }
    ]
}

Описание массива splits:

Название Тип Описание
splits Array Массив данных о поставщиках
type String Тип передаваемых данных. Доступные значения: MERCHANT_DETAILS (данные поставщика)
siteUid String Зарегистрированный ID поставщика
splitAmount Object Возмещение поставщику
value Number Сумма возмещения, округленная в меньшую сторону до 2 десятичных знаков
currency String(3) Буквенный код валюты возмещения по ISO. Доступен только RUB
orderId String Номер заказа (необязательный)
comment String Комментарий к заказу (необязательный)

В объекте splits ответа содержатся данные о сплитованных платежах:

Поле ответа Тип Описание
splits Array Массив с данными о сплитованных платежах
type String Тип передаваемых данных. Всегда возвращается строка MERCHANT_DETAILS
siteUid String Зарегистрированный ID поставщика
splitAmount Object Данные о возмещении поставщику
value String Сумма возмещения
currency String(3) Буквенный код валюты возмещения по ISO
orderId String Номер заказа
comment String Комментарий к заказу

Интеграция с Платежной формой мерчанта

Чтобы отправить платеж со сплитованием, передайте в запросе API Платеж JSON-массив paymentSplits с данными поставщиков.

Описание данных

Пример платежа со сплитованием

{
 "paymentMethod": "...",
 "customer": "....",
 "deviceData": "...",
 "paymentSplits": [
   {
     "type":"MERCHANT_DETAILS",
     "siteUid":"shop_mst-01",
     "splitAmount": {
       "value":300.00,
       "currency":"RUB"
     },
     "orderId":"dasdad444ll4ll",
     "comment":"Цветы"
  },
  {
    "type":"MERCHANT_DETAILS",
    "siteUid":"shop_mst-02",
    "splitAmount": {
      "value":200.00,
      "currency":"RUB"
      },
      "orderId":"sdadada887sdDDDDd",
      "comment":"Фрукты"
    }
  ]
}

Пример ответа на платеж со сплитованием

{
  "paymentId": "23",
  "billId": "autogenerated-2a8fcfab-45cb-43b9-81bd-edf65e0ef874",
  "createdDateTime": "2020-10-12T15:29:12+03:00",
  "amount": {
    "currency": "RUB",
    "value": "100.00"
  },
  "capturedAmount": {
    "currency": "RUB",
    "value": "100.00"
  },
  "refundedAmount": {
    "currency": "RUB",
    "value": "0.00"
  },
  "paymentMethod": "..",
  "status": "..",
  "paymentCardInfo": "..",
  "paymentSplits": [
    {
      "type": "MERCHANT_DETAILS",
      "siteUid": "shop_mst-01",
      "splitAmount": {
        "currency": "RUB",
        "value": "30.00"
      },
      "splitCommissions": {
        "merchantCms": {
          "currency": "RUB",
          "value": "10.00"
        }
      },
      "orderId": "313fh1f23j13k1k",
      "comment": "Товар из корзины"
    },
    {
      "type": "MERCHANT_DETAILS",
      "siteUid": "shop_mst-02",
      "splitAmount": {
        "currency": "RUB",
        "value": "20.00"
      },
      "splitCommissions": {
        "merchantCms": {
          "currency": "RUB",
          "value": "10.00"
        }
      },
      "orderId": "sdadada887sdDDDDd",
      "comment": "Фрукты"
    },
    {
      "type": "MERCHANT_DETAILS",
      "siteUid": "shop_mst-03",
      "splitAmount": {
        "currency": "RUB",
        "value": "50.00"
      },
      "splitCommissions": {
        "merchantCms": {
          "currency": "RUB",
          "value": "10.00"
        }
      },
      "orderId": "dasdad444ll4ll",
      "comment": "Цветы"
    }
  ]
}

Описание массива paymentSplits:

Название Тип Описание
paymentSplits Array Массив данных о поставщиках
type String Тип передаваемых данных. Доступные значения: MERCHANT_DETAILS (данные поставщика)
siteUid String Зарегистрированный ID поставщика
splitAmount Object Возмещение поставщику
value Number Сумма возмещения, округленная в меньшую сторону до 2 десятичных знаков
currency String(3) Буквенный код валюты возмещения по ISO. Доступен только RUB
orderId String Номер заказа (необязательный)
comment String Комментарий к заказу (необязательный)

В объекте paymentSplits ответа содержатся данные о принятых платежах и комиссиях:

Поле ответа Тип Описание
paymentSplits Array Массив с данными о принятых платежах
type String Тип передаваемых данных. Всегда возвращается строка MERCHANT_DETAILS
siteUid String Зарегистрированный ID поставщика
splitAmount Object Данные о возмещении поставщику
value String Сумма возмещения
currency String(3) Буквенный код валюты возмещения по ISO
splitCommissions Object Данные о комиссии (необязательный)
merchantCms Object Данные о комиссии с поставщика
value String Сумма комиссии
currency String(3) Буквенный код валюты комиссии по ISO
orderId String Номер заказа
comment String Комментарий к заказу

Возвраты по сплитованным платежам

После успешной авторизации списания денежных средств доступен возврат средств по операции сплитованного платежа.

Пример запроса

PUT /partner/payin/v1/sites/test-01/payments/23/refunds/1 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "amount": {
    "value": 100.00,
    "currency": "RUB"
  },
  "refundSplits": [
  {
    "type": "MERCHANT_DETAILS",
    "siteUid": "shop_mst-01",
    "splitAmount": {
      "value": 30.00,
      "currency": "RUB"
    },
    "orderId": "sdadada887sdDDDDd",
    "comment": "Фрукты"
  },
  {
    "type": "MERCHANT_DETAILS",
    "siteUid": "shop_mst-02",
    "splitAmount": {
      "value": 20.00,
      "currency": "RUB"
    },
    "orderId": "313fh1f23j13k1k",
    "comment": "Товар из корзины"
  },
  {
    "type": "MERCHANT_DETAILS",
    "siteUid": "shop_mst-03",
    "splitAmount": {
      "value": 50.00,
      "currency": "RUB"
    },
    "orderId": "dasdad444ll4ll",
    "comment": "Цветы"
  }
  ]
}

Пример ответа

{
    "refundId": "1",
    "createdDateTime": "2020-10-12T15:32:29+03:00",
    "amount": {
      "currency": "RUB",
      "value": "100.00"
    },
    "status": {
      "value": "COMPLETED",
      "changedDateTime": "2020-10-12T15:32:30+03:00"
    },
    "refundSplits": [
        {
            "type": "MERCHANT_DETAILS",
            "siteUid": "shop_mst-02",
            "splitAmount": {
                "currency": "RUB",
                "value": "20.00"
            },
            "splitCommissions": {
                "merchantCms": {
                    "currency": "RUB",
                    "value": "10.00"
                }
            },
            "orderId": "sdadada887sdDDDDd",
            "comment": "Фрукты"
        },
        {
            "type": "MERCHANT_DETAILS",
            "siteUid": "shop_mst-01",
            "splitAmount": {
                "currency": "RUB",
                "value": "30.00"
            },
            "splitCommissions": {
                "merchantCms": {
                    "currency": "RUB",
                    "value": "10.00"
                }
            },
            "orderId": "313fh1f23j13k1k",
            "comment": "Товар из корзины"
        },
        {
            "type": "MERCHANT_DETAILS",
            "siteUid": "shop_mst-03",
            "splitAmount": {
                "currency": "RUB",
                "value": "50.00"
            },
            "splitCommissions": {
                "merchantCms": {
                    "currency": "RUB",
                    "value": "10.00"
                }
            },
            "orderId": "dasdad444ll4ll",
            "comment": "Цветы"
        }
    ]
}

В запросе API Операция возврата передайте JSON-массив refundSplits с данными о возвратах поставщикам. Укажите общую сумму возврата и сумму возврата для каждого поставщика. Поддерживается как частичный, так и полный возврат.

Описание массива refundSplits:

Название Тип Описание
refundSplits Array Массив данных о возвратах поставщикам
type String Тип передаваемых данных. Доступные значения: MERCHANT_DETAILS (данные поставщика)
siteUid String Зарегистрированный ID поставщика
splitAmount Object Информация об отмене возмещения поставщику
value Number Сумма отмены возмещения, округленная в меньшую сторону до 2 десятичных знаков
currency String(3) Буквенный код валюты отмены возмещения по ISO. Доступен только RUB
orderId String Номер заказа (необязательный)
comment String Комментарий к заказу (необязательный)

В JSON-массиве refundSplits ответа содержатся данные о принятых возвратах:

Поле ответа Тип Описание
refundSplits Array Массив данных о возвратах поставщикам
type String Тип передаваемых данных. Всегда возвращается строка MERCHANT_DETAILS
siteUid String Зарегистрированный ID поставщика
splitAmount Object Информация об отмене возмещения поставщику
value String Сумма отмены возмещения
currency String(3) Буквенный код валюты по ISO
splitCommissions Object Информация о комиссии (необязательный)
merchantCms Object Информация о комиссии с поставщика
value String Сумма комиссии
currency String(3) Буквенный код валюты комиссии по ISO
orderId String Номер заказа
comment String Комментарий к заказу

Уведомления по сплитованным операциям

Пример уведомления по сплитованным платежам

{
    "payment": {
        "paymentId": "134d707d-fec4-4a84-93f3-781b4f8c24ac",
        "customFields": {
            "comment": "Мой комментарий"
        },
        "paymentCardInfo": {
            "issuingCountry": "643",
            "issuingBank": "Unknown",
            "paymentSystem": "VISA",
            "fundingSource": "UNKNOWN",
            "paymentSystemProduct": "Unknown"
        },
        "type": "PAYMENT",
        "createdDateTime": "2021-02-05T11:29:38+03:00",
        "status": {
            "value": "SUCCESS",
            "changedDateTime": "2021-02-05T11:29:39+03:00"
        },
        "amount": {
            "value": 3,
            "currency": "RUB"
        },
        "paymentMethod": {
            "type": "TOKEN",
            "paymentToken": "1620161e-d498-431b-b006-c52bb78c6bf2",
            "maskedPan": "425600******0003",
            "cardHolder": "CARD HOLDER",
            "cardExpireDate": "11/2022"
        },
        "customer": {
            "email": "glmgmmxr@qiwi123.com",
            "account": "sbderxuftsrt",
            "phone": "13387571067",
            "country": "yccsnnfjgthu",
            "city": "sqdvseezbpzo",
            "region": "shbvyjgspjvu"
        },
        "gatewayData": {
            "type": "ACQUIRING",
            "authCode": "181218",
            "rrn": "123"
        },
        "billId": "autogenerated-19cf2596-62a8-47f2-8721-b8791e9598d0",
        "flags": [],
        "paymentSplits": [
            {
                "type": "MERCHANT_DETAILS",
                "siteUid": "Obuc-00",
                "splitAmount": {
                    "value": 2,
                    "currency": "RUB"
                },
                "splitCommissions": {
                    "merchantCms": {
                        "value": 0.2,
                        "currency": "RUB"
                    },
                    "userCms": null
                },
                "orderId": "dressesforwhite",
                "comment": "Платье"
            },
            {
                "type": "MERCHANT_DETAILS",
                "siteUid": "Obuc-01",
                "splitAmount": {
                    "value": 1,
                    "currency": "RUB"
                },
                "splitCommissions": {
                    "merchantCms": {
                        "value": 0.02,
                        "currency": "RUB"
                    },
                    "userCms": null
                },
                "orderId": "shoesforvalya",
                "comment": "Туфли"
            }
        ]
    },
    "type": "PAYMENT",
    "version": "1"
}

Пример уведомления по возвратам сплитованных платежей

{
    "refund": {
        "refundId": "42f5ca91-965e-4cd0-bb30-3b64d9284048",
        "type": "REFUND",
        "createdDateTime": "2021-02-05T11:31:40+03:00",
        "status": {
            "value": "SUCCESS",
            "changedDateTime": "2021-02-05T11:31:40+03:00"
        },
        "amount": {
            "value": 3,
            "currency": "RUB"
        },
        "paymentMethod": {
            "type": "TOKEN",
            "paymentToken": "1620161e-d498-431b-b006-c52bb78c6bf2",
            "maskedPan": null,
            "cardHolder": null,
            "cardExpireDate": null
        },
        "customer": {
            "email": "glmgmmxr@qiwi123.com",
            "account": "sbderxuftsrt",
            "phone": "13387571067",
            "country": "yccsnnfjgthu",
            "city": "sqdvseezbpzo",
            "region": "shbvyjgspjvu"
        },
        "gatewayData": {
            "type": "ACQUIRING",
            "authCode": "181218",
            "rrn": "123"
        },
        "billId": "autogenerated-19cf2596-62a8-47f2-8721-b8791e9598d0",
        "flags": [
            "REVERSAL"
        ],
        "refundSplits": [
            {
                "type": "MERCHANT_DETAILS",
                "siteUid": "Obuc-00",
                "splitAmount": {
                    "value": 2,
                    "currency": "RUB"
                },
                "splitCommissions": {
                    "merchantCms": {
                        "value": 0,
                        "currency": "RUB"
                    },
                    "userCms": null
                },
                "orderId": "dressesforwhite",
                "comment": "Покупка 1"
            },
            {
                "type": "MERCHANT_DETAILS",
                "siteUid": "Obuc-01",
                "splitAmount": {
                    "value": 1,
                    "currency": "RUB"
                },
                "splitCommissions": {
                    "merchantCms": {
                        "value": 0.02,
                        "currency": "RUB"
                    },
                    "userCms": null
                },
                "orderId": "shoesforvalya",
                "comment": "Покупка 2"
            }
        ]
    },
    "type": "REFUND",
    "version": "1"
}

Уведомления по сплитованным платежам и по возвратам сплитованных платежей формируются аналогично описанным выше ответам на запросы API:

  • В тело уведомления с типом PAYMENT добавляется JSON-массив paymentSplits, используемый для передачи данных о платежах поставщиков. Формат массива см. выше.
  • В тело уведомления с типом REFUND добавляется JSON-массив refundSplits, используемый для передачи информации о возвратах поставщикам. Формат массива см. выше.

Платежный токен

В Протоколе приема платежей поддерживается генерация платежных токенов карт и QIWI Кошельков. Они могут быть использованы для последующих списаний без дополнительного ввода реквизитов карт или номера кошелька. При выпуске платежного токена карты ее реквизиты сохраняются в зашифрованном виде в QIWI.

Особенности

По умолчанию выпуск платежных токенов отключен. Чтобы подключить его, обратитесь к вашему сопровождающему менеджеру.

Выпуск платежного токена карты

Пример запроса выставления счета с выпуском платежного токена

PUT /partner/payin/v1/sites/23044/bills/893794793973 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "amount": {
     "currency": "RUB",
     "value": 10.00
   },
   "expirationDateTime": "2021-04-13T14:30:00+03:00",
    "customer": {
      "account":"token32"
   },
   "customFields": {},
   "flags":["BIND_PAYMENT_TOKEN"]
}

Пример запроса платежа с выпуском платежного токена

PUT /partner/payin/v1/sites/test-01/payments/test-022 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "amount": {
     "currency": "RUB",
     "value": 2211.24
   },
   "customer": {
     "account": "token324",
     "phone": "79022222222"
   },
   "flags":["BIND_PAYMENT_TOKEN"]
}

Пример тела ответа с платежным токеном

{
    "paymentId": "test-022",
    "billId": "autogenerated-c4479bb1-c916-4fba-8445-802592fa8d51",
    "createdDateTime": "2020-03-26T12:22:12+03:00",
    "amount": {
        "currency": "RUB",
        "value": 2211.24
    },
    "capturedAmount": "..",
    "refundedAmount": "..",
    "paymentMethod": "..",
    "createdToken": {
        "token": "66aebf5f-098e-4e36-922a-a4107b349a96",
        "name": "411111******1111"
    },
    "customer": {
        "account": "token324",
        "phone": "79022222222"
    },
    "status": ".."
}

Для выпуска платежного токена карты вы можете использовать два способа:

  1. Без платежа (предпочтительный способ).

    Воспользуйтесь запросом Проверка карты или Создание счета с проверкой карты. В запросе укажите:

    • параметр account — уникальный идентификатор Покупателя в системе ТСП:
      • либо в блоке tokenizationData — в случае запроса Проверка карты;
      • либо в блоке customer — в случае запроса Создание счета.
    • параметр "flags":["CHECK_CARD", "BIND_PAYMENT_TOKEN"] — в случае запроса Создание счета.

    Необходимо использовать разные параметры account для разных покупателей, чтобы гарантировать безопасность карточных данных покупателей.

    Вы получите информацию о платежном токене карты после успешного завершения проверки:

    • В блоке createdToken ответа на финальный запрос.
    • В уведомлении CHECK_CARD.

    Также можно запросить текущий статус проверки — в ответе вернется блок createdToken с информацией о выпущенном платежном токене.

    Подробнее см. в разделе Проверка карты покупателя.

  2. В процессе проведения платежа.

    Воспользуйтесь запросом Платеж или Создание счета. В запросе укажите дополнительные параметры:

    • "flags": ["BIND_PAYMENT_TOKEN"] — команда для выпуска платежного токена.
    • customer.account — уникальный идентификатор Покупателя в системе ТСП.

    Необходимо использовать разные параметры account для разных покупателей, чтобы гарантировать безопасность карточных данных покупателей.

    Вы получите информацию о платежном токене карты:

    • В синхронном ответе на запрос API Платеж или Завершение аутентификации покупателя в поле createdToken.
    • После успешного завершения платежа в уведомлении в поле tokenData.

См. подробности о том, как использовать платежный токен на Платежной форме QIWI и на Платежной форме мерчанта.

Выпуск токена для оплаты через СБП

Пример тела запроса выпуска токена СБП

{
  "qrCodeUid": "Test123",
  "qrCode": {
    "type": "TOKEN",
    "image": {
        "mediaType": "image/png",
        "width": 300,
        "height": 300
      }
  },
  "tokenizationPurpose": "Описание с деталями привязки счета",
  "tokenizationAccount": "3e2322",
  "flags": ["CREATE_TOKEN"]
}

Пример тела ответа выпуска токена СБП

{
  "qrCodeUid": "Test123",
  "qrCode": {
    "type": "TOKEN",
    "ttl": 10,
    "image": {
        "mediaType": "image/png",
        "width": 300,
        "height": 300,
        "content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
    },
    "payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDб",
    "status": "CREATED"
  },
  "tokenizationPurpose": "Описание с деталями привязки счета",
  "flags": ["CREATE_TOKEN"],
  "token": {
      "status": "CREATED",
      "value": "a4a312345-6789-1234-a567-89a1234567a0",
      "expiredDate": "2023-08-11T10:10:32+03:00"
  },
  "createdOn": "2022-08-11T20:10:32+03:00"
}

Пример тела запроса выпуска qr-кода СБП на оплату с привязкой счета

{
  "qrCodeUid": "Test123",
  "amount": {
    "value": 100.00,
    "currency": "RUB"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "image": {
        "mediaType": "image/png",
        "width": 300,
        "height": 300
      }
  },
  "tokenizationPurpose": "Описание с деталями привязки счета",
  "tokenizationAccount": "3e2322",
  "redirectUrl": "http://someurl.com"
  "flags": ["CREATE_TOKEN"]
}

Пример тела ответа выпуска qr-кода СБП на оплату с привязкой счета

{
  "qrCodeUid": "Test123",
  "amount": {
    "value": 100.00,
    "currency": "RUB"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 10,
    "image": {
        "mediaType": "image/png",
        "width": 300,
        "height": 300,
        "content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
    },
    "payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDб",
    "status": "CREATED"
  },
  "redirectUrl": "http://someurl.com",
  "tokenizationPurpose": "Описание с деталями привязки счета",
  "flags": ["CREATE_TOKEN"],
  "token": {
    "status": "CREATED",
    "value": "a4a312345-6789-1234-a567-89a1234567a0",
    "expiredDate": "2023-08-11T10:10:32+03:00"
  },
  "createdOn": "2022-08-11T20:10:32+03:00"
}

Для выпуска платежного токена СБП вы можете использовать два способа:

  1. Без платежа.

    Чтобы выпустить платежный токен, воспользуйтесь запросом Получение QR-кода СБП. В запросе укажите:

    • Объект qrCode с характеристиками запрашиваемого QR-кода:
      • Тип QR-кода в параметре qrCode.typeTOKEN.
      • Тип и размер изображения QR-кода в блоке qrCode.image.
    • Параметр tokenizationAccount — уникальный идентификатор Покупателя в системе ТСП.
    • Параметр "flags":["CREATE_TOKEN"].
    • Описание токена в параметре tokenizationPurpose.
  2. Платеж с привязкой счета.

    Чтобы выпустить QR-код СБП для оплаты с привязкой счета отправьте запрос API Получение QR-кода СБП. В запросе укажите:

    • Объект qrCode с характеристиками запрашиваемого QR-кода:
      • Тип QR-кода в параметре qrCode.typeDYNAMIC.
      • Тип и размер изображения QR-кода в блоке qrCode.image.
    • Сумму платежа.
    • Параметр tokenizationAccount — уникальный идентификатор Покупателя в системе ТСП.
    • Параметр "flags":["CREATE_TOKEN"].
    • Описание токена в параметре tokenizationPurpose.

Необходимо использовать разные параметры tokenizationAccount для разных покупателей, чтобы гарантировать безопасность привязанных карточных данных покупателей.

Всю информацию о платежном токене СБП вы получите в объекте token ответа.

О том, как платить токеном СБП, читайте в разделе Оплата токеном через СБП.

Выпуск платежного токена QIWI Кошелька

Пример запроса с инициацией выпуска платежного токена QIWI Кошелька

POST /partner/payin-tokenization-api/v1/sites/test-01/token-requests HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "requestId": "asd1232q77w1e3212",
   "phone": "79022222222",
   "accountId": "token324"
}

Ответ на запрос

{
    "requestId": "asd1232q77w1e3212",
    "status": {
        "value": "WAITING_SMS"
    }
}

Пример запроса завершения выпуска платежного токена QIWI Кошелька

PUT /partner/payin-tokenization-api/v1/sites/test-01/token-requests/complete HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "requestId": "asd1232q77w1e3212",
   "smsCode": "1223"
}

Ответ на запрос

{
    "requestId": "asd1232q77w1e3212",
    "status": {
        "value": "CREATED"
    },
    "token": {
        "value": "589c04b5-47dd-41af-9682-b3eb91",
        "expiredDate": "2021-11-08T14:23:54+03:00"
    }
}

Чтобы выпустить платежный токен QIWI кошелька, выполните следующие запросы к API:

  1. Запрос инициации выпуска платежного токена QIWI Кошелька.

    Отправьте POST-запрос на URL:

    /payin-tokenization-api/v1/sites/{siteId}/token-requests

    где {siteId} — идентификатор siteId мерчанта.

    В JSON-теле запроса укажите параметры:

    • requestId — уникальный идентификатор запроса (от 1 до 36 символов). Уникальность означает, что идентификатор должен отличаться от идентификаторов всех ранее созданных запросов ТСП на выпуск платежного токена QIWI кошелька в рамках одного siteId.
    • phone — номер QIWI кошелька покупателя.
    • accountId — уникальный идентификатор покупателя в системе ТСП.

    Указывайте разные параметры accountId для разных покупателей, чтобы гарантировать безопасность платежных данных покупателей.

  2. После этого на телефон покупателя придет SMS с одноразовым кодом. Укажите его в запросе завершения выпуска платежного токена QIWI Кошелька.

    Отправьте POST-запрос на URL:

    /payin-tokenization-api/v1/sites/{siteId}/token-requests/complete

    где {siteId} — идентификатор siteId мерчанта.

    В JSON-теле запроса укажите параметры:

    • requestId — идентификатор из начального запроса инициации выпуска платежного токена.
    • smsCode — код из SMS, отправленный покупателю.

В ответе содержатся данные платежного токене:

  • token.value — строка платежного токена;
  • token.expiredDate — срок действия платежного токена, в формате YYYY-MM-DDThh:mm:ss+DMZ.

Удаление платежного токена

Удаление платежного токена

DELETE /partner/payin/v1/sites/test-01/tokens HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "token": "66aebf5f-098e-4e36-922a-a4107b349a96",
   "customerAccountId": "token324"
}

Чтобы прекратить действие платежного токена, отправьте запрос DELETE:

/partner/payin/v1/sites/{siteId}/tokens

В JSON-теле запроса укажите параметры:

  • customerAccountId — уникальный идентификатор покупателя в вашей системе, привязанный к платежному токену.
  • token — платежный токен.

Успешный ответ означает, что платежный токен для указанного покупателя больше не действует.

Этот метод действует как для платежного токена карты, так и для платежного токена QIWI Кошелька.

Проверка карты покупателя

Мерчант может воспользоваться сервисом проверки реквизитов карты на валидность и доступность для совершения покупок. При этом средства на счете держателя карты не списываются до того, как будут установлены договоренности на рекуррентные списания или будет инициирована транзакция покупки на всю сумму.

Если проверка пройдена успешно, для карты может быть выпущен платежный токен.

Сервис проверки карт по умолчанию отключен. Чтобы подключить его, обратитесь к вашему сопровождающему менеджеру.

Как использовать сервис через Платежную форму QIWI

Пример запроса выставления счета с проверкой карты

PUT /partner/payin/v1/sites/site-01/bills/892323232111 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd1xxxx356f9
Content-type: application/json
Host: api.qiwi.com

{
    "expirationDateTime": "2023-09-14T14:30:00+03:00",
    "customer": {
        "account":"test-123"
    },
    "flags": ["CHECK_CARD","BIND_PAYMENT_TOKEN"]
}

Пример тела успешного ответа

{
    "siteId": "site-01",
    "billId": "892323232111",
    "amount": {
      "value": "0.00",
      "currency": "RUB"
    },
    "status": {
      "value": "CREATED",
      "changedDateTime": "2021-08-13T15:43:41"
    },
    "creationDateTime": "2021-08-13T15:43:41",
    "expirationDateTime": "2023-09-14T14:30:00",
    "payUrl": "https://oplata.qiwi.com/validation/card?invoiceUid=fxxxxx-854c-4e56-xxxx-eb49aef2xxxx"
}

Пример уведомления с результатом проверки карты

{
   "checkPaymentMethod":{
      "status":"SUCCESS",
      "isValidCard":true,
      "threeDsStatus":"WITHOUT",
      "cardInfo":{
         "issuingCountry":"0",
         "issuingBank":"not present",
         "paymentSystem":"VISA",
         "fundingSource":"UNKNOWN",
         "paymentSystemProduct":"UNKNOWN"
      },
      "createdToken":{
         "token":"xxxxxxx-a53a-4de1-8aa4-xxxxxxx",
         "name":"411111******1111",
         "expiredDate":"2021-11-30T00:00:00+03:00",
         "account":"some_account"
      },
      "requestUid":"892323232111",
      "paymentMethod":{
         "type":"CARD",
         "maskedPan":"411111******1111",
         "cardHolder":"",
         "cardExpireDate":"11/2021"
      },
      "checkOperationDate":"2021-08-13T15:44:01+03:00"
   },
   "type":"CHECK_CARD",
   "version":"1"
}
  1. Отправьте запрос создания счета с дополнительным параметром "flags":["CHECK_CARD", "BIND_PAYMENT_TOKEN"]. Для генерации платежного токена в запросе должен быть указан параметр customer.account — уникальный идентификатор покупателя в системе ТСП. Не указывайте сумму счета (параметр amount).
  2. Извлеките из ответа параметр billId — он понадобится в п.4. Перенаправьте покупателя на Платежную форму — ссылка на нее находится в параметре payUrl ответа.
  3. На Платежной форме покупатель указывает реквизиты карты и отправляет их на проверку. На форме выполняется аутентификация покупателя (3-D Secure).
    check card

  4. Дождитесь завершения проверки карты: вам придет уведомление CHECK_CARD с результатом, или запросите текущий статус проверки — в качестве уникального идентификатора проверки карты укажите billId из п.1. Результат проверки:

    • Информация о доступности карты для списаний — в атрибуте isValidCard (true — номер карты валиден).
    • Данные платежного токена — в объекте createdToken.

Как использовать сервис через API

Пример запроса проверки карты

PUT /partner/payin/v1/sites/site-01/validation/card/requests/acd7bf20-22e2-4cbf-a218-38d90e9f29b9 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
    "cardData": {
        "pan": "1111222233334444",
        "expiryDate": "12/34",
        "cvv2": "123",
        "holderName": "Super Man"
    },
    "tokenizationData": {
        "account": "cat_girl"
    }
}

Пример тела успешного ответа

{
    "requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
    "status": "SUCCESS",
    "isValidCard": true,
    "threeDsStatus": "WITHOUT",
    "checkOperationDate": "2021-07-29T16:30:00+03:00",
    "cardInfo": {
        "issuingCountry": "RUS",
        "issuingBank": "Qiwi bank",
        "paymentSystem": "VISA",
        "fundingSource": "DEBIT",
        "paymentSystemProduct": "Platinum..."
    },
    "createdToken": {
        "token": "1a77343a-dd8a-11eb-ba80-0242ac130004",
        "name": "111122******4444",
        "expiredDate": "2034-12-01T00:00:00+03:00",
        "account": "cat_girl"
    }
}

Пример тела ответа с проверкой 3DS

{
    "requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
    "status": "WAITING_3DS",
    "requirements": {
        "pareq": "Some string pareq",
        "acsUrl": "http://xxxxxxx"
    }
}

Пример тела ответа с ошибкой проверки

{
    "requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
    "status": "ERROR"
}

Пример запроса завершения 3DS при проверке карты

POST /partner/payin/v1/sites/site-01/validation/card/requests/acd7bf20-22e2-4cbf-a218-38d90e9f29b9/complete HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
    "pares": "Some string pares"
}

Пример тела ответа

{
    "requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
    "status": "SUCCESS",
    "isValidCard": true,
    "threeDsStatus": "PASSED",
    "checkOperationDate": "2021-07-29T16:30:00+03:00",
    "cardInfo": {
        "issuingCountry": "RUS",
        "issuingBank": "Qiwi bank",
        "paymentSystem": "VISA",
        "fundingSource": "DEBIT",
        "paymentSystemProduct": "Platinum..."
    },
    "createdToken": {
        "token": "1a77343a-dd8a-11eb-ba80-0242ac130004",
        "name": "111122******4444",
        "expiredDate": "2034-12-01T00:00:00+03:00",
        "account": "cat_girl"
    }
}
  1. Отправьте запрос API «Проверка карты». В запросе укажите:
    • Уникальный в рамках вашего сайта идентификатор проверки (requestUid в URL запроса).
    • Данные карты (cardData в теле запроса). Обязательные параметры — PAN, срок действия и CVV2.

    Для генерации платежного токена в запросе должен быть указан параметр tokenizationData.account — уникальный идентификатор покупателя в системе ТСП.

  2. В ответе информация о доступности карты для списаний содержится в атрибуте isValidCard (true — номер карты валиден). Данные платежного токена возвращаются в объекте createdToken.

Чтобы убедиться, что номер карты ввел именно держатель карты, можно использовать дополнительную аутентификацию покупателя 3-D Secure. Включение/отключение 3DS производится на стороне QIWI через Службу поддержки. Если 3DS включен, то в ответе на запрос проверки карты вы получите объект "requirements" с ACS URL для перенаправления покупателя (в поле status будет значение "WAITING_3DS").

Сценарий дополнительной аутентификации аналогичен операции покупки:

  1. Перенаправьте покупателя на страницу аутентификации.
  2. Завершите 3-D Secure запросом «Завершение 3DS при проверке карты». В запросе укажите тот же идентификатор проверки, что и в исходном запросе проверки карты.
  3. Если проверка 3-D Secure завершилась успешно, в ответе информация о доступности карты для списаний содержится в атрибуте isValidCard (true — номер карты валиден). Данные платежного токена возвращаются в объекте createdToken.

После завершения проверки вам придет уведомление CHECK_CARD с результатом. Также вы можете всегда запросить текущий статус проверки.

Статусы проверки карты

Статус Описание
INIT Сгенерирована ссылка на проверку карты, но клиент еще ей не воспользовался
SUCCESS Проверка выполнена успешно
ERROR Ошибка во время проверки
WAITING_3DS Ожидание завершения проверки 3-D Secure

Безопасная сделка

Безопасная сделка — сервис для расчётов между двумя физическими лицами на онлайн-площадке. Чтобы подключить Безопасную сделку, обратитесь к вашему сопровождающему менеджеру.

Алгоритм безопасной сделки состоит из двух этапов:

  • 1-ый этап — списание денежных средств с покупателя.

    Списание производится с помощью API Платежей с использованием сплитования, где сумма одного из сплитов будет использоваться как база для последующих выплат.

  • 2-ой этап — выплата денежных средств поставщику.

    Выплата производится с помощью API Выплат.

Акты

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

Скачать шаблон Акта

Акт сначала отправляется на email, указанный при регистрации в сервисе. После подтверждения со стороны партнера, уполномоченное лицо КИВИ Банка подписывает Акт в системе документооборота электронной подписью. Подписанный Акт отправляется на юридический адрес партнера.

Реестры

Реестр операций отправляется после 14:00 МСК по рабочим дням, содержит информацию только об успешных платежах, обработанных банком. Реестр полностью соответствует Акту.

Реестр отправляется на email, указанный при регистрации в сервисе, во вложенном в письме zip-архиве.

Формат реестра

Пример фрагмента реестра

BANK_DATA_DOC;BANK_VALUE_DOC;BANK_AGR_CODE;SUM_BANK;TRANS_DATE;TRANSACTION_ID;SUM;COMMISSION;USER_INFO;ID;MERCH;MERCH_SITE;PARENT_TRANSACTION_ID;BILL;PURPOSE;MERCHANT_SITE_NAME;PAYMENT_METHOD_TYPE;ММВБ;CLIENT_AMOUNT;CLIENT_CUR_CODE;SETTLEMENT_AMOUNT;PAYMENTDETAILS
27.08.2020;27.08.2020;3456144;-25676786,28;;;25676786,28;;;;;;;;SETTLEMENT;;;null;;;;
27.08.2020;27.08.2020;34562014;243767,27;26.08.2020 9:59;659720;2165,46;25;533669******4030;68860745;hthi;hthi-26;;autogenerated-67cd0dfb-ca5a-0baf-b0e0-735a880c0dac;Оплата;сайт;Bank card;null;2165,46;643;25664068,85;Перевод принятых денежных средств по Договору  от 2019-09-24 00:00:00. Комиссия  руб. НДС не облагается.
27.08.2020;27.08.2020;34562014;243767,27;26.08.2020 10:01;660540;1530;25;536809******4077;68860893;hthi;hthi-26;;autogenerated-90870507-acd9-0056-80f7-d050560fba09;Оплата;сайт;Bank card;null;1530;643;25664068,85;Перевод принятых денежных средств по Договору  от 2019-09-24 00:00:00. Комиссия  руб. НДС не облагается.
27.08.2020;27.08.2020;34562014;243767,27;26.08.2020 10:06;665760;3150;56,7;547007******4635;68861159;hthi;hthi-54;;autogenerated-8a30690b-8c0c-0808-a0bb-6c73cbfdf953;Оплата;сайт;Bank card;null;3150;643;25664068,85;Перевод принятых денежных средств по Договору  от 2019-09-24 00:00:00. Комиссия  руб. НДС не облагается.
27.08.2020;27.08.2020;34562014;243767,27;26.08.2020 

Файл реестра формируется в формате CSV.

Скачать пример реестра

Поле реестра Описание
BANK_DATA_DOC Дата документа, влияющего на баланс банковского счета, по этой дате составляется Акт в конце месяца
BANK_VALUE_DOC Дата фактического изменения баланса счета в банке
BANK_AGR_CODE Банковский код, уникальный номер документа
SUM_BANK Сумма документа
TRANS_DATE Дата создания операции
TRANSACTION_ID Номер операции
SUM Сумма операции
COMMISSION Комиссия за проведение операции с мерчанта
USER_INFO Маскированный номер карты или номер телефона ( в случае оплаты КИВИ кошельком)
ID Номер операции paymentId на стороне мерчанта
MERCH ID мерчанта
MERCH_SITE siteId мерчанта
PARENT_TRANSACTION_ID Для возвратов указывается номер исходной операции платежа
BILL ID выставленного счета
PURPOSE Тип проводки CHARGEBACK/ REVERT_CHARGEBACK/ Оплата/ Возврат/ OPERATION+/ OPERATION-/ SETTLEMENT
MERCHANT_SITE_NAME URL сайта мерчанта
PAYMENT_METHOD_TYPE Метод оплаты: Bank card/ QIWI_WALLET/ SBP
ММВБ Курс ММВБ на момент оплаты для валютных операций
CLIENT_AMOUNT Сумма списания с покупателя
CLIENT_CUR_CODE Валюта списания с покупателя
SETTLEMENT_AMOUNT Сумма платежного поручения, отправленного на расчетный счет партнера
PAYMENTDETAILS Назначение платежного поручения, отправленного на расчетный счет партнера (Пример: Перевод принятых денежных средств по Договору **** от ***. *** НДС не облагается/облагается.)

Возмещение

По умолчанию, возмещение по проведенным операциям производится раз в 2 дня и минимальным порогом 10.000 рублей. Если вам необходимо особое расписание, обратитесь к вашему сопровождающему менеджеру.

КИВИ взимает комиссию за каждую подтвержденную операцию. Если отмена операции была произведена до подтверждения, комиссия не взимается. Если была произведена частичная отмена до подтверждения операции, комиссия будет пересчитана.

Статусы и типы операций, коды ошибок

Коды ошибок

Протокол приема платежей использует для запросов API следующие HTTP-коды ошибок:

Код ошибки Описание
400 Bad Request — Ваш запрос некорректен (ошибка в данных или в формате запроса).
401 Unauthorized — Неправильный ключ доступа к API.
403 Forbidden — Доступ к API запрещен.
404 Not Found — Указанный ресурс не найден.
405 Method Not Allowed — Для создания платежа использовался неправильный метод.
406 Not Acceptable — Формат данных отличается от JSON.
410 Gone — Запрашиваемый ресурс удален.
429 Too Many Requests — Слишком много запросов.
500 Internal Server Error — Внутренняя ошибка сервиса. Если тело ответа пустое, повторите запрос с теми же параметрами. Если тело ответа не пустое, выполните запрос статуса платежа или статуса счета.
502 Bad Gateway — Нет связи с сервисом
503 Service Unavailable  — Сервер временно недоступен по техническим причинам, попробуйте позже.

Типы операций

Тип операции возвращается в поле {operation}.type уведомления.

Тип операции Описание
PAYMENT Платеж. В уведомлении может присутствовать поле flags: [ "SALE" ] (обычный платеж) или flags: [ "AUTH" ] (платеж с холдированием средств).
CAPTURE Операция подтверждения.
REFUND Операция возврата. В уведомлении может присутствовать поле flags: [ "REVERSAL" ]. Это значит, что финансовой операции (списания средств со счета покупателя) не было, комиссия по операции удержана не будет.
PAYOUT Операция выплаты. В уведомлении может присутствовать поле flags: [ "TEST" ]. Это значит, что операция тестовая.

Статусы операций

Статус операции отражает ее текущее состояние.

Ответы API

API возвращает синхронный статус операции в поле status.value.

В таблице перечислены возможные статусы и типы операций, в которых эти статусы используются.

Тип операции Статус операции Описание статуса
PAYMENT WAITING Ожидание 3DS авторизации
PAYMENT DECLINED Запрос авторизации отклонен
PAYMENT COMPLETED Запрос авторизации успешно обработан
CAPTURE DECLINE Запрос подтверждения отклонен
CAPTURE DECLINED Запрос подтверждения отклонен. Возвращается в ответе API на запрос статуса
CAPTURE COMPLETED Запрос подтверждения успешно обработан
REFUND DECLINE Запрос возврата отклонен
REFUND COMPLETED Запрос возврата успешно обработан
PAYOUT WAITING Выплата принята в обработку
PAYOUT DECLINED Выплата отклонена
PAYOUT COMPLETED Выплата успешно проведена

Уведомления

В уведомлениях статус помещается в поле {operation}.status.value.

В таблице перечислены возможные статусы и типы операций, в которых эти статусы используются.

Тип операции Статус операции Описание статуса
PAYMENT DECLINED Запрос авторизации отклонен
PAYMENT SUCCESS Запрос авторизации успешно обработан
CAPTURE DECLINE Запрос подтверждения отклонен
CAPTURE SUCCESS Запрос подтверждения успешно обработан
REFUND DECLINE Запрос возврата отклонен
REFUND SUCCESS Запрос возврата успешно обработан
PAYOUT WAITING Выплата принята в обработку
PAYOUT DECLINED Выплата отклонена
PAYOUT SUCCESS Выплата успешно проведена

Справочник ошибок API

Ошибки API описывают причину отклонения операции и передаются:

  • в ответах на запросы — в поле status.reason;
  • в уведомлениях — в поле status.reasonCode.
Ошибка API Описание
INVALID_STATE Некорректный статус транзакции
INVALID_AMOUNT Некорректная сумма
INVALID_RECEIVER_DATA Ошибка при передаче данных о получателе
DECLINED_BY_MPI Отклонено MPI
DECLINED_BY_FRAUD Отклонено fraud-мониторингом
REATTEMPT_NOT_PERMITTED Повторный запрос авторизации запрещен на основании полученного ответа от Платежной системы
GATEWAY_INTEGRATION_ERROR Ошибка взаимодействия с банком
GATEWAY_TECHNICAL_ERROR Техническая ошибка на стороне банка
ACQUIRING_MPI_TECH_ERROR Техническая ошибка при проведении 3DS аутентификации
ACQUIRING_GATEWAY_TECH_ERROR Техническая ошибка
ACQUIRING_ACQUIRER_ERROR Техническая ошибка
ACQUIRING_AUTH_TECHNICAL_ERROR Ошибка при проведении авторизации средств
ACQUIRING_ISSUER_NOT_AVAILABLE Ошибка эмитента. Банк-эмитент не доступен
ACQUIRING_SUSPECTED_FRAUD Ошибка эмитента. Подозрение на мошенничество
ACQUIRING_LIMIT_EXCEEDED Ошибка эмитента. Превышен один из лимитов
ACQUIRING_NOT_PERMITTED Ошибка эмитента. Операция не разрешена
ACQUIRING_INCORRECT_CVV Ошибка эмитента. Некорректный CVV
ACQUIRING_EXPIRED_CARD Ошибка эмитента. Неверный срок действия карты
ACQUIRING_INVALID_CARD Ошибка эмитента. Проверьте корректность введенных данных
ACQUIRING_INSUFFICIENT_FUNDS Ошибка эмитента. Недостаточно средств
ACQUIRING_UNKNOWN Неизвестная ошибка
BILL_ALREADY_PAID Счет уже оплачен
PAYIN_PROCESSING_ERROR Ошибка при проведении платежа
PAYMENT_EXPIRED_3DS Не пройдена 3DS-аутентификация
QW_LIMIT_ERROR Ошибка превышения лимита пользователя QIWI Кошелька
QW_IDENTIFICATION_ERROR Пользователю необходимо пройти идентификацию в QIWI Кошельке
QW_AUTH_ERROR Ошибка авторизации в QIWI Кошельке
QW_INSUFFICIENT_FUNDS Недостаточно средств в QIWI Кошельке
QW_AMOUNT_ERROR Недопустимая сумма платежа
QW_REGISTRATION_ERROR Ошибка регистрации пользователя QIWI Кошелька
QW_AGENT_ERROR Ошибка при пополнении QIWI Кошелька пользователя
QW_ACCOUNT_ERROR QIWI Кошелек заблокирован
QW_IDENTIFICATION_STATUS_ERROR Достигнут лимит платежей в QIWI Кошельке
QW_CURRENCY_ERROR Валюта QIWI Кошелька не найдена
QW_PAYMENT_ERROR Ошибка проведения платежа в QIWI Кошельке
QW_PROVIDER_ERROR Провайдер QIWI Кошелька заблокирован
QW_SMS_CONFIRM_EXPIRED Истекло время СМС-подтверждения платежа в QIWI Кошельке

Справочник методов API

Создание счета

Пример запроса на создание счета

PUT /partner/payin/v1/sites/site-01/bills/893794793973 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
   "amount": {
     "currency": "RUB",
     "value": 100.00
   },
   "billPaymentMethodsType": [
      "QIWI_WALLET",
      "SBP"
   ],
   "comment": "Text comment",
   "expirationDateTime": "2022-04-13T14:30:00+03:00",
   "customer": {},
   "customFields": {
     "cf1": "Some data"
   }
}
Пример успешного ответа на запрос создания счета

{
    "siteId": "23044",
    "billId": "893794793973",
    "invoiceUid": "d875277b-6f0f-445d-8a83-f62c7c07be77",
    "amount": {
      "value": "100.00",
      "currency": "RUB"
    },
    "status": {
      "value": "CREATED",
      "changedDateTime": "2022-04-05T11:27:41"
    },
    "comment": "Text comment",
    "customFields": {
      "cf1": "Some data"
    },
    "creationDateTime": "2022-03-05T11:27:41",
    "expirationDateTime": "2022-04-13T14:30:00",
    "payUrl": "https://oplata.qiwi.com/form/?invoice_uid=d875277b-6f0f-445d-8a83-f62c7c07be77"
}
Пример ответа с ошибкой 4xx на запрос создания счета

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2022-03-05T11:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}

Статус счета

Пример запроса статуса счета

GET /partner/payin/v1/sites/site-01/bills/d35cf63943e54f50badc75f49a5aac7c/details HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса счета

{
  "billId": "d35cf63943e54f50badc75f49a5aac7c",
  "amount": {
    "value": "100.00",
    "currency": "RUB"
  },
  "status": {
    "value": "PAID",
    "changedDateTime": "2022-03-05T11:27:41"
  },
  "comment": "Text comment",
  "customFields": {
    "cf1": "Some data"
  },
  "expirationDateTime": "2022-04-13T14:30:00",
  "payUrl": "https://oplata.qiwi.com/form/invoice_uid=d875277b-6f0f-445d-8a83-f62c7c07be77",
  "payments": [
    {
        "siteId": "site-01",
        "billId": "d35cf63943e54f50badc75f49a5aac7c",
        "createdDateTime": "2022-03-05T11:23:22+03:00",
        "amount": {
            "currency": "RUB",
            "value": "100.00"
        },
        "capturedAmount": {
            "currency": "RUB",
            "value": "100.00"
        },
        "refundedAmount": {
            "currency": "RUB",
            "value": "0.00"
        },
        "paymentMethod": {
            "type": "CARD",
            "maskedPan": "427638******1410"
        },
        "customer": {
            "account": "1",
            "phone": "0",
            "address": {}
        },
        "requirements": {
            "threeDS": {
                "pareq": "eJxVUWFvgjAQ52lBUtjD3M9++qFgCxl0i/OtJv2WT/tv8LXqG0vw==",
                "acsUrl": "https://ds1.mirconnect.ru:443/vbv/pareq"
            }
        },
        "status": {
            "value": "DECLINED",
            "changedDateTime": "2022-03-05T11:23:54+03:00",
            "reason": "ACQUIRING_NOT_PERMITTED"
        },
        "customFields": {
            "customer_account": "1",
            "customer_phone": "0"
        }
    },
    {
        "siteId": "site-01",
        "billId": "d35cf63943e54f50badc75f49a5aac7c",
        "createdDateTime": "2022-03-05T11:26:21+03:00",
        "amount": {
            "currency": "RUB",
            "value": "100.00"
        },
        "capturedAmount": {
            "currency": "RUB",
            "value": "100.00"
        },
        "refundedAmount": {
            "currency": "RUB",
            "value": "0.00"
        },
        "paymentMethod": {
            "type": "CARD",
            "maskedPan": "427638******1410"
        },
        "customer": {
            "account": "1",
            "phone": "0",
            "address": {}
        },
        "requirements": {
            "threeDS": {
                "pareq": "eJxVUdtuwjAM7b6t/1fcku04w==",
                "acsUrl": "https://ds1.mirconnect.ru:443/vbv/pareq"
            }
        },
        "status": {
            "value": "COMPLETED",
            "changedDateTime": "2022-03-05T11:34:43+03:00"
        },
        "customFields": {
            "customer_account": "1",
            "customer_phone": "0"
        }
    }
  ]
}
Пример ответа с ошибкой 4xx на запрос статуса счета

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2022-03-05T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}

Получение списка платежей по счету

Пример запроса на получение списка платежей по счету

GET /partner/payin/v1/sites/site-01/bills/893794793973 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос списка платежей по счету

[
  {
    "paymentId": "824c7744-1650-4836-abaa-842ca7ca8a74",
    "billId": "191616216126154",
    "createdDateTime": "2022-07-27T12:43:35+03:00",
    "amount": {
        "currency": "RUB",
        "value": "1.00"
    },
    "capturedAmount": {
        "currency": "RUB",
        "value": "0.00"
    },
    "refundedAmount": {
        "currency": "RUB",
        "value": "0.00"
    },
    "paymentMethod": {
        "type": "CARD",
        "maskedPan": "561251******6871",
        "rrn": "002612398011",
        "authCode": "067842"
    },
    "createdToken": {
        "token": "cc2451a5-2fdd-4685-912e-8671597948a3",
        "name": "561251******6871",
        "expiredDate": "2030-03-01T00:00:00+03:00"
    },
    "customer": {
        "account": "11235813",
        "email": "darta@mail.ru",
        "phone": "79850223243"
    },
    "status": {
        "value": "COMPLETED",
        "changedDateTime": "2022-07-27T12:43:47+03:00"
    },
    "callbackUrl": "https://qiwi.com",
    "comment": "test",
    "customFields": {
        "customer_email": "darta@mail.ru",
        "customer_account": "11235813",
        "customer_phone": "79850223243",
        "cf1": "1",
        "cf2": "dva",
        "cf3": "tri",
        "cf4": "4",
        "cf5": "5",
        "BIND_PAYMENT_TOKEN": "true",
        "themeCode": "customization_OK",
    },
    "paymentCardInfo": {
        "issuingCountry": "643",
        "issuingBank": "Тинькофф банк",
        "paymentSystem": "MASTERCARD",
        "fundingSource": "UNKNOWN",
        "paymentSystemProduct": "TNW|TNW|Mastercard® NewWorld—ImmediateDebit|TNW|Mastercard New World-ImmediateDebit"
    }
  }
]
Пример ответа с ошибкой 4xx на запрос получения списка платежей по счету

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}

Платеж

Пример запроса на платеж

PUT /partner/payin/v1/sites/test-01/payments/1811 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "billId": "string",
  "amount": {
    "currency": "RUB",
    "value": 200.00
  },
  "paymentMethod" : {
    "type" : "CARD",
    "pan" : "4444443616621049",
    "expiryDate" : "12/19",
    "cvv2" : "123",
    "holderName" : "CARDHOLDER NAME"
  },
  "callbackUrl": "https://example.com/callbacks",
  "comment": "Example payment",
  "customer": {
    "account": "string",
    "address": {
      "city": "Moscow",
      "country": "Russian Federation",
      "details": "Severnoe chertanovo microdistrict 1a 1",
      "region": "Moscow city"
    },
    "email": "customer@example.com",
    "phone": "+79991234567"
  },
  "deviceData": {
    "datetime": "2017-09-03T14:30:00+03:00",
    "fingerprint": "TW96aWxsYS81LjAgKHBsYXRmb3JtOyBydjpnZWNrb3ZlcnNpb24p",
    "ip": "127.0.0.1",
    "screenResolution": "1280x1024",
    "timeOnPage": 1440,
    "userAgent": "Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion"
  },
  "customFields": {
    "cf1": "Some data"
  },
  "flags": [
    "SALE"
  ]
}
Пример успешного ответа на запрос платежа

{
  "paymentId" : "223E",
  "createdDateTime" : "2018-11-01T17:10:31.284+03:00",
  "amount" : {
    "currency" : "RUB",
    "value" : "200.00"
  },
  "capturedAmount" : {
    "currency" : "RUB",
    "value" : "0.00"
  },
  "refundedAmount" : {
    "currency" : "RUB",
    "value" : "0.00"
  },
  "paymentMethod" : {
    "type" : "CARD",
    "maskedPan" : "444444******1049"
  },
  "customer" : { },
  "deviceData" : { },
  "requirements" : {
    "threeDS" : {
      "pareq" : "eJyrrgUAAXUA+Q==",
      "acsUrl" : "https://test.paymentgate.ru/acs/auth/start.do"
    }
  },
  "status" : {
    "value" : "WAITING",
    "changedDateTime" : "2018-11-01T17:10:32.607+03:00"
  },
  "paymentCardInfo": {
    "issuingCountry": "810",
    "issuingBank": "QiwiBank",
    "paymentSystem": "VISA",
    "fundingSource": "CREDIT",
    "paymentSystemProduct": "P|Visa Gold"
  },
  "customFields" : {
    "cf1": "Some data"
  },
  "flags" : [ ]
}
Пример ответа с ошибкой 4xx на запрос платежа

{
  "serviceName":"payin-core",
  "errorCode":"validation.error",
  "description":"Validation error",
  "userMessage":"Validation error",
  "dateTime":"2022-11-13T16:49:59.166+03:00",
  "traceId":"fd0e2a08c63ace83",
  "cause":{
    "paymentToken": [
      "Exchange token error. Token disabled, please create new one"
    ]
  }
}
Пример ответа с ошибкой 5xx на запрос платежа

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Статус платежа

Пример запроса статуса платежа

GET /partner/payin/v1/sites/test-01/payments/1811 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса платежа

{
  "paymentId" : "223E",
  "createdDateTime" : "2018-11-01T17:10:31.284+03:00",
  "amount" : {
    "currency" : "RUB",
    "value" : "200.00"
  },
  "capturedAmount" : {
    "currency" : "RUB",
    "value" : "0.00"
  },
  "refundedAmount" : {
    "currency" : "RUB",
    "value" : "0.00"
  },
  "paymentMethod" : {
    "type" : "CARD",
    "maskedPan" : "444444******1049",
    "rrn": "124",
    "authCode": "182817",
  },
  "customer" : { },
  "deviceData" : { },
  "requirements" : {
    "threeDS" : {
      "pareq" : "eJyrrgUAAXUA+Q==",
      "acsUrl" : "https://test.paymentgate.ru/acs/auth/start.do"
    }
  },
  "status" : {
    "value" : "WAITING",
    "changedDateTime" : "2018-11-01T17:10:32.607+03:00"
  },
  "customFields" : { },
  "flags" : [ ]
}
Пример ответа с ошибкой 4xx на запрос статуса платежа

{
  "serviceName":"payin-core",
  "errorCode":"validation.error",
  "description":"Validation error",
  "userMessage":"Validation error",
  "dateTime":"2022-11-13T16:49:59.166+03:00",
  "traceId":"fd0e2a08c63ace83",
  "cause":{
    "paymentToken": [
      "Exchange token error. Token disabled, please create new one"
    ]
  }
}
Пример ответа с ошибкой 5xx на запрос статуса платежа

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Завершение аутентификации покупателя

Пример запроса завершения аутентификации покупателя

POST /partner/payin/v1/sites/test-01/payments/1811/complete HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "threeDS": {
    "pares": "eJzVWFevo9iyfu9fMZrzaM0QjWHk3tIiGptgooE3cgabYMKvv3jvTurTc3XOfbkaJMuL...."
  }
}
Пример успешного ответа на запрос завершения аутентификации покупателя

{
  "paymentId" : "223E",
  "createdDateTime" : "2018-11-01T17:10:31.284+03:00",
  "amount" : {
    "currency" : "RUB",
    "value" : "200.00"
  },
  "capturedAmount" : {
    "currency" : "RUB",
    "value" : "0.00"
  },
  "refundedAmount" : {
    "currency" : "RUB",
    "value" : "0.00"
  },
  "paymentMethod" : {
    "type" : "CARD",
    "maskedPan" : "444444******1049"
  },
  "customer" : { },
  "deviceData" : { },
  "requirements" : {
    "threeDS" : {
      "pareq" : "eJyrrgUAAXUA+Q==",
      "acsUrl" : "https://test.paymentgate.ru/acs/auth/start.do"
    }
  },
  "status" : {
    "value" : "COMPLETED",
    "changedDateTime" : "2018-11-01T17:10:32.607+03:00"
  },
  "customFields" : { },
  "flags" : [ ]
}
Пример ответа с ошибкой 4xx на запрос завершения аутентификации покупателя

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос завершения аутентификации покупателя

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Подтверждение платежа

Пример запроса подтверждения платежа

PUT /partner/payin/v1/sites/test-01/payments/1811/captures/bxwd8096 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "callbackUrl": "https://example.com/callbacks",
  "comment": "Example capture"
}
Пример успешного ответа на запрос подтверждения платежа

{
  "captureId": "bxwd8096",
  "createdDateTime": "2018-11-20T16:29:58.96+03:00",
  "amount": {
    "currency": "RUB",
    "value": "6.77"
  },
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2018-11-20T16:29:58.963+03:00"
  }
}
Пример ответа с ошибкой 4xx на запрос подтверждения платежа

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос подтверждения платежа

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Статус подтверждения

Пример запроса статуса подтверждения

GET /partner/payin/v1/sites/test-01/payments/1811/captures/bxwd8096 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса подтверждения

{
  "captureId": "bxwd8096",
  "createdDateTime": "2018-11-20T16:29:58.96+03:00",
  "amount": {
    "currency": "RUB",
    "value": "6.77"
  },
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2018-11-20T16:29:58.963+03:00"
  }
}
Пример ответа с ошибкой 4xx на запрос статуса подтверждения

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос статуса подтверждения

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Получение QR-кода СБП

Метод PUT

Пример запроса получения QR-кода СБП

PUT /partner/payin/v1/sites/test-01/sbp/qrCodes/Test12 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "amount": {
    "value": 1.00,
    "currency": "RUB"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 60,
    "image": {
      "mediaType": "image/png",
      "width": 300,
      "height": 300
    }
  },
  "paymentPurpose": "Flower for my girlfriend",
  "redirectUrl": "http://example.com"
}
Пример успешного ответа на запрос получения QR-кода СБП

{
  "qrCodeUid": "Test12",
  "amount": {
    "currency": "RUB",
    "value": "1.00"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 60,
    "image": {
        "mediaType": "image/png",
        "width": 300,
        "height": 300,
        "content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
    },
    "payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDtype=02bank=100000000009&sum=200&cur=RUB&crc=C63A",
    "status": "CREATED"
  },
  "createdOn": "2022-08-11T20:10:32+03:00"
}
Пример ответа с ошибкой 4xx на запрос получения QR-кода СБП

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос получения QR-кода СБП

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Метод POST

Пример запроса получения QR-кода СБП

POST /partner/payin/v1/sites/test-01/sbp/qrCodes HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "qrCodeUid": "Test12",
  "amount": {
    "value": 1.00,
    "currency": "RUB"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 60,
    "image": {
      "mediaType": "image/png",
      "width": 300,
      "height": 300
    }
  },
  "paymentPurpose": "Flower for my girlfriend",
  "redirectUrl": "http://example.com"
}
Пример успешного ответа на запрос получения QR-кода СБП

{
  "qrCodeUid": "Test12",
  "amount": {
    "currency": "RUB",
    "value": "1.00"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 60,
    "image": {
      "mediaType": "image/png",
      "width": 300,
      "height": 300,
      "content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
    },
    "payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQD?type=02&bank=100000000009&sum=200&cur=RUB&crc=C63A",
    "status": "CREATED"
  },
  "createdOn": "2022-08-11T20:10:32+03:00"
}
Пример ответа с ошибкой 4xx на запрос получения QR-кода СБП

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос получения QR-кода СБП

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Статус QR-кода СБП

Пример запроса статуса QR-кода СБП

GET /partner/payin/v1/sites/test-01/sbp/qrCodes/Test HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса QR-кода СБП

{
  "qrCodeUid": "Test",
  "amount": {
    "currency": "RUB",
    "value": "1.00"
  },
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 60,
    "payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDtype=02bank=100000000009&sum=200&cur=RUB&crc=C63A",
    "status": "PAYED"
  },
  "payment": {
    "paymentUid": "A22231710446971300200933E625FCB3",
    "paymentStatus": "COMPLETED"
  },
  "createdOn": "2022-08-11T20:10:32+03:00"
}
Пример ответа с ошибкой 4xx на запрос статуса QR-кода СБП

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос статуса QR-кода СБП

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Платеж токеном СБП

Пример запроса платежа токеном СБП

PUT /partner/payin/v1/sites/test-01/sbp/qrCodes/adghj17d1g8/payments/11212334csd HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "tokenizationAccount": "customer123",
  "token": "c5ba4a05-21c9-4a36-af7a-b709b4caa4d6"
}
Пример успешного ответа на запрос платежа токеном СБП

{
  "qrCodeUid": "adghj17d1g8",
  "amount": {
    "value": "100.00",
    "currency": "RUB"
  },
  "paymentPurpose": "Flower for my girlfriend",
  "redirectUrl": "http://someurl.com",
  "qrCode": {
    "type": "DYNAMIC",
    "ttl": 999,
    "status": "CREATED",
    "payload": "",
    "image": {
      "content": "Base64 string",
      "mediaType": "image/png",
      "width": 300,
      "height": 300
    }
  },
  "payment": {
    "paymentUid": "12s1s21",
    "paymentStatus": "WAITING",
  }
}
Пример ответа с ошибкой 4xx на запрос платежа токеном СБП

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос платежа токеном СБП

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Операция возврата

Пример запроса возврата по платежу

PUT /partner/payin/v1/sites/test-01/payments/1811/refunds/tcwv3132 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
  "amount": {
    "value": 2.34,
    "currency": "RUB"
  }
}
Пример успешного ответа на запрос возврата по платежу

{
  "refundId": "tcwv3132",
  "createdDateTime": "2018-11-20T16:32:55.547+03:00",
  "amount": {
    "currency": "RUB",
    "value": "2.34"
  },
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2018-11-20T16:32:55.55+03:00"
  },
  "flags": [
    "REVERSAL"
  ]
}
Пример ответа с ошибкой 4xx на запрос возврата

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос возврата

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Статус возврата

Пример запроса статуса возврата

GET /partner/payin/v1/sites/test-01/payments/1811/refunds/tcwv3132 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса возврата по платежу

{
  "refundId": "tcwv3132",
  "createdDateTime": "2018-11-20T16:32:55.547+03:00",
  "amount": {
    "currency": "RUB",
    "value": "2.34"
  },
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2018-11-20T16:32:55.55+03:00"
  },
  "flags": [
    "REVERSAL"
  ]
}
Пример ответа с ошибкой 4xx на запрос статуса возврата

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}

Статус возвратов

Пример запроса статуса всех возвратов по платежу

GET /partner/payin/v1/sites/test-01/payments/1811/refunds HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса всех возвратов по платежу

[
 {
  "refundId": "tcwv3132",
  "createdDateTime": "2018-11-20T16:32:55.547+03:00",
  "amount": {
    "currency": "RUB",
    "value": "2.34"
  },
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2018-11-20T16:32:55.55+03:00"
  },
  "flags": [
    "REVERSAL"
  ]
 }
]
Пример ответа с ошибкой 4xx на запрос статуса всех возвратов по платежу

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос статуса всех возвратов по платежу

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Отмена возврата

Пример запроса отмены возврата по платежу

POST /partner/payin/v1/sites/test-01/payments/1811/refunds/tcwv3132/decline HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос отмены возврата по платежу

{
  "refundId": "tcwv3132",
  "createdDateTime": "2018-11-20T16:32:55.547+03:00",
  "amount": {
    "currency": "RUB",
    "value": "2.34"
  },
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2018-11-20T16:32:55.55+03:00"
  },
  "flags": [
    "REVERSAL"
  ]
}
Пример ответа с ошибкой 4xx на запрос отмены возврата по платежу

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}

Проверка карты

Пример запроса проверки карты

GET /partner/payin/v1/sites/test-01/validation/card/requests/acd7bf20-22e2-4cbf-a218-38d90e9f29b9 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
    "cardData": {
        "pan": "1111222233334444",
        "expiryDate": "12/34",
        "cvv2": "123",
        "holderName": "Super Man"
    },
    "tokenizationData": {
        "account": "cat_girl"
    }
}
Пример успешного ответа на запрос проверки карты

{
    "requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
    "status": "SUCCESS",
    "isValidCard": true,
    "threeDsStatus": "WITHOUT",
    "checkOperationDate": "2021-07-29T16:30:00+03:00",
    "cardInfo": {
        "issuingCountry": "RUS",
        "issuingBank": "Qiwi bank",
        "paymentSystem": "VISA",
        "fundingSource": "DEBIT",
        "paymentSystemProduct": "Platinum..."
    },
    "createdToken": {
        "token": "1a77343a-dd8a-11eb-ba80-0242ac130004",
        "name": "111122******4444",
        "expiredDate": "2034-12-01T00:00:00+03:00",
        "account": "cat_girl"
    }
}
Пример ответа с ошибкой 4xx на запрос проверки карты

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос проверки карты

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Статус проверки карты

Пример запроса статуса проверки карты

GET /partner/payin/v1/sites/test-01/validation/card/requests/acd7bf20-22e2-4cbf-a218-38d90e9f29b9 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса проверки карты

{
    "requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
    "status": "SUCCESS",
    "isValidCard": true,
    "threeDsStatus": "WITHOUT",
    "checkOperationDate": "2021-07-29T16:30:00+03:00",
    "cardInfo": {
        "issuingCountry": "RUS",
        "issuingBank": "Qiwi bank",
        "paymentSystem": "VISA",
        "fundingSource": "DEBIT",
        "paymentSystemProduct": "Platinum..."
    },
    "createdToken": {
        "token": "1a77343a-dd8a-11eb-ba80-0242ac130004",
        "name": "111122******4444",
        "expiredDate": "2034-12-01T00:00:00+03:00",
        "account": "cat_girl"
    }
}
Пример ответа с ошибкой 4xx на запрос статуса проверки карты

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос статуса проверки карты
{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Завершение аутентификации при проверке карты

Пример запроса завершения аутентификации при проверке карты

POST /partner/payin/v1/sites/test-01/validation/card/requests/acd7bf20-22e2-4cbf-a218-38d90e9f29b9/complete HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com

{
    "pares": "eJzVWFevo9iyfu9fMZrzaM0QjWHk3tIiGptgooE3cgabYMKvv3jvTurTc3XOfbkaJMuL...."
}
Пример успешного ответа на запрос завершения аутентификации при проверке карты

{
    "requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
    "status": "SUCCESS",
    "isValidCard": true,
    "threeDsStatus": "PASSED",
    "checkOperationDate": "2021-07-29T16:30:00+03:00",
    "cardInfo": {
        "issuingCountry": "RUS",
        "issuingBank": "Qiwi bank",
        "paymentSystem": "VISA",
        "fundingSource": "DEBIT",
        "paymentSystemProduct": "Platinum..."
    },
    "createdToken": {
        "token": "1a77343a-dd8a-11eb-ba80-0242ac130004",
        "name": "111122******4444",
        "expiredDate": "2034-12-01T00:00:00+03:00",
        "account": "cat_girl"
    }
}
Пример ответа с ошибкой 4xx на запрос завершения аутентификации при проверке карты

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "description" : "Validation error",
  "userMessage" : "Validation error",
  "dateTime" : "2018-11-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
Пример ответа с ошибкой 5xx на запрос завершения аутентификации при проверке карты

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Выплата

Пример запроса на выплату

PUT /partner/payin/v1/sites/test-01/payments/1811/payouts/bxwd8096 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
X-Digital-Sign: BXXBmVDBZwwRW....XjU1ZSIfHCGw==

{
  "amount" : {
    "value" : "40.00",
    "currency" : "RUB"
  },
  "receiverData" : {
    "type" : "CARD",
    "pan" : "86003300000000000",
    "receiverFirstName" : "Ivan",
    "receiverLastName" : "Ivanov"
  },
  "comment" : "some comment for payout operation",
  "callbackUrl" : "http://test.com/"
}
Пример успешного ответа на запрос выплаты

{
  "createdDateTime": "2022-12-21T16:04:29+03:00",
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2022-12-21T16:14:12+03:00"
  },
  "amount": {
    "currency": "RUB",
    "value": "40.00"
  },
  "receiverData": {
    "type": "CARD",
    "maskedPan": "860033*******0000",
    "receiverFirstName" : "Ivan",
    "receiverLastName" : "Ivanov"
  },
  "comment": "some comment for payout operation",
  "callbackUrl" : "http://test.com/",
  "flags": [
    "TEST"
  ]
}
Пример ответа с ошибкой 4xx на запрос выплаты

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "userMessage" : "Validation error",
  "description" : "Validation error",
  "traceId" : "4e8fc84f4706e422",
  "dateTime" : "2022-12-22T10:17:36.887215+03:00",
  "cause" : {
    "amount" : [ "Incorrect payout amount" ]
  }
}
Пример ответа с ошибкой 5xx на запрос выплаты

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Статус выплаты

Пример запроса статуса выплаты

GET /partner/payin/v1/sites/test-01/payments/1811/payouts/bxwd8096 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
Пример успешного ответа на запрос статуса выплаты

{
  "createdDateTime": "2022-12-21T16:04:29+03:00",
  "status": {
    "value": "COMPLETED",
    "changedDateTime": "2022-12-21T16:14:12+03:00"
  },
  "amount": {
    "currency": "RUB",
    "value": "40.00"
  },
  "receiverData": {
    "type": "CARD",
    "maskedPan": "860033*******0000",
    "receiverFirstName" : "Ivan",
    "receiverLastName" : "Ivanov"
  },
  "comment": "some comment for payout operation",
  "callbackUrl" : "http://test.com/",
  "flags": [
    "TEST"
  ]
}
Пример ответа с ошибкой 4xx на запрос статуса выплаты

{
  "serviceName" : "payin-core",
  "errorCode" : "validation.error",
  "userMessage" : "Validation error",
  "description" : "Validation error",
  "traceId" : "4e8fc84f4706e422",
  "dateTime" : "2022-12-22T10:17:36.887215+03:00",
  "cause" : {
    "amount" : [ "Incorrect payout amount" ]
  }
}
Пример ответа с ошибкой 5xx на запрос статуса выплаты

{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}

Модели данных

PayoutReceiverDataRequest

Информация о получателе. Доступные типы: CARD и SBP.

Тип CARD

  "receiverData" : {
    "type" : "CARD",
    "pan" : "86003300000000000",
    "receiverFirstName" : "Ivan",
    "receiverLastName" : "Ivanov"
  }

Тип метода выплаты CARD:

Поле Тип или константа Описание
type
required
CARD Тип метода выплаты
pan
required
string(19) Номер банковской карты
receiverFirstName string(64) Имя получателя
receiverLastName string(64) Фамилия получателя

Тип SBP

  "receiverData": {
    "type": "SBP",
    "phone" : "79998887766",
    "bankMemberId" : "100000000111"
  }

Тип метода выплаты SBP:

Поле Тип или константа Описание
type
required
SBP Тип метода выплаты
phone
required
number(11..13) Номер телефона
bankMemberId
required
string(12) Идентификатор банка получателя в СБП. См. список банков, доступных для выплаты на СБП, в формате xlsx (скачать) или csv (скачать).

PayoutReceiverDataResponse

Информация о получателе. Доступные типы: CARD и SBP.

Тип CARD

  "receiverData" : {
    "type" : "CARD",
    "maskedPan": "860033*******0000",
    "receiverFirstName" : "Ivan",
    "receiverLastName" : "Ivanov"
  }

Тип метода выплаты CARD:

Поле Тип или константа Описание
type
required
CARD Тип метода выплаты
maskedPan
required
string(19) Маскированный номер банковской карты
receiverFirstName string(64) Имя получателя
receiverLastName string(64) Фамилия получателя

Тип SBP

  "receiverData": {
    "type": "SBP",
    "phone" : "79998887766",
    "bankMemberId" : "100000000111"
  }

Тип метода выплаты SBP:

Поле Тип или константа Описание
type
required
SBP Тип метода выплаты
phone
required
number(11..13) Номер телефона
bankMemberId
required
string(12) Идентификатор банка получателя в СБП

PayoutReceiverDataCallback

Информация о получателе. Доступные типы: CARD и SBP.

Тип CARD

  "receiverData" : {
    "type" : "CARD",
    "maskedPan": "860033*******0000"
  }

Тип метода выплаты CARD:

Поле Тип или константа Описание
type
required
CARD Тип метода выплаты
maskedPan
required
string(19) Маскированный номер банковской карты

Тип SBP

  "receiverData": {
    "type": "SBP",
    "phone" : "79998887766",
    "bankMemberId" : "100000000111"
  }

Тип метода выплаты SBP:

Поле Тип или константа Описание
type
required
SBP Тип метода выплаты: «SBP» — СБП
phone
required
string Номер телефона
bankMemberId
required
string(12) Идентификатор банка получателя в СБП

ChequeData

Информация о фискальном чеке по операции.

  "chequeData": {
    "id":5849136,
    "url":"https://cheques.qiwi.com/cheques/receipt/4a02b590-ae81-479c-8f70-85e4f425e05f"
  }
Имя Описание Тип
id Идентификатор чека String
url Информация о чеке (URL-ссылка) String

Передача чека (54-ФЗ)

Для работы по 54-ФЗ Протокол приема платежей предоставляет инструмент для взаимодействия с вашей онлайн-кассой. Информация для формирования фискального чека передается в JSON-объекте cheque в операциях API выставления счета, платежа и возврата.

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

Если используется Атол, то дополнительно предоставьте сведения:

  • email ТСП для печати в чеке;
  • полное название организации;
  • реквизиты ОФД (название, ИНН, url);
  • login и password для генерации токена;
  • код группы.

Фискальный чек по успешной операции отправляется в синхронном ответе на указанные запросы API и в уведомлении об операции в объекте chequeData.

Описание объекта cheque

{
 .. 
"cheque":{
  "sellerId": 3123011520,
  "customerContact": "Test customer contact",
  "chequeType": "COLLECT",
  "taxSystem": "OSN",
  "positions": [
    {
      "quantity": 1,
      "price": {
        "value": 7.82,
        "currency": "RUB"
      },
      "tax": "NDS_0",
      "paymentSubject": "PAYMENT",
      "paymentMethod": "FULL_PAYMENT",
      "description": "Test description"
    }
  ]
 }
}
Параметр Тип данных Описание
sellerId decimal Обязательный параметр. ИНН организации, для которой пробивается чек
chequeType decimal Обязательный параметр. Признак расчета (тэг 1054):
COLLECT – Приход
COLLECT_RETURN — Возврат прихода
CONSUME — Расход
CONSUME_RETURN -Возврат расхода
customerContact string(64) Обязательный параметр. Телефон или электронный адрес покупателя (тэг 1008)
taxSystem decimal Обязательный параметр. Система налогообложения (тэг 1055):
OSN — Общая, ОСН
USN – Упрощенная доход, УСН доход
USN_MINUS_CONSUM – Упрощенная доход минус расход, УСН доход — расход
ENVD – Единый налог на вмененный доход, ЕНВД
ESN — Единый сельскохозяйственный налог, ЕСН
PATENT – Патентная система налогообложения, Патент
positions array Обязательный параметр. Массив товаров
quantity decimal Обязательный параметр. Количество предмета расчета (тэг 1023)
price decimal Обязательный параметр. Цена за единицу предмета расчета с учетом скидок и наценок (тэг 1079)
tax decimal Обязательный параметр. Ставка НДС (тэг 1199):
NDS_CALC_18_118 — с учетом НДС 18% (18/118)
NDS_CALC_10_110 – с учетом НДС 10% (10/110)
NDS_0 – ставка НДС 0%
NO_NDS – НДС не облагается
NDS_CALC_20_120 – с учетом НДС 20% (20/120) (20/120)
description string(128) Обязательный параметр. Наименование предмета расчета
paymentMethod decimal Обязательный параметр. Признак способа расчёта (тэг 1214):
ADVANCED_FULL_PAYMENT – предоплата 100%. Полная предварительная оплата до момента передачи предмета расчета.
PARTIAL_ADVANCE_PAYMENT – предоплата. Частичная предварительная оплата до момента передачи предмета расчета.
ADVANCE – аванс.
FULL_PAYMENT – полный расчет. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета.
PARTIAL_PAYMENT – частичный расчет и кредит. Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит.
CREDIT – передача в кредит. Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит.
CREDIT_PAYMENT – оплата кредита. Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита).
paymentSubject decimal Обязательный параметр. Признак предмета расчёта (тэг 1212):
COMMODITY – товар. О реализуемом товаре, за исключением подакцизного товара (наименование и иные сведения, описывающие товар).
EXCISE_COMMODITY – подакцизный товар. О реализуемом подакцизном товаре (наименование и иные сведения, описывающие товар).
WORK – работа. О выполняемой работе (наименование и иные сведения, описывающие работу).
SERVICE – услуга. Об оказываемой услуге (наименование и иные сведения, описывающие услугу).
GAMBLING_RATE – ставка азартной игры. О приеме ставок при осуществлении деятельности по проведению азартных игр.
GAMBLING_PRIZE – выигрыш азартной игры. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр.
LOTTERY_TICKET – лотерейный билет. О приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок при осуществлении деятельности по проведению лотерей.
LOTTERY_PRIZE – выигрыш лотереи. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей.
GRANTING_RESULTS_OF_INTELLECTUAL_ACTIVITY – предоставление результатов интеллектуальной деятельности. О предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации.
PAYMENT – платеж. Об авансе, задатке, предоплате, кредите, взносе в счет оплаты, пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета.
AGENCY_FEE – агентское вознаграждение. О вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом.
COMPAUND_PAYMENT_SUBJECT – составной предмет расчета. О предмете расчета, состоящем из предметов, каждому из которых может быть присвоено значение выше перечисленных признаков.
OTHER_PAYMENT_SUBJECT – иной предмет расчета. О предмете расчета, не относящемуся к выше перечисленным предметам расчета.

!

The resource budget contains a separate control total for “near cash” expenditure, that is expenditure such as pay and current grants which impacts directly on the measure of the golden rule.

This paper provides background information on the framework for the planning and control of public expenditure in the UK which has been operated since the 1998 Comprehensive Spending Review (CSR). It sets out the different classifications of spending for budgeting purposes and why these distinctions have been adopted. It discusses how the public expenditure framework is designed to ensure both sound public finances and an outcome-focused approach to public expenditure.

The UK’s public spending framework is based on several key principles:

«

consistency with a long-term, prudent and transparent regime for managing the public finances as a whole;

»
«

the judgement of success by policy outcomes rather than resource inputs;

»
«

strong incentives for departments and their partners in service delivery to plan over several years and plan together where appropriate so as to deliver better public services with greater cost effectiveness; and

»

the proper costing and management of capital assets to provide the right incentives for public investment.

The Government sets policy to meet two firm fiscal rules:

«

the Golden Rule states that over the economic cycle, the Government will borrow only to invest and not to fund current spending; and

»

the Sustainable Investment Rule states that net public debt as a proportion of GDP will be held over the economic cycle at a stable and prudent level. Other things being equal, net debt will be maintained below 40 per cent of GDP over the economic cycle.

Achievement of the fiscal rules is assessed by reference to the national accounts, which are produced by the Office for National Statistics, acting as an independent agency. The Government sets its spending envelope to comply with these fiscal rules.

«

»

Annually Managed Expenditure ( AME), which is expenditure which cannot reasonably be subject to firm, multi-year limits in the same way as DEL. AME includes social security benefits, local authority self-financed expenditure, debt interest, and payments to EU institutions.

More information about DEL and AME is set out below.

In Spending Reviews, firm DEL plans are set for departments for three years. To ensure consistency with the Government’s fiscal rules departments are set separate resource (current) and capital budgets. The resource budget contains a separate control total for “near cash” expenditure, that is expenditure such as pay and current grants which impacts directly on the measure of the golden rule.

To encourage departments to plan over the medium term departments may carry forward unspent DEL provision from one year into the next and, subject to the normal tests for tautness and realism of plans, may be drawn down in future years. This end-year flexibility also removes any incentive for departments to use up their provision as the year end approaches with less regard to value for money. For the full benefits of this flexibility and of three year plans to feed through into improved public service delivery, end-year flexibility and three year budgets should be cascaded from departments to executive agencies and other budget holders.

Three year budgets and end-year flexibility give those managing public services the stability to plan their operations on a sensible time scale. Further, the system means that departments cannot seek to bid up funds each year (before 1997, three year plans were set and reviewed in annual Public Expenditure Surveys). So the credibility of medium-term plans has been enhanced at both central and departmental level.

Departments have certainty over the budgetary allocation over the medium term and these multi-year DEL plans are strictly enforced. Departments are expected to prioritise competing pressures and fund these within their overall annual limits, as set in Spending Reviews. So the DEL system provides a strong incentive to control costs and maximise value for money.

There is a small centrally held DEL Reserve. Support from the Reserve is available only for genuinely unforeseeable contingencies which departments cannot be expected to manage within their DEL.

AME typically consists of programmes which are large, volatile and demand-led, and which therefore cannot reasonably be subject to firm multi-year limits. The biggest single element is social security spending. Other items include tax credits, Local Authority Self Financed Expenditure, Scottish Executive spending financed by non-domestic rates, and spending financed from the proceeds of the National Lottery.

AME is reviewed twice a year as part of the Budget and Pre-Budget Report process reflecting the close integration of the tax and benefit system, which was enhanced by the introduction of tax credits.

AME is not subject to the same three year expenditure limits as DEL, but is still part of the overall envelope for public expenditure. Affordability is taken into account when policy decisions affecting AME are made. The Government has committed itself not to take policy measures which are likely to have the effect of increasing social security or other elements of AME without taking steps to ensure that the effects of those decisions can be accommodated prudently within the Government’s fiscal rules.

Given an overall envelope for public spending, forecasts of AME affect the level of resources available for DEL spending. Cautious estimates and the AME margin are built in to these AME forecasts and reduce the risk of overspending on AME.

Together, DEL plus AME sum to Total Managed Expenditure (TME). TME is a measure drawn from national accounts. It represents the current and capital spending of the public sector. The public sector is made up of central government, local government and public corporations.

Resource and Capital Budgets are set in terms of accruals information. Accruals information measures resources as they are consumed rather than when the cash is paid. So for example the Resource Budget includes a charge for depreciation, a measure of the consumption or wearing out of capital assets.

«

Non cash charges in budgets do not impact directly on the fiscal framework. That may be because the national accounts use a different way of measuring the same thing, for example in the case of the depreciation of departmental assets. Or it may be that the national accounts measure something different: for example, resource budgets include a cost of capital charge reflecting the opportunity cost of holding capital; the national accounts include debt interest.

»

Within the Resource Budget DEL, departments have separate controls on:

«

Near cash spending, the sub set of Resource Budgets which impacts directly on the Golden Rule; and

»

The amount of their Resource Budget DEL that departments may spend on running themselves (e.g. paying most civil servants’ salaries) is limited by Administration Budgets, which are set in Spending Reviews. Administration Budgets are used to ensure that as much money as practicable is available for front line services and programmes. These budgets also help to drive efficiency improvements in departments’ own activities. Administration Budgets exclude the costs of frontline services delivered directly by departments.

The Budget preceding a Spending Review sets an overall envelope for public spending that is consistent with the fiscal rules for the period covered by the Spending Review. In the Spending Review, the Budget AME forecast for year one of the Spending Review period is updated, and AME forecasts are made for the later years of the Spending Review period.

The 1998 Comprehensive Spending Review ( CSR), which was published in July 1998, was a comprehensive review of departmental aims and objectives alongside a zero-based analysis of each spending programme to determine the best way of delivering the Government’s objectives. The 1998 CSR allocated substantial additional resources to the Government’s key priorities, particularly education and health, for the three year period from 1999-2000 to 2001-02.

Delivering better public services does not just depend on how much money the Government spends, but also on how well it spends it. Therefore the 1998 CSR introduced Public Service Agreements (PSAs). Each major government department was given its own PSA setting out clear targets for achievements in terms of public service improvements.

The 1998 CSR also introduced the DEL/ AME framework for the control of public spending, and made other framework changes. Building on the investment and reforms delivered by the 1998 CSR, successive spending reviews in 2000, 2002 and 2004 have:

«

provided significant increase in resources for the Government’s priorities, in particular health and education, and cross-cutting themes such as raising productivity; extending opportunity; and building strong and secure communities;

»
«

enabled the Government significantly to increase investment in public assets and address the legacy of under investment from past decades. Departmental Investment Strategies were introduced in SR2000. As a result there has been a steady increase in public sector net investment from less than ¾ of a per cent of GDP in 1997-98 to 2¼ per cent of GDP in 2005-06, providing better infrastructure across public services;

»
«

introduced further refinements to the performance management framework. PSA targets have been reduced in number over successive spending reviews from around 300 to 110 to give greater focus to the Government’s highest priorities. The targets have become increasingly outcome-focused to deliver further improvements in key areas of public service delivery across Government. They have also been refined in line with the conclusions of the Devolving Decision Making Review to provide a framework which encourages greater devolution and local flexibility. Technical Notes were introduced in SR2000 explaining how performance against each PSA target will be measured; and

»

not only allocated near cash spending to departments, but also – since SR2002 — set Resource DEL plans for non cash spending.

To identify what further investments and reforms are needed to equip the UK for the global challenges of the decade ahead, on 19 July 2005 the Chief Secretary to the Treasury announced that the Government intends to launch a second Comprehensive Spending Review (CSR) reporting in 2007.

A decade on from the first CSR, the 2007 CSR will represent a long-term and fundamental review of government expenditure. It will cover departmental allocations for 2008-09, 2009-10 and 2010 11. Allocations for 2007-08 will be held to the agreed figures already announced by the 2004 Spending Review. To provide a rigorous analytical framework for these departmental allocations, the Government will be taking forward a programme of preparatory work over 2006 involving:

«

an assessment of what the sustained increases in spending and reforms to public service delivery have achieved since the first CSR. The assessment will inform the setting of new objectives for the decade ahead;

»
«

an examination of the key long-term trends and challenges that will shape the next decade – including demographic and socio-economic change, globalisation, climate and environmental change, global insecurity and technological change – together with an assessment of how public services will need to respond;

»
«

to release the resources needed to address these challenges, and to continue to secure maximum value for money from public spending over the CSR period, a set of zero-based reviews of departments’ baseline expenditure to assess its effectiveness in delivering the Government’s long-term objectives; together with

»

further development of the efficiency programme, building on the cross cutting areas identified in the Gershon Review, to embed and extend ongoing efficiency savings into departmental expenditure planning.

The 2007 CSR also offers the opportunity to continue to refine the PSA framework so that it drives effective delivery and the attainment of ambitious national standards.

Public Service Agreements (PSAs) were introduced in the 1998 CSR. They set out agreed targets detailing the outputs and outcomes departments are expected to deliver with the resources allocated to them. The new spending regime places a strong emphasis on outcome targets, for example in providing for better health and higher educational standards or service standards. The introduction in SR2004 of PSA ‘standards’ will ensure that high standards in priority areas are maintained.

The Government monitors progress against PSA targets, and departments report in detail twice a year in their annual Departmental Reports (published in spring) and in their autumn performance reports. These reports provide Parliament and the public with regular updates on departments’ performance against their targets.

Technical Notes explain how performance against each PSA target will be measured.

To make the most of both new investment and existing assets, there needs to be a coherent long term strategy against which investment decisions are taken. Departmental Investment Strategies (DIS) set out each department’s plans to deliver the scale and quality of capital stock needed to underpin its objectives. The DIS includes information about the department’s existing capital stock and future plans for that stock, as well as plans for new investment. It also sets out the systems that the department has in place to ensure that it delivers its capital programmes effectively.

This document was updated on 19 December 2005.

Near-cash resource expenditure that has a related cash implication, even though the timing of the cash payment may be slightly different. For example, expenditure on gas or electricity supply is incurred as the fuel is used, though the cash payment might be made in arrears on aquarterly basis. Other examples of near-cash expenditure are: pay, rental.Net cash requirement the upper limit agreed by Parliament on the cash which a department may draw from theConsolidated Fund to finance the expenditure within the ambit of its Request forResources. It is equal to the agreed amount of net resources and net capital less non-cashitems and working capital.Non-cash cost costs where there is no cash transaction but which are included in a body’s accounts (or taken into account in charging for a service) to establish the true cost of all the resourcesused.Non-departmental a body which has a role in the processes of government, but is not a government public body, NDPBdepartment or part of one. NDPBs accordingly operate at arm’s length from governmentMinisters.Notional cost of a cost which is taken into account in setting fees and charges to improve comparability with insuranceprivate sector service providers.The charge takes account of the fact that public bodies donot generally pay an insurance premium to a commercial insurer.the independent body responsible for collecting and publishing official statistics about theUK’s society and economy. (At the time of going to print legislation was progressing tochange this body to the Statistics Board).Office of Government an office of the Treasury, with a status similar to that of an agency, which aims to maximise Commerce, OGCthe government’s purchasing power for routine items and combine professional expertiseto bear on capital projects.Office of the the government department responsible for discharging the Paymaster General’s statutoryPaymaster General,responsibilities to hold accounts and make payments for government departments and OPGother public bodies.Orange bookthe informal title for Management of Risks: Principles and Concepts, which is published by theTreasury for the guidance of public sector bodies.Office for NationalStatistics, ONS60Managing Public Money

————————————————————————————————————————

«

GLOSSARYOverdraftan account with a negative balance.Parliament’s formal agreement to authorise an activity or expenditure.Prerogative powerspowers exercisable under the Royal Prerogative, ie powers which are unique to the Crown,as contrasted with common-law powers which may be available to the Crown on the samebasis as to natural persons.Primary legislationActs which have been passed by the Westminster Parliament and, where they haveappropriate powers, the Scottish Parliament and the Northern Ireland Assembly. Begin asBills until they have received Royal Assent.arrangements under which a public sector organisation contracts with a private sectorentity to construct a facility and provide associated services of a specified quality over asustained period. See annex 7.5.Proprietythe principle that patterns of resource consumption should respect Parliament’s intentions,conventions and control procedures, including any laid down by the PAC. See box 2.4.Public Accountssee Committee of Public Accounts.CommitteePublic corporationa trading body controlled by central government, local authority or other publiccorporation that has substantial day to day operating independence. See section 7.8.Public Dividend finance provided by government to public sector bodies as an equity stake; an alternative to Capital, PDCloan finance.Public Service sets out what the public can expect the government to deliver with its resources. EveryAgreement, PSAlarge government department has PSA(s) which specify deliverables as targets or aimsrelated to objectives.a structured arrangement between a public sector and a private sector organisation tosecure an outcome delivering good value for money for the public sector. It is classified tothe public or private sector according to which has more control.Rate of returnthe financial remuneration delivered by a particular project or enterprise, expressed as apercentage of the net assets employed.Regularitythe principle that resource consumption should accord with the relevant legislation, therelevant delegated authority and this document. See box 2.4.Request for the functional level into which departmental Estimates may be split. RfRs contain a number Resources, RfRof functions being carried out by the department in pursuit of one or more of thatdepartment’s objectives.Resource accountan accruals account produced in line with the Financial Reporting Manual (FReM).Resource accountingthe system under which budgets, Estimates and accounts are constructed in a similar wayto commercial audited accounts, so that both plans and records of expenditure allow in fullfor the goods and services which are to be, or have been, consumed – ie not just the cashexpended.Resource budgetthe means by which the government plans and controls the expenditure of resources tomeet its objectives.Restitutiona legal concept which allows money and property to be returned to its rightful owner. Ittypically operates where another person can be said to have been unjustly enriched byreceiving such monies.Return on capital the ratio of profit to capital employed of an accounting entity during an identified period.employed, ROCEVarious measures of profit and of capital employed may be used in calculating the ratio.Public Privatepartnership, PPPPrivate Finance Initiative, PFIParliamentaryauthority61Managing Public Money

»

————————————————————————————————————————

GLOSSARYRoyal charterthe document setting out the powers and constitution of a corporation established underprerogative power of the monarch acting on Privy Council advice.Second readingthe second formal time that a House of Parliament may debate a bill, although in practicethe first substantive debate on its content. If successful, it is deemed to denoteParliamentary approval of the principle of the proposed legislation.Secondary legislationlaws, including orders and regulations, which are made using powers in primary legislation.Normally used to set out technical and administrative provision in greater detail thanprimary legislation, they are subject to a less intense level of scrutiny in Parliament.European legislation is,however,often implemented in secondary legislation using powers inthe European Communities Act 1972.Service-level agreement between parties, setting out in detail the level of service to be performed.agreementWhere agreements are between central government bodies, they are not legally a contractbut have a similar function.Shareholder Executive a body created to improve the government’s performance as a shareholder in businesses.Spending reviewsets out the key improvements in public services that the public can expect over a givenperiod. It includes a thorough review of departmental aims and objectives to find the bestway of delivering the government’s objectives, and sets out the spending plans for the givenperiod.State aidstate support for a domestic body or company which could distort EU competition and sois not usually allowed. See annex 4.9.Statement of Excessa formal statement detailing departments’ overspends prepared by the Comptroller andAuditor General as a result of undertaking annual audits.Statement on Internal an annual statement that Accounting Officers are required to make as part of the accounts Control, SICon a range of risk and control issues.Subheadindividual elements of departmental expenditure identifiable in Estimates as single cells, forexample cell A1 being administration costs within a particular line of departmental spending.Supplyresources voted by Parliament in response to Estimates, for expenditure by governmentdepartments.Supply Estimatesa statement of the resources the government needs in the coming financial year, and forwhat purpose(s), by which Parliamentary authority is sought for the planned level ofexpenditure and income.Target rate of returnthe rate of return required of a project or enterprise over a given period, usually at least a year.Third sectorprivate sector bodies which do not act commercially,including charities,social and voluntaryorganisations and other not-for-profit collectives. See annex 7.7.Total Managed a Treasury budgeting term which covers all current and capital spending carried out by the Expenditure,TMEpublic sector (ie not just by central departments).Trading fundan organisation (either within a government department or forming one) which is largely orwholly financed from commercial revenue generated by its activities. Its Estimate shows itsnet impact, allowing its income from receipts to be devoted entirely to its business.Treasury Minutea formal administrative document drawn up by the Treasury, which may serve a wide varietyof purposes including seeking Parliamentary approval for the use of receipts asappropriations in aid, a remission of some or all of the principal of voted loans, andresponding on behalf of the government to reports by the Public Accounts Committee(PAC).62Managing Public Money

————————————————————————————————————————

GLOSSARY63Managing Public MoneyValue for moneythe process under which organisation’s procurement, projects and processes aresystematically evaluated and assessed to provide confidence about suitability, effectiveness,prudence,quality,value and avoidance of error and other waste,judged for the public sectoras a whole.Virementthe process through which funds are moved between subheads such that additionalexpenditure on one is met by savings on one or more others.Votethe process by which Parliament approves funds in response to supply Estimates.Voted expenditureprovision for expenditure that has been authorised by Parliament. Parliament ‘votes’authority for public expenditure through the Supply Estimates process. Most expenditureby central government departments is authorised in this way.Wider market activity activities undertaken by central government organisations outside their statutory duties,using spare capacity and aimed at generating a commercial profit. See annex 7.6.Windfallmonies received by a department which were not anticipated in the spending review.

————————————————————————————————————————

Понравилась статья? Поделить с друзьями:
  • Payment error что это
  • Payment error try again later or contact support перевод
  • Payment error try again later or contact support error 71
  • Payment error code
  • Payload may not be larger than 1048576 bytes ошибка