Qiwi заблокировала пополнение и вывод денег с кошельков

Содержание
  1. Типы операций
  2. Возвраты и отмены
  3. Статус возврата
  4. Формат реестра
  5. Обзор протокола
  6. Тестирование проведения операций
  7. Статус выплаты
  8. Подтверждение платежа
  9. Платеж через форму мерчанта
  10. Уведомления по сплитованным операциям
  11. Оплата через СБП
  12. Получение QR-кода
  13. Статус платежа через СБП
  14. Статус QR-кода
  15. Оплата токеном через СБП
  16. Тестирование оплаты СБП
  17. PayoutReceiverDataCallback
  18. Как использовать сервис через Платежную форму QIWI
  19. Формат уведомления TOKEN
  20. Выпуск платежного токена карты
  21. Справочник ошибок API
  22. Возвраты по проведенным платежам
  23. Завершение аутентификации покупателя
  24. Реестры
  25. Статус возвратов
  26. Yandex Pay
  27. Как отправлять платеж
  28. Завершение аутентификации при проверке карты
  29. Интеграция с Платёжной формой мерчанта
  30. Процесс платежа
  31. Перенаправление на форму QIWI
  32. Безопасная сделка
  33. Операция возврата
  34. Формат уведомления CHECK_CARD
  35. Возвраты по оплаченным счетам
  36. Формат взаимодействия
  37. Справочник кодов детализации ошибки
  38. Правила работы с детализированной информацией
  39. Статус проверки карты
  40. Mir Pay
  41. Как отправлять платеж с расшифрованными данными
  42. Как отправлять платеж с зашифрованными данными
  43. Серверные уведомления
  44. Платежный токен
  45. Аутентификация по цифровой подписи
  46. Как создать ключи
  47. Получение списка платежей по счету
  48. Платеж токеном СБП
  49. Частота отправки уведомлений
  50. Статус счета
  51. PayoutReceiverDataRequest
  52. Завершение выплаты

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

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

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

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

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

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

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

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

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

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

Поле реестраОписание
BANK_DATA_DOCДата документа, влияющего на баланс банковского счета, по этой дате составляется Акт в конце месяца
BANK_VALUE_DOCДата фактического изменения баланса счета в банке
BANK_AGR_CODEБанковский код, уникальный номер документа
SUM_BANKСумма документа
TRANS_DATEДата создания операции
TRANSACTION_IDНомер операции
SUMСумма операции
COMMISSIONКомиссия за проведение операции с мерчанта
IDНомер операции paymentId на стороне мерчанта
MERCHID мерчанта
MERCH_SITEsiteId мерчанта
PARENT_TRANSACTION_IDДля возвратов указывается номер исходной операции платежа
BILL_IDвыставленного счета
PURPOSEТип проводки CHARGEBACK/ REVERT_CHARGEBACK/ Оплата/ Возврат/ OPERATION+/ OPERATION-/ SETTLEMENT
MERCHANT_SITE_NAMEURL сайта мерчанта
PAYMENT_METHOD_TYPEМетод оплаты: Bank card/ QIWI_WALLET/ SBP
ММВБКурс ММВБ на момент оплаты для валютных операций
CLIENT_AMOUNTСумма списания с покупателя
CLIENT_CUR_CODEВалюта списания с покупателя
SETTLEMENT_AMOUNTСумма платежного поручения, отправленного на расчетный счет партнера
PAYMENT_DETAILSНазначение платежного поручения, отправленного на расчетный счет партнера

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

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

Тестирование проведения операций

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

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

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

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

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

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

Статус выплаты

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

some comment for payout operation

Incorrect payout amount

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

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

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

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

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

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

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

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

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

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

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

Flower for my girlfriend

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

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

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

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

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

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

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

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

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

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

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

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

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

Тестирование оплаты СБП

См. информацию в этом разделе.

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

Значение поля amount.valueРезультат
200.00 или 2.00На инициирующий запрос выплаты возвращается status.value=WAITING, на последующие запросы статуса выплаты возвращается status.value=SUCCESS
500.00 или 5.00На запрос выплаты возвращается status.value=DECLINED
510.00 или 5.10На инициирующий запрос выплаты возвращается status.value=WAITING, на последующие запросы статуса выплаты возвращается status.value=DECLINED

PayoutReceiverDataCallback

Информация о получателе. Доступные типы: CARD и SBP.

Проблемы NFC:  Как настроить бесконтактную оплату на Huawei P40 Pro через NFC - Super G

Тип метода выплаты CARD:

ПолеТип или константаОписание
typerequired: CARDТип метода выплаты
maskedPanrequired: string(19)Маскированный номер банковской карты

Тип метода выплаты SBP:

ПолеТипОписание
typerequired: SBPТип метода выплаты: SBP — СБП
phonerequired: stringНомер телефона
bankMemberIdrequired: string(12)Идентификатор банка получателя в СБП

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

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

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

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

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

Уведомление об успешной привязке токена СБП

Уведомление о неуспешной привязке токена СБП

