Пополнение электронных кошельков с телефона

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

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

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

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

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

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

ПараметрОписаниеТип
successUrlURL для возврата на сайт мерчанта в случае успешной оплаты.URL-закодированная строка
langЯзык платежной формы. Язык по умолчанию — русский (ru).ru, en
paymentMethodПлатежный метод, предлагаемый покупателю по умолчанию на платежной форме.CARD, SBP, QIWI_WALLET

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

// Форма загружена

// Попытка платежа

// Платеж прошел успешно

// Платеж не прошел

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

Методы библиотеки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы инициировать платеж с предварительным холдированием средств на карте (двухшаговый платеж), передайте в запросе API Платеж:
Если карта, указанная клиентом, была ранее сохранена (токенизирована) на вашей стороне,
должны быть добавлены дополнительные параметры в объекте paymentMethod.
В двухшаговом платеже возмещение формируется только после подтверждения платежа.
### Ожидание аутентификации покупателя (3-D Secure)
Пример ответа с требованием аутентификации покупателя
Перенаправление для аутентификации 3-D Secure
Завершение аутентификации покупателя
Если требуется 3-D Secure аутентификация покупателя, в ответе на запрос платежа добавляется объект requirements.threeDS с полями.
Для дополнительной проверки покупателя у эмитента выполните POST-запрос на URL сервера аутентификации 3-D Secure с параметрами.
Чтобы сохранять обратную совместимость, использование протокола 3-D Secure 1.0 или 3-D Secure 2.0 не влияет на вашу интеграцию с API.
Далее информация о покупателе передаётся в платежную систему карты. Банк-эмитент либо предоставляет разрешение на списание средств без аутентификации (frictionless flow),
либо принимает решение о необходимости аутентификации с помощью одноразового пароля (challenge flow).
После прохождения проверки покупатель перенаправляется по адресу TermUrl с зашифрованным результатом проверки в параметре PaRes.
Чтобы завершить аутентификацию покупателя, передайте в запросе API Завершение аутентификации клиента.
### Подтверждение платежа
Это действие требуется только для двухшагового платежа с холдированием.
Чтобы подтвердить платеж:
## Отмена возврата
Пример отмены возврата по платежу
## Справочник кодов детализации ошибки
Коды детализации ошибки и рекомендованных действий, полученные от платежной системы, возвращаются в поле status.psErrorCode.
| Код | Ошибка API | Детализация причины ошибки и рекомендация по ее устранению |
| --- | ---------- | ----------------------------------------------------------- |
| 03 | REATTEMPT_NOT_PERMITTED_BY_PS | Операция в данную категорию ТСП запрещена эмитентом |
| 04 | REATTEMPT_NOT_PERMITTED_BY_PS | Карта заблокирована |
| 05 | ACQUIRING_NOT_PERMITTED | Отклонение запроса по иным причинам |
| 12 | REATTEMPT_NOT_PERMITTED_BY_PS | Операция данного типа запрещена Правилами и Стандартами платежной системой |
| 13 | ACQUIRING_NOT_PERMITTED | Некорректная сумма. Повторите попытку совершения операции с другой суммой |
| 14 | ACQUIRING_NOT_PERMITTED | Некорректный номер карты. Введите корректный номер карты или используйте другую карту |
| 15 | REATTEMPT_NOT_PERMITTED_BY_PS | Эмитента с данной картой не существует |
| 30 | ACQUIRING_NOT_PERMITTED | Операция отклонена, обратитесь в Qiwi за дополнительной информацией |
| 33 | REATTEMPT_NOT_PERMITTED_BY_PS | Данная карта недоступна для использования |
| 41 | REATTEMPT_NOT_PERMITTED_BY_PS | Данная карта недоступна для использования |
| 43 | REATTEMPT_NOT_PERMITTED_BY_PS | Данная карта недоступна для использования |
| 51 | ACQUIRING_INSUFFICIENT_FUNDS | Клиенту может быть рекомендовано повторить попытку совершения операции после пополнения счета |
### Ошибки обработки платежа
- Срок действия карты отсутствует или передан неверно
- Операция данного типа недоступна для карты
- Операция данного типа недоступна для эквайера
- Клиенту может быть рекомендовано повторить попытку совершения операции в другой день после переустановки лимита по общей сумме операций данного типа
- Операция недоступна из-за ограничений на карте или счете держателя карты
- Операция отклонена, обратитесь в Qiwi за дополнительной информацией
- Клиенту может быть рекомендовано повторить попытку совершения операции в другой день после переустановки лимита по общему количеству операций данного типа
- Отклонение запроса по причине неверного ввода PIN-кода ранее
- Отклонение отмены запроса из-за отсутствия оригинального запроса
- Отклонение запроса из-за попытки использования закрытой карты
- Отклонение запроса по причине неверного ввода PIN-кода ранее
- Отклонение запроса из-за ошибки криптографии, может возникнуть из-за неправильного CVV2/CVC2
- Клиенту может быть рекомендовано повторить попытку совершения операции в другое время после восстановления работоспособности эмитента
- Отклонение платежной системой из-за невозможности проведения операции
- Отклонение запроса по причине нарушения требований законодательства
- Отклонение задублированного запроса
- Клиенту может быть рекомендовано повторить попытку совершения операции в другое время после восстановления работоспособности эмитента или платформы
- Отклонение запроса в связи с отменой длительного поручения держателя карты
- Отклонение запроса из-за некорректной даты рождения держателя карты
- Отклонение запроса по причине смерти держателя карты
### Правила работы с детализированной информацией
Существуют две группы кодов ошибок.
По правилам НСПК действуют следующие условия совершения повторов транзакций с non-3DS авторизацией по картам платежной системы МИР.
Ограничения применяются в отношении конечного получателя, в случае если нами были получены соответствующие коды ответа.
## Статус подтверждения
Пример запроса статуса подтверждения
## Способы подключения
Протокол приема платежей поддерживает несколько вариантов взаимодействия.
## Настройка Платежной формы
Внешний вид Платежной формы можно настроить в соответствии с вашим стилем, включая логотип, фон и цвет кнопок. Для этого обратитесь в Службу поддержки и предоставьте следующую информацию.
Необязательные данные для настройки:
Пример передачи параметра стиля при выставлении счета через API:
Чтобы применить ваш стиль на Платежной форме:
Название псевдонима стиля регистрозависимое.
Пример применения настройки к Платежной форме:
![](https://developer.qiwi.com/images/payin/qiwi-form-custom.png)
## Получение QR-кода СБП
Пример получения QR-кода СБП (метод POST) Flower for my girlfriend
### Метод PUT
Пример получения QR-кода СБП (метод PUT) Flower for my girlfriend
## Реестры
Реестр операций отправляется после 14:00 МСК по рабочим дням, содержит информацию только об успешных платежах, обработанных банком. Реестр полностью соответствует Акту.
Реестр отправляется на email, указанный при регистрации в сервисе, во вложенном в письме zip-архиве.
## Удаление платежного токена
Удаление платежного токена
Чтобы прекратить действие платежного токена, отправьте запрос DELETE:
В JSON-теле запроса укажите параметры:
Успешный ответ означает, что платежный токен для указанного покупателя больше не действует.
Этот метод действует как для платежного токена карты, так и для платежного токена QIWI Кошелька.
## Создание счёта
Пример создания счета
## Интеграция с Платежной формой QIWI
Чтобы отправить платеж со сплитованием, передайте в запросе API Создание счёта массив splits c данными поставщиков.
Пример выставления счёта с оплатой сплитованием
Пример ответа при выставлении счета с оплатой сплитованием
Формат массива splits в запросе:
| Название | Тип | Описание |
|---------|-----|---------|
| splits | Array | Массив данных о поставщиках |
| type | String | Тип передаваемых данных. Доступные значения: MERCHANT_DETAILS (данные поставщика) |
| siteUid | String | Зарегистрированный ID поставщика |
| splitAmount | Object | Возмещение поставщику |
| value | Number | Сумма возмещения, округленная в меньшую сторону до 2 десятичных знаков |
| currency | String(3) | Буквенный код валюты возмещения по ISO. Доступен только RUB |
| orderId | String | Номер заказа (необязательный) |
В объекте splits ответа содержатся данные о сплитованных платежах:
| Поле ответа | Тип | Описание |
|------------|-----|---------|
| splits | Array | Массив с данными о сплитованных платежах |
| type | String | Тип передаваемых данных. Всегда возвращается строка MERCHANT_DETAILS |
| siteUid | String | ID поставщика |
| splitAmount | Object | Данные о возмещении поставщику |
| value | String | Сумма возмещения |
## Частота отправки уведомлений
Сервис отправки уведомлений распределяет неуспешные уведомления по очередям:
Время повторной отправки может быть увеличено.
## Типы операций
В Протоколе доступны следующие операции:
## Статус возврата
Пример запроса статуса возврата
## Выплата
some comment for payout operation
Incorrect payout amount
## Акты
Акт по принятым платежам формируется ежемесячно во второй рабочий день месяца.
Акт сначала отправляется на email, указанный при регистрации в сервисе. После подтверждения со стороны партнера, уполномоченное лицо КИВИ Банка подписывает Акт в системе документооборота электронной подписью. Подписанный Акт отправляется на юридический адрес партнера.
## Платёж

"Severnoe chertanovo microdistrict 1a 1""Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion"

Проблемы NFC:  Отключить автопродление подписки

"Exchange token error. Token disabled, please create new one"

Статус счета

Пример запроса статуса счета

"Детская футбольная школа «Тигры»""Детская футбольная школа «Тигры»""Детская футбольная школа «Тигры»"

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

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

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

Поле Описание Тип В каких случаях используется

payment Описание платежа Object Всегда

payment.type Тип операции — только PAYMENT String(200) Всегда

payment.paymentId Идентификатор платежа в системе ТСП String(200) Всегда

payment.createdDateTime Дата создания операции URL-закодированная строкаГГГГ-ММ-ДДTчч:мм:ссZ Всегда

payment.billId Идентификатор счета, соответствующего операции String(200) Всегда

payment.qrCodeUid Идентификатор операции выпуска QR-кода в системе ТСП String Если операция была выполнена через СБП

payment.amount Информация о сумме операции Object Всегда

payment.amount.value Сумма операции, округленная до двух десятичных знаков в меньшую сторону Number(6.2) Всегда

payment.amount.currency Идентификатор валюты операции (Alpha-3 ISO 4217 код) String(3) Всегда

payment.status Информация о статусе операции Object Всегда

payment.status.value Строковое значение статуса String Всегда

payment.status.changedDateTime Дата обновления статуса URL-закодированная строкаГГГГ-ММ-ДДTчч:мм:ссZ Всегда

payment.status.reasonCode Код причины отклонения String(200) В случае отклонения операции

payment.status.reasonMessage Описание причины отклонения String(200) В случае отклонения операции

payment.status.errorCode Код ошибки Number В случае ошибки

payment.status.psErrorCode Оригинальный код ошибки, полученный от платежной системы String В случае отклонения операции

payment.paymentMethod Информация о средстве платежа Object Всегда

payment.paymentMethod.type Тип метода оплаты: CARD — банковская карта, TOKEN — платежный токен, SBP — Система Быстрых Платежей, QIWI_WALLET — баланс QIWI Кошелька String Всегда

payment.paymentMethod.paymentToken Платежный токен карты String При оплате платежным токеном

payment.paymentMethod.maskedPan Маскированный PAN карты String При оплате платежным токеном или картой

payment.paymentMethod.rrn RRN платежа (по ISO 8583) Number При оплате платежным токеном или картой

payment.paymentMethod.authCode Auth-code платежа Number При оплате платежным токеном или картой

payment.paymentMethod.phone Телефон, с которого выполнялась оплата через СБП, или номер QIWI Кошелька String При оплате через СБП или с баланса QIWI Кошелька

payment.paymentCardInfo Информация о карте Object Всегда

payment.paymentCardInfo.issuingCountry Код страны эмитента String(3) Всегда

payment.paymentCardInfo.issuingBank Банк-эмитент String Всегда

payment.paymentCardInfo.paymentSystem Тип платежной системы String Всегда

payment.paymentCardInfo.fundingSource Тип карты String Всегда

payment.paymentCardInfo.paymentSystemProduct Категория карты String Всегда

payment.merchantSiteUid Строковый идентификатор сайта ТСП в QIWI Кассе String Всегда

payment.customer Информация о покупателе Object Всегда

Проблемы NFC:  Через ОАО "Севастополь Телеком" приобретается телефон в Севастополе

payment.customer.phone Номер телефона покупателя String Всегда

payment.customer.email E-mail покупателя String Всегда

payment.customer.account Идентификатор покупателя в системе ТСП String Всегда

payment.customer.ip IP адрес покупателя String Всегда

payment.customer.country Страна адреса покупателя String Всегда

payment.customer.bankAccountNumber Номер счета плательщика String Только для платежей через СБП

payment.customer.bic БИК банка, выпустившего карту String Только для платежей через СБП

payment.customer.lastName Фамилия покупателя String Только для платежей через СБП

payment.customer.firstName Имя покупателя String Только для платежей через СБП

payment.customer.middleName Отчество покупателя String Только для платежей через СБП

payment.customer.simpleAddress Адрес покупателя String Только для платежей через СБП

payment.customer.inn ИНН покупателя String Только для платежей через СБП

payment.customer.bankMemberId Идентификатор банка покупателя String Только для платежей через СБП

payment.customFields Поля с произвольной информацией, дополняющей данные по операции Object Всегда

payment.customFields.cf1 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда

payment.customFields.cf2 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда

payment.customFields.cf3 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда

payment.customFields.cf4 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда

payment.customFields.cf5 Поле с произвольной информацией, дополняющей данные по операции String(256) Всегда

payment.flags Дополнительные команды, переданные в API Массив. Возможные элементы: SALE, REVERSAL Всегда

payment.tokenData Объект с информацией о выпущенном платежном токене Object Если в платеже был запрошен выпуск платежного токена

payment.tokenData.paymentToken Строка платежного токена String Если в платеже был запрошен выпуск платежного токена

payment.tokenData.expiredDate Дата окончания срока действия платежного токена. Формат даты соответствует стандарту ISO-8601:ГГГГ-ММ-ДДTчч:мм:сс±чч:мм String Если в платеже был запрошен выпуск платежного токена

payment.chequeData Описание фискального чека ChequeData Если в операции были отправлены данные для формирования фискального чека

payment.paymentSplits Описание сплитованных платежей Array(Objects) Для сплитованных платежей

payment.paymentSplits.type Тип передаваемых данных. Всегда строка MERCHANT_DETAILS String Для сплитованных платежей

payment.paymentSplits.siteUid ID поставщика String Для сплитованных платежей

payment.paymentSplits.splitAmount Информация о возмещении поставщику Object Для сплитованных платежей

payment.paymentSplits.splitAmount.value Сумма возмещения Number Для сплитованных платежей

payment.paymentSplits.splitAmount.currency Буквенный код валюты возмещения по ISO String(3) Для сплитованных платежей

payment.paymentSplits.splitCommissions Информация о комиссии Object Для сплитованных платежей

payment.paymentSplits.splitCommissions.merchantCms Информация о комиссии с поставщика Object Для сплитованных платежей

payment.paymentSplits.splitCommissions.merchantCms.value Сумма комиссии Number Для сплитованных платежей

payment.paymentSplits.splitCommissions.merchantCms.currency Буквенный код валюты комиссии по ISO String(3) Для сплитованных платежей

payment.paymentSplits.orderId Номер заказа String Для сплитованных платежей

payment.settlementAmount Сведения о сумме расчёта с мерчантом Object Если валюта платежа и расчёта с мерчантом различаются

payment.settlementAmount.value Сумма расчёта с мерчантом Number(6.2) Если валюта платежа и расчёта с мерчантом различаются

payment.settlementAmount.currency Идентификатор валюты расчёта с мерчантом (Alpha-3 ISO 4217 код) String(3) Если валюта платежа и расчёта с мерчантом различаются

type Тип уведомления — только PAYMENT String Всегда

version Версия уведомлений String Всегда

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

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

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

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

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

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

Пример завершения аутентификации при проверке карты

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

API Протокола приема платежей основано на принципах REST-архитектуры. Данные и методы считаются ресурсами, которые доступны через вызов универсальных идентификаторов ресурсов (URI).

Методы API вызываются через HTTP-запросы. Постоянная часть URL-адреса для вызова методов API:

Параметры методов помещаются в JSON-тело запроса. В GET-запросах параметры помещаются в query запроса.

Необходимо указывать Accept: application/json в заголовках запроса — API всегда возвращает ответ в формате JSON.

Методы API обеспечивают логическую идемпотентность, т. е. многократный вызов метода эквивалентен однократному. Однако ответ сервера может меняться (например, состояние счёта может измениться между запросами).

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

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

payout Описание выплаты Object Всегда

payout.payoutId Идентификатор выплаты в системе ТСП String(200) Всегда

payout.createdDateTime Дата создания операции URL-закодированная строкаГГГГ-ММ-ДДTчч:мм:ссZ Всегда

payout.amount Информация о сумме операции Object Всегда

payout.amount.value Сумма операции, округленная до двух десятичных знаков в меньшую сторону Number(6.2) Всегда

payout.amount.currency Идентификатор валюты операции (Alpha-3 ISO 4217 код) String(3) Всегда

payout.status Информация о статусе операции Object Всегда

payout.status.value Строковое значение статуса String Всегда

payout.status.changedDateTime Дата обновления статуса URL-закодированная строкаГГГГ-ММ-ДДTчч:мм:ссZ Всегда

payout.status.reasonCode Код причины отклонения String(200) В случае отклонения операции

payout.status.reasonMessage Описание причины отклонения String(200) В случае отклонения операции

payout.status.errorCode Код ошибки Number В случае ошибки

payout.receiverData Информация о получателе PayoutReceiverDataCallback Всегда

payout.merchantSiteUid Строковый идентификатор сайта ТСП в QIWI Кассе String Всегда

payout.flags Дополнительные флаги операции Array(Strings). Возможные элементы: TEST При необходимости

payout.payoutSplits Описание сплитованных выплат Array(Objects) Всегда

payout.payoutSplits.type Тип передаваемых данных. Всегда строка MERCHANT_DETAILS String Всегда

payout.payoutSplits.siteUid ID поставщика String Всегда

payout.payoutSplits.splitAmount Информация о списании с поставщика Object Всегда

payout.payoutSplits.splitAmount.value Сумма списания Number Всегда

payout.payoutSplits.splitAmount.currency Буквенный код валюты списания по ISO String(3) Всегда

payout.payoutSplits.splitCommissions Информация о комиссии Object При необходимости

payout.payoutSplits.splitCommissions.merchantCms Информация о комиссии с поставщика Object При необходимости

payout.payoutSplits.splitCommissions.merchantCms.value Сумма комиссии Number При необходимости

payout.payoutSplits.splitCommissions.merchantCms.currency Буквенный код валюты комиссии по ISO String(3) При необходимости

payout.payoutSplits.orderId Номер заказа String При необходимости

type Тип уведомления — только PAYOUT String Всегда

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

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

Коды ошибок

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

Код ошибки Описание

400 Bad Request — Ваш запрос некорректен (ошибка в данных или в формате запроса).

401 Unauthorized — Неправильный ключ доступа к API.

403 Forbidden — Доступ к API запрещен.

404 Not Found — Указанный ресурс не найден.

405 Method Not Allowed — Для создания платежа использовался неправильный метод.

Проблемы NFC:  Как получить квитанцию об оплате услуг по управлению телефоном онлайн. Используя приложение "МТС Деньги", вы можете оплачивать такие услуги, как телефонные звонки, в любом месте

406 Not Acceptable — Формат данных отличается от JSON.

410 Gone — Запрашиваемый ресурс удален.

429 Too Many Requests — Слишком много запросов.

500 Internal Server Error — Внутренняя ошибка сервиса. Если тело ответа пустое, повторите запрос с теми же параметрами. Если тело ответа не пустое, выполните запрос статуса платежа или статуса счета.

502 Bad Gateway — Нет связи с сервисом

503 Service Unavailable — Сервер временно недоступен по техническим причинам, попробуйте позже.

Статус возвратов

Пример запроса статуса всех возвратов по платежу

Завершение выплаты

Пример завершения выплаты

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

Ключ доступа к 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.

Статусы операций

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

Ответы API

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

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

Тип операции Статус операции Описание статуса

PAYMENT WAITING Ожидание 3DS авторизации

PAYMENT DECLINED Запрос авторизации отклонен (в синхронном ответе)

PAYMENT DECLINE Запрос авторизации отклонен (в асинхронном ответе)

PAYMENT COMPLETED Запрос авторизации успешно обработан

CAPTURE DECLINE Запрос подтверждения отклонен

CAPTURE DECLINED Запрос подтверждения отклонен (в ответе API на запрос статуса)

CAPTURE COMPLETED Запрос подтверждения успешно обработан

REFUND DECLINE Запрос возврата отклонен

REFUND COMPLETED Запрос возврата успешно обработан

PAYOUT WAITING Выплата принята в обработку

PAYOUT INIT Инициализация выплаты при двушаговом сценарии

PAYOUT DECLINED Выплата отклонена

PAYOUT COMPLETED Выплата успешно проведена

PAYMENT SUCCESS Запрос авторизации успешно обработан

CAPTURE SUCCESS Запрос подтверждения успешно обработан

REFUND SUCCESS Запрос возврата успешно обработан

PAYOUT SUCCESS Выплата успешно проведена

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

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

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

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

Получение списка платежей по счету

Пример запроса на получение списка платежей по счету

Передача чека (54-ФЗ)

Для работы по 54-ФЗ Протокол приема платежей предоставляет инструмент для взаимодействия с вашей онлайн-кассой. Информация для формирования фискального чека передается в JSON-объекте cheque в операциях API выставления счета, платежа и возврата.

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

Если используется Атол, то дополнительно предоставьте сведения:

Фискальный чек по успешной операции отправляется в синхронном ответе на указанные запросы API и в уведомлении об операции в объекте chequeData.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

checkPaymentMethod Описание результата проверки карты Object

checkPaymentMethod.checkOperationDate Дата проверки карты URL-закодированная строкаГГГГ-ММ-ДДTчч:мм:ссZ

checkPaymentMethod.requestUid Идентификатор операции проверки карты String

checkPaymentMethod.status Статус проверки карты String

checkPaymentMethod.isValidCard Признак доступности карты для платежей Bool

checkPaymentMethod.threeDsStatus Информация о статусе дополнительной аутентификации при проверке карты. Возможные значения: PASSED (3-D Secure пройден), NOT_PASSED (3-D Secure не пройден), WITHOUT (3-D Secure не требовалось) String

checkPaymentMethod.paymentMethod Информация о средстве платежа Object

checkPaymentMethod.paymentMethod.type Тип метода оплаты String

checkPaymentMethod.paymentMethod.maskedPan Маскированный PAN карты String

checkPaymentMethod.paymentMethod.cardExpireDate Срок действия карты String

checkPaymentMethod.paymentMethod.cardHolder Имя держателя карты String

checkPaymentMethod.cardInfo Информация о карте Object

checkPaymentMethod.cardInfo.issuingCountry Код страны эмитента String(3)

checkPaymentMethod.cardInfo.issuingBank Банк-эмитент String

checkPaymentMethod.cardInfo.paymentSystem Тип платежной системы String

checkPaymentMethod.cardInfo.fundingSource Тип карты String

checkPaymentMethod.cardInfo.paymentSystemProduct Категория карты String

checkPaymentMethod.createdToken Объект с информацией о платежном токене, выпущенном вместе с проверкой карты Object

checkPaymentMethod.createdToken.token Строка платежного токена String

checkPaymentMethod.createdToken.name Маскированный PAN карты, для которой выпущен платежный токен String

checkPaymentMethod.createdToken.expiredDate Дата окончания срока действия платежного токена. Формат даты соответствует стандарту ISO-8601:ГГГГ-ММ-ДДTчч:мм:сс±чч:мм String

checkPaymentMethod.createdToken.account Идентификатор покупателя, указанный при выпуске платежного токена String

checkPaymentMethod.merchantSiteUid Строковый идентификатор сайта ТСП в QIWI Кассе String

type Тип уведомления — только CHECK_CARD String

Оцените статью
NFC в смартфонах