ПолеОписаниеТипВ каких случаях используется
tokenОписание токенаObjectВсегда
token.statusИнформация о статусе операцииObjectВсегда
token.status.valueСтроковое значение статусаStringВсегда
token.status.changedDateTimeДата обновления статусаURL-закодированная строкаВсегда
token.status.rejectReasonПричина отклоненияStringВ случае отклонения операции
token.merchantSiteUidID поставщикаStringВсегда
token.accountИдентификатор покупателяStringВсегда
token.valueПлатежный токенStringВ случае успешной операции
token.expiredDateДата окончания срока действия платежного токенаStringВ случае успешной операции
token.tokenizationSourceИнформация об источнике токенизацииObjectВсегда
token.tokenizationSource.typeТип источника токенизацииStringВсегда
token.tokenizationSource.uidID источника токенизацииStringВсегда
token.bankMemberIdИдентификатор банка покупателяStringВ случае успешной операции
typeТип уведомления — только TOKENStringВсегда
versionВерсия уведомленийStringВсегда

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

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

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

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

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

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

Справочник ошибок API

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

Некоторые ошибки API сопровождаются детализацией ошибки и рекомендованными действиями, полученными от платежной системы в поле status.psErrorCode.

Ошибка APIОписание
INVALID_STATEНекорректный статус транзакции
INVALID_AMOUNTНекорректная сумма
INVALID_RECEIVER_DATAОшибка при передаче данных о получателе
DECLINED_BY_MPIОтклонено MPI
DECLINED_BY_FRAUDОтклонено fraud-мониторингом
REATTEMPT_NOT_PERMITTEDПовторный запрос авторизации запрещен
REATTEMPT_NOT_PERMITTED_BY_PSОперация отклонена платежной системой
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 Кошельке
- TRY_AGAIN_LATER: Повторите запрос через некоторое время
## Ошибки операции выплаты
- GATEWAY_TECHNICAL_ERROR: Неизвестная техническая ошибка, попробуйте повторить запрос еще раз
- MERCHANT_SETTINGS_ERROR: Ошибка в настройках мерчанта, обратитесь в Службу поддержки
- DECLINED_BY_PAYOUT_GATEWAY: Отклонено выплатным шлюзом
## Способы подключения
Протокол приема платежей поддерживает несколько вариантов взаимодействия:
## Возмещение
По умолчанию, возмещение по проведенным операциям производится раз в 2 дня и минимальным порогом 10.000 рублей. Если вам необходимо особое расписание, обратитесь к вашему сопровождающему менеджеру.
КИВИ взимает комиссию за каждую подтвержденную операцию. Если отмена операции была произведена до подтверждения, комиссия не взимается. Если была произведена частичная отмена до подтверждения операции, комиссия будет пересчитана.
## Акты
Акт по принятым платежам формируется ежемесячно во второй рабочий день месяца.
Акт сначала отправляется на email, указанный при регистрации в сервисе. После подтверждения со стороны партнера, уполномоченное лицо КИВИ Банка подписывает Акт в системе документооборота электронной подписью. Подписанный Акт отправляется на юридический адрес партнера.
## Создание счёта
Пример создания счета
## Проверка карты покупателя

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

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

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

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

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

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

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

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

Реестры

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

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

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

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

Yandex Pay

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

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

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

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

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

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

Проблемы NFC:  Ветеранам Великой Отечественной войны положены льготы на оплату телефонных разговоров

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

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

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

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

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

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

"Товар из корзины"

Формат массива paymentSplits в запросе:

Название Тип Описание

paymentSplits Array Массив данных о поставщиках

type String Тип передаваемых данных. Доступные значения: MERCHANT_DETAILS (данные поставщика)

siteUid String ID поставщика

splitAmount Object Возмещение поставщику

value Number Сумма возмещения, округленная в меньшую сторону до 2 десятичных знаков

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

orderId String Номер заказа (необязательный)

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

Поле ответа Тип Описание

paymentSplits Array Массив с данными о принятых платежах

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

splitAmount Object Данные о возмещении поставщику

value String Сумма возмещения

splitCommissions Object Данные о комиссии (необязательный)

merchantCms Object Данные о комиссии с поставщика

value String Сумма комиссии

currency String(3) Буквенный код валюты комиссии по ISO

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

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

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

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

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

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

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

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

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

Параметр Описание Тип

successUrl URL для возврата на сайт мерчанта в случае успешной оплаты. Возврат произойдет после успешной 3DS аутентификации. Ссылку необходимо указывать в кодировке UTF-8. URL-закодированная строка

lang Язык платежной формы. Язык по умолчанию — русский (ru). ru, en

paymentMethod Платежный метод, предлагаемый покупателю по умолчанию на платежной форме. Если указанный метод недоступен мерчанту, отображается другой доступный. По умолчанию — CARD. CARD, SBP, QIWI_WALLET

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

// Форма загружена // Попытка платежа // Платеж прошел успешно // Платеж не прошел

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

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

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

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

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

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

Параметр Описание Формат

publicKey Обязательный параметр. Ключ идентификации мерчанта, уникальный для каждого siteId. Ключ можно получить в Личном кабинете в разделе Настройки. String

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

phone Номер телефона пользователя, на который выставляется счет (в международном формате) String

email E-mail пользователя, куда будет отправлена ссылка для оплаты счета String

account Идентификатор пользователя в системе мерчанта String

customFields Дополнительные данные счета. Список полей см. в описании одноименного параметра в запросе API выставления счета Object

lifetime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, он получит финальный статус и последующая оплата станет невозможна. ГГГГ-ММ-ДДTччмм

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

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

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

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

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

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

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

Операция возврата

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

Формат уведомления 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

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

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

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

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

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

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

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

Проблемы NFC:  Как перевести деньги с телефона на карту

Методы 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 Клиенту может быть рекомендовано повторить попытку совершения операции после пополнения счёта

54 ACQUIRING_EXPIRED_CARD Срок действия карты отсутствует или передан неверно

57 REATTEMPT_NOT_PERMITTED_BY_PS Операция данного типа недоступна для карты

58 REATTEMPT_NOT_PERMITTED_BY_PS Операция данного типа недоступна для эквайера

61 ACQUIRING_LIMIT_EXCEEDED Клиенту может быть рекомендовано повторить попытку совершения операции в другой день — после переустановки Эмитентом лимита по общей сумме операций данного типа

62 REATTEMPT_NOT_PERMITTED_BY_PS Операция недоступна из-за ограничений на карте или счёте Держателя карты

63 ACQUIRING_NOT_PERMITTED Операция отклонена, обратитесь в Qiwi за дополнительной информацией

65 ACQUIRING_LIMIT_EXCEEDED Клиенту может быть рекомендовано повторить попытку совершения операции в другой день — после переустановки Эмитентом лимита по общему количеству операций данного типа

75 ACQUIRING_INCORRECT_CVV Отклонение запроса по причине неверного ввода PIN-кода ранее

76 REATTEMPT_NOT_PERMITTED_BY_PS Отклонение отмены запроса из-за отсутствия оригинального запроса

78 REATTEMPT_NOT_PERMITTED_BY_PS Отклонение запроса из-за попытки использования закрытой карты

86 ACQUIRING_INCORRECT_CVV Отклонение запроса по причине неверного ввода PIN-кода ранее

88 ACQUIRING_AUTH_TECHNICAL_ERROR Отклонение запроса из-за ошибки криптографии, может возникнуть из-за неправильного CVV2/CVC2

91 ACQUIRING_ISSUER_NOT_AVAILABLE Клиенту может быть рекомендовано повторить попытку совершения операции в другое время — после восстановления работоспособности Эмитента

92 REATTEMPT_NOT_PERMITTED_BY_PS Отклонение Платежной Системой из-за невозможности проведения операции

93 REATTEMPT_NOT_PERMITTED_BY_PS Отклонение запроса по причине нарушения требований законодательства

94 REATTEMPT_NOT_PERMITTED_BY_PS Отклонение задублированного запроса

96 ACQUIRING_NOT_PERMITTED Клиенту может быть рекомендовано повторить попытку совершения операции в другое время — после восстановления работоспособности Эмитента или Платформы

TS REATTEMPT_NOT_PERMITTED_BY_PS Отклонение запроса в связи с отменой длительного поручения Держателя карты

CB ACQUIRING_ACQUIRER_ERROR Отклонение запроса из-за некорректной даты рождения Держателя карты

CD REATTEMPT_NOT_PERMITTED_BY_PS Отклонение запроса по причине смерти Держателя карты

Правила работы с детализированной информацией

Существуют две группы кодов ошибок:

По правилам НСПК действуют следующие условия совершения повторов транзакций с non-3DS авторизацией по картам платёжной системы МИР:

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

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

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

Mir Pay

Клиент оплачивает покупку с Mir Pay без указания данных карты, через приложение Mir Pay.

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

Как отправлять платеж с расшифрованными данными

Пример оформленного платежа

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

Как отправлять платеж с зашифрованными данными

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

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

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

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

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

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

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

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

Уведомление считается успешно доставленным, если ваш сервер ответил HTTP кодом состояния 200 OK.

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

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

См. описание тестового режима для выплат.

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

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

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

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

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

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

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

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

Платеж токеном СБП

Пример платежа токеном СБП

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

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

Время повторной отправки может быть увеличено.

Статус счета

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

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

PayoutReceiverDataRequest

panrequired string(19) Номер банковской карты

receiverFirstName string(64) Имя получателя

receiverLastName string(64) Фамилия получателя

Поле Тип или константа Описание

phonerequired number(11..13) Номер телефона

flags array of strings Дополнительные флаги для операции. Поддерживается значение INIT, которое включает двухшаговый сценарий выплаты на СБП. В случае передачи флага нужно будет дополнительно отправить запрос подтверждения выплаты

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

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

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