Skip to main content

API


Общая информация

PSP предоставляет мерчантам REST API для проведения финансовых операций.

В запросе ожидаются переданные методом GET или POST (предпочтительно) параметры в формате application/x-www-form-urlencoded (обычная web-форма).

Ответ отправляется в формате application/json.

Структуры запроса/ответа унифицированы с целью упростить сборку/парсинг для мерчанта.

Запросы

Структура запроса

Название параметра Обязательный Допустимый контент Допустимая длина / диапазон значений Описание
method да 0-9a-z_ длина не более 50 символов

Платежные методы:
• c2b – эквайринг или AFT,
• b2c – выплата,
• c2c – перевод между физлицами,
• cancel – отмена,
• refund – возврат,
• capture – завершение операции (применим для методов, логика исполнения которых предполагает несколько стадий).
Сервисные методы:
• status – запрос статуса операции,
• b2c_check – проверка возможности выплаты (при наличии у процессора технической возможности),
• bank_list – получение списка банков (в текущей версии API поддерживается только получение списка банков-участников СБП).
• create_order – создание заказа с возможностью его последующей оплаты посредством ссылки на платежную страницу, • delete_order – удаление заказа,
• create_payment_page_url – создание ссылки на оплату ранее созданного заказа,
• balance – запрос баланса счета мерчанта (при наличии у процессора технической возможности, как правило используется для запроса баланса счета, с которого совершаются выплаты).

method_mode нет 0-9a-z_ длина не более 50 символов Режим выполнения платежного метода. В текущей версии API поддерживается единственное возможное значение – preauth (предавторизация) для платежного метода c2b и финансового инструмента acquiring, что означает необходимость вызова метода capture для отправки операции на клиринг. Во всех остальных кейсах параметр не передается.
method_order нет 0-9a-z_ длина не более 50 символов Передается со значением b2c в рамках метода create_order.
payment_page_method нет строка 1 - 10000

Передается в рамках метода create_order. Возможные значения :  ["card","sbp","mts_pay","mir_pay","yandex_pay"]. Используется для вывода сразу нескольких платежных методов, при необходимости. Передается в виде массива. Набор и порядок может варьироваться, первый метод из массива будет распахнутым по умолчанию.

fin_instrument нет 0-9a-z_ длина не более 50 символов Финансовый инструмент:
• acquiring – эквайринг,
• transfer – перевод,
• sbp – Система Быстрых Платежей (СБП).
Финансовый инструмент определяет конкретный способ реализации платежного метода. Метод c2b может быть реализован при помощи всех трех инструментов. b2c – перевод или СБП.',
id_client да 0-9a-z_.:|- длина не более 64 символов Уникальный идентификатор мерчанта (выдается при его регистрации в системе PSP).
id_request да 0-9a-zA-Z_.:|- длина не более 64 символов Уникальный идентификатор запроса в API. Для каждого запроса в API PSP мерчант должен сгенерировать уникальный идентификатор. В качестве такового рекомендуется использовать timestamp или GUID. В ответ на запросы с неуникальными id_request будет возвращена ошибка.
id_request_parent нет 0-9a-zA-Z_.:|- длина не более 64 символов Уникальный идентификатор запроса родительской операции. Родительская операция – это операция, на которую ссылается данная операция. Например, возврат (refund), ссылается на операцию оплата (c2b). Если по одной оплате производится несколько возвратов, то у них у всех будет одинаковый id_request_parent.
id_order нет 0-9 длина от 6 до 20 символов Уникальный идентификатор заказа. Для каждого заказа мерчант может сгенерировать уникальный идентификатор, на основании которого будет осуществляться дальнейшая работа с заказом. Использование механики заказов необязательно и осуществляется на усмотрение мерчанта.
id_order_parent нет 0-9a-zA-Z_.:|- длина не более 64 символов Уникальный идентификатор заказа родительской операции. Родительская операция – это операция, на которую ссылается данная операция. Например, возврат (refund), ссылается на операцию оплата (c2b). Если по одной оплате производится несколько возвратов, то у них у всех будет одинаковый id_order_parent.
amount нет число с 2-мя знаками после запятой значение в диапазоне 0.01 – 9999999999.99 Сумма операции. В случае отправки мерчантом значения, имеющего более 2-х знаков после запятой, будет произведено математическое округление до 2-х знаков.
currency нет целое число значение в диапазоне 1 – 999 ISO-код валюты операции.
desc_public нет строка длина не более 1000 символов Описание операции, которое отображается на платежной странице, странице 3DS или экране оплаты СБП в мобильном приложении банка плательщика.
desc_private нет строка длина не более 1000 символов Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности).
add_info нет строка длина не более 1500 символов Параметр для передачи дополнительной информации процессору  (при наличии у него технической возможности).
payment_page_session _life_time нет целое число значение в  диапазоне от 1 минуты до 365 дней.

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

pan_src нет 0-9 длина от 16 до 19 цифр PAN карты плательщика.
exp_month_src нет целое число значение в диапазоне 1 – 12 месяц истечения срока действия карты плательщика.
exp_year_src нет целое число значение в диапазоне 2022 – 2050 год истечения срока действия карты плательщика.
cvc_src нет 0-9 длина 3 цифры CVC/CVV карты плательщика.
card_token_src нет строка длина не более 64 символов Токен карты плательщика. Может использоваться вместо параметров: pan_srcexp_month_src и exp_year_src, если карта плательщика была токенизирована ранее.
msisdn_src нет 0-9 длина 11 цифр Номер мобильного телефона отправителя в международном формате.
first_name_src нет строка длина не более 50 символов Имя отправителя.
middle_name_src нет строка длина не более 50 символов Отчество отправителя.
last_name_src нет строка длина не более 50 символов Фамилия отправителя.
bank_id_src нет 0-9 12 цифр Идентификатор банка отправителя.
bank_account_id_src нет 0-9 20 цифр Номер банковского счета отправителя.
pan_dst нет 0-9 длина от 16 до 19 цифр PAN карты получателя.
card_token_dst нет строка длина не более 64 символов Токен карты получателя. Может использоваться вместо параметра pan_dst, если карта получателя была токенизирована ранее.
msisdn_dst нет 0-9 длина 11 цифр Номер мобильного телефона получателя в международном формате.
first_name_dst нет строка длина не более 50 символов Имя получателя.
middle_name_dst нет строка длина не более 50 символов Отчество получателя.
last_name_dst нет строка длина не более 50 символов Фамилия получателя.
bank_id_dst нет 0-9 12 цифр Идентификатор банка получателя.
bank_account_id_dst нет 0-9 20 цифр Номер банковского счета получателя.
callback_url нет строка (URL) длина от 11 до 512 символов URL системы мерчанта, на который система PSP по завершению операции отправит коллбэк, содержащий результат операции. В рамках коллбэка данные передаются методом POST в формате, аналогичном формату онлайн-ответа (application/json).
return_url нет строка (URL) длина от 11 до 1024 символов URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP.
return_url_success нет строка (URL) длина от 11 до 512 символов Аналог return_url, используемый только в случае, если операция завершена успешно.
return_url_fail нет строка (URL) длина от 11 до 512 символов Аналог return_url, используемый только в случае, если операция завершена неуспешно.
sbp_qr_timeout нет 0-9 1 - 129600 Период в секундах, в течение которого будет возможна оплата по платёжной ссылке (QR-коду). Минимальное значение — одна минута, максимальное значение – 129600 (90 дней в минутах). Если значение не задано, будет использоваться значение по умолчанию - 20 минут. Поддерживается не всеми эквайерами.
card_tokenization _mode_src нет строка 20

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

Если задано значение "1", система будет выполнять токенизацию входных данных и создавать рекурренты на основе полученного токена.

card_tokenization_dst нет строка 20

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

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

tds_mode нет строка 0 - 5 Определяет, следует ли использовать 3DS для транзакции. Если задано значение "force", то 3DS будет активирован, в противном случае - нет.
receipt нет строка 1 - 10000 Передача фискальных данных, строка в формате json
sign да 0-9a-z длина не более 128 символов Подпись запроса в API. Каждый запрос в API PSP мерчант должен подписывать по алгоритму, описанному ниже в данном разделе. В ответ на запросы с некорректной подписью будет возвращена ошибка.
sub_merchant_id нет 0-9 15 цифр Идентификатор ТСП, зарегистрированный в НСПК.
sub_merchant _terminal_id нет строка 8 символов Идентификатор ТСП, зарегистрированный в НСПК.
facilitator_merchant _name нет строка латинские буквы + цифры + звездочка + разделители, длина от 3 до 22 символов Название ТСП, зарегистрированное в НСПК.
merchant_inn нет 0-9 длина от 10 до 12 цифр ИНН ТСП
bank_bic_dst нет строка 9 символов БИК банка получателя.

Ответы

Структура ответа

Название параметра Обязательный Тип данных Описание
id_request да строка Уникальный идентификатор запроса.
id_request_parent нет строка Уникальный идентификатор запроса родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. Например, при выполнении возврата (refund).
id_order нет строка Уникальный идентификатор заказа.
id_order_parent нет строка Уникальный идентификатор заказа родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. Например, при выполнении возврата (refund).
state_fin_operation нет строка Статус операции (справочник статусов приведен ниже). Является однозначным критерием определения успешности/неуспешности операции (см. справочник статусов).
state_fin_operation_parent нет строка Статус родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. Например, при выполнении возврата (refund). Позволяет определить, в каком статусе находится родительская операция после выполнения текущей операции.
amount нет число с 2-мя знаками после запятой Сумма операции.
amount_authorized нет число с 2-мя знаками после запятой Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет число с 2-мя знаками после запятой Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет число с 2-мя знаками после запятой Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет число с 2-мя знаками после запятой Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id Нет строка Идентификатор операции, присвоенный процессором.
rrn нет строка RRN операции.
auth_code нет строка Код авторизации операции.
sbp_qr_id нет строка Идентификатор QR-кода СБП.
sbp_transaction_id нет строка Идентификатор операции СБП.
card_token_src нет строка Токен карты плательщика. Возвращается в том случае, если имела место токенизация карты плательщика.
card_token_last_4_src нет строка Последние 4 цифры номера карты плательщика. Возвращается в том случае, если имела место токенизация карты плательщика.
card_token_dst нет строка Токен карты получателя. Возвращается в том случае, если имела место токенизация карты получателя.
card_token_last_4_dst нет строка Последние 4 цифры номера карты получателя. Возвращается в том случае, если имела место токенизация карты получателя.
amount_parent нет число с 2-мя знаками после запятой Сумма родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
amount_authorized_parent нет число с 2-мя знаками после запятой Сумма, заблокированная на счете плательщика в рамках родительской операции, и не отправленная на клиринг. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
amount_captured_parent нет число с 2-мя знаками после запятой Сумма, которая в рамках родительской операции отправлена на клиринг. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
amount_cancelled_parent нет число с 2-мя знаками после запятой Сумма, которая была разблокирована на счете плательщика в рамках родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
amount_refunded_parent нет число с 2-мя знаками после запятой Сумма, которая была возвращена на счет плательщика в рамках родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
processor_transaction_id_parent нет строка Идентификатор родительской операции, присвоенный процессором. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
rrn_parent нет строка RRN родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
auth_code_parent нет строка Код авторизации родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
sbp_qr_id_parent нет строка Идентификатор QR-кода СБП для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
sbp_transaction_id_parent нет строка Идентификатор операции СБП для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
card_token_src_parent нет строка Токен карты плательщика для родительской операции. Возвращается в том случае, если имела место токенизация карты плательщика.
card_token_last_4_src_parent нет строка Последние 4 цифры номера карты плательщика для родительской операции. Возвращается в том случае, если имела место токенизация карты плательщика.
card_token_dst_parent нет строка Токен карты получателя для родительской операции. Возвращается в том случае, если имела место токенизация карты получателя.
card_token_last_4_dst_parent нет строка Последние 4 цифры номера карты получателя для родительской операции. Возвращается в том случае, если имела место токенизация карты получателя.
response_code да целое число Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да строка Текстовое пояснение к response_code.
processor_name нет строка Наименование фактического процессора операции.
processor_code нет массив целых чисел Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет массив строк Текстов(ое, ые) пояснени(е, я) к processor_code.
processor_code_parent нет массив целых чисел processor_code для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
processor_desc_parent нет массив строк processor_desc для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция.
auth_ext_url нет строка URL, на который необходимо отправить браузер плательщика для старта процедуры аутентификации 3DS.
sbp_link нет строка Ссылка (deep link/universal link), позволяющая инициировать оплату через СБП на мобильном устройстве посредством выбранного плательщиком приложения банка.
sbp_qr_media_type нет строка Формат изображения, содержащегося в параметре sbp_qr.
sbp_qr нет строка Закодированное в формате base64 изображение QR-кода СБП.
card_pan_masked_src нет строка Маскированный номер платежной карты источника.
card_payment_system_src нет строка Платежная система карты источника.
card_issuer_country_src нет строка Страна, в которой выпущена платежная карта источника.
card_issuer_name_src нет строка Название банка-эмитента платежной карты источника.
sign да строка Подпись ответа API. Ответ API PSP может быть подписан по алгоритму, описанному ниже. Проверка подписи онлайн-ответа не является обязательной и реализуется на усмотрение мерчанта. Ответы, доставленные мерчанту посредством коллбэков, подписываются PSP в обязательном порядке. Мерчант обязан проверять подпись при парсинге данных коллбэка.

Справочник статусов финансовой операции

Статус операции позволяет однозначно определить:

  • ее успешность/неуспешность (параметр ответа state_fin_operation),
  • состояние, в которое перешла родительская операция после применения к ней текущей операции (параметр ответа state_fin_operation_parent).
Статус Описание
initiated Инициирована. Запрос на выполнение операции прошел первичные проверки (корректность входных параметров и подпись) и начал обрабатываться API PSP.
input_data_waiting Ожидание входных данных. Например, ожидание ввода данных карты на платежной форме.
pending В обработке на стороне процессора. Конечный результат операции на момент данного статуса неизвестен.
auth_ext_ready Готова к внешней аутентификации. Мерчанту отправлены данные, необходимые для инициации процедуры аутентификации плательщика (3DS).
auth_ext_started Внешняя аутентификация началась. Плательщик стартовал процедуру аутентификации (3DS).
auth_ext_finished Внешняя аутентификация завершилась. Плательщик завершил процедуру аутентификации (3DS). Ее результат на момент данного статуса неизвестен.
authorized Авторизована, ожидает подтверждения. Денежные средства в размере суммы операции заморожены на счете плательщика. Для отправки операции на клиринг необходимо дополнительное подтверждение. Данный статус является однозначным признаком успешности операции.
captured Подтверждена, готова к возмещению. Операция будет отправлена процессором на клиринг при ближайшей возможности (определяется процессором). Данный статус является однозначным признаком успешности операции.
cancelled_partially Отменена частично. Клиринг по операции будет произведен на сумму, меньшую оригинальной суммы операции.
cancelled Отменена. Клиринг по операции произведен не будет.
refunded_partially Возвращена частично. Плательщику будет возвращена часть оригинальной суммы операции.
refunded Возвращена. Плательщику будет возвращена вся сумма операции.
declined Отклонена процессором. Причина отклонения может быть определена на основании значений параметров processor_code и processor_desc.
failed Отклонена PSP. Причина отклонения может быть определена на основании значений параметров response_code и response_desc.
unknown Нет информации о статусе. Данный статус имеет место при возникновении нештатных ситуаций в процессе коммуникации PSP и процессора. Например, если PSP не получил ответ от процессора (таймаут). В таких ситуациях рекомендуется использовать метод status API PSP для определения фактического статуса операции.
expired Просрочена. Операция достигла истечения срока действия без завершения или подтверждения.

Общий алгоритм определения результата операции

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

  1. Анализ response_code. Равенство 0 (нулю) означает, что обмен данными между системами PSP и процессора произошел корректно. Неравенство 0 (нулю) означает либо ошибку в процессе подготовки данных для отправки процессору (операция не выполнена), либо получение от процессора некорректного ответа / не получения ответа вовсе (фактический статус операции, при необходимости, может быть запрошен при помощи метода status API PSP).
  2. Анализ state_fin_operation и/или state_fin_operation_parent согласно справочнику (см. предыдущий раздел настоящего документа) для определения статусов текущей и/или родительской операций.

Финансовый результат операции определяется только значением параметра state_fin_operation. Значения authorized и captured являются однозначными признаками успешности операции, declined и failed – неуспешности. Подробная информация о трактовке статусов финансовых операций приведена в предыдущем разделе настоящего документа.

Если response_code не равен 0 (нулю) и state_fin_operation в ответе отсутствует, это означает, что финансовая операция даже не была инициирована (неуспешна).

Если response_code не равен 0 (нулю) и state_fin_operation=unknown, фактический статус операции должен быть запрошен при помощи метода status API PSP.

Справочник кодов ошибок процессора (ISO8583)

Если кодировка ошибок на стороне системы процессора соответствует спецификации ISO8583, то для интерпретации причины отказа процессора в проведении операции можно использовать следующую таблицу. Следует иметь ввиду, что некоторые процессоры возвращают более одного кода ответа (соответствующий параметр processor_code в ответе системы PSP имеет тип «массив»). В таком случае, основной код, определяющий результат операции, возвращается первым элементом массива.

Код Сообщение Перевод ошибки
00 Successfully completed Успешно завершено
01 Refer to card issuer Отказ банка-эмитента.
02 Refer to card issuer's special condition Отказ банка-эмитента.
03 Invalid merchant / source Мерчант настроен некорректно / Недействительный идентификатор продавца
04 PICK UP Карта утеряна/Отказ банка-эмитента
05 Do not Honour Транзакция была отклонена эмитентом без объяснения причин
06 Error Ошибка
07 Pick-up card, special condition Карта утеряна/Отказ банка-эмитента
08 Honour with identification Не пройдена идентификация, проблема с идентификацией
09 Request in progress Выполняется запрос
10 Approved for partial amount Одобрено для частичной суммы
11 Approved (VIP) Одобрено для VIP, программа VIP
12 Invalid transaction Запрошенная транзакция не поддерживается или недействительна для представленного номера карты
13 Invalid amount

неверная сумма

14 No such card Такая карта не существует
15 No such issuer Указан неверный номер карты
16 Approved, update track 3 Утверждено, обновить
17 Customer cancellation Отмена клиентом
18 Customer dispute Открыт спор с клиентом
19 Re-enter transaction Клиент должен повторно отправить транзакцию
20 Invalid response Неверный ответ
21 No action taken Никаких действий не предпринимается. Эмитент отказался без других объяснений
22 Suspected malfunction Предполагаемая неисправность
23 Unacceptable transaction fee Неприемлемая комиссия за транзакцию
24 File update not supported by receiver Обновление файла не поддерживается
25 No such record Невозможно найти запись
26 Duplicate record update, old record replaced Дублирующая запись
27 File update field edit error Ошибка редактирования обновления файла
28 File locked out while update Файл/обновления файла заблокировано
29 File update error, contact acquirer Ошибка обновления файла
30 Format error Ошибка формата
32 Completed partially Завершено частично
33 Pick-up, expired card Срок действия карты истек
34 Suspect Fraud Эмитент карты подозревает мошенничество
35 Pick-up, card acceptor contact acquirer Карта утеряна/необходимо обратиться к эмитенту
36 Pick up, card restricted Ограничено эмитентом карты/необходимо обратиться к эмитенту
37 Pick up, call acquirer security Карта утеряна/cвязаться со службой безопасности эквайера
38 Pick up, Allowable PIN tries exceeded Количество попыток получения PIN-кода превышает лимиты эмитента
39 No credit account Нет кредитного счета
40 Requested function not supported Запрошенная функция не поддерживается
41 Pick up, lost card Карта была утеряна
42 No universal account Нет универсальной учетной записи
43 Pick up, stolen card Карта была украдена
44 No investment account Нет инвестиционного счета
51 Not sufficient funds Недостаточно средств
52 No chequing account Нет текущего счета
53 No savings account Нет сберегательного счета
54 Expired card / target Срок действия карты истек
55 Incorrect PIN Неправильный PIN-код держателя карты
56 No card record Нет такой карты
57 Transaction not permitted to cardholder Операция не разрешена держателю карты. Карта не разрешена для запрошенного типа транзакции
58 Transaction not permitted to terminal Транзакция не разрешена на терминале. Продавцу запрещен этот тип транзакции (заблокирован терминал; сработало ограничение и т.д. необходимо уточнять подробности у эквайера)
59 Suspected fraud Предполагаемое мошенничество
60 Card acceptor contact acquirer Связаться с службой безопасности
61 Exceeds withdrawal amount limit

1) Для операции Pay - cумма превышает разрешенный суточный лимит (необходимо обратиться к эмитенту);

2) Для операций Payout - недостаточно средств на счете или превышен месячный лимит на терминале (необходимо обратиться к эквайеру).

62 Restricted card Карта заблокирована
63 Security violation Нарушение безопасности. Карта заблокирована
64 Wrong original amount Неверная исходная сумма
65 Exceeds withdrawal frequency limit Превышено допустимое количество ежедневных транзакций
66 Call acquirers security department Связаться со службой безопасности эквайера
68 Response received too late Ответ получен слишком поздно
70 Invalid transaction; contact card issuer Недействительная операция
71 Decline PIN not changed Отказ/пароль не удалось сменить
75 Allowable number of PIN tries exceeded Превышено количество попыток ввода PIN-кода
76 Wrong PIN, number of PIN tries exceeded Неверный PIN-код, количество попыток превышено
78 Record Not Found Запись не найдена
79 Already reversed Операция уже отменена
80 Network error Ошибка сети
81 Foreign network error / PIN cryptographic error Ошибка криптографии
82 Time-out at issuer system / Bad CVV (VISA) Введен неверный CVV код во время проведения платежа
83 Transaction failed Транзакция неуспешна
85 No reason to decline Причина для отказа неуказана 
86 Unable to validate PIN Невозможно проверить PIN-код
88 Cryptographic failure Ошибка криптографии
89 Authentication failure Ошибка аутентификации
90 Time-out at issuer system / Bad CVV (VISA) Введен неверный CVV код во время проведения платежа
91 Issuer or switch is inoperative/Issuer unavailable Эмитент недоступен
93 Cannot be completed, violation of law Операция отклонена. Держателю необходимо обратиться в свой банк
94 Duplicate Transmission Дублированная операция
95 Reconcile error / Auth Not found Возникает, когда операция была уже проведена.
96 System Malfunction Системная ошибка \ Возможно ошибки в параметрах запроса к платёжной системе
-2 Bad CGI request Запрос не прошел CGI-проверку
-3 No or Invalid response received Хост эквайрера (NS) не отвечает
-4 Server is not responding Нет соединения с хостом эквайрера
-5 Connect failed Ошибка соединения с хостом эквайрера (NS) во время обработки транзакции
-6 Configuration error Ошибка настройки модуля e-Gateway
-8 Error in card number field Ошибка в поле "Card number" запроса
-9 Error in card expiration date field Ошибка в поле "Card expiration date" запроса
-10 Error in amount field Ошибка в поле "Amount" запроса
-11 Error in currency field Ошибка в поле "Currency" запроса
-12 Error in merchant terminal field Ошибка в поле "Merchant ID" запроса
-15 Invalid Retrieval reference number Неверный номер
-16 Terminal is locked, please try again терминал заблокирован, попробуйте снова
-17 Access denied Отказано в доступе (Возможно ошибка при формировании P_SIGN)
-18 Error in CVC2 or CVC2 Description fields Ошибка в поле CVC2
-19 Authentication failed Аутентификация прошла неуспешно (3d-secure), возможны другие причины.
-20 Expired transaction Время проведения операции превышает значение параметра TIMESTAMP
-21 Duplicate transaction Отправлен повторный запрос с идентичными параметрами
-26 Invalid action BIN Неверный бин 
-29 Invalid/duplicate authentication reference Неверная/повторяющаяся ссылка на аутентификацию

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

В случае возникновения ошибки в процессе обработки запроса на стороне системы PSP, в ответе в обязательном порядке присутствуют следующие значения параметров:

  • response_code, не равный 0 (нулю), позволяет определить тип ошибки,
  • response_desc, не равный “success”, позволяет определить причину ошибки, состоит из трех частей, разделенных символом “|” (вертикальная черта):
    • общее сообщение – соответствует коду ошибки и позволяет быстрее определить тип ошибки,
    • место возникновения (может отсутствовать в зависимости от настроек на стороне системы PSP) – указывает на модуль и функцию, где произошла ошибка (информация имеет ценность исключительно для службы технической поддержки PSP),
    • детализация – содержит детальную информацию об ошибке.
Код Общее сообщение Описание
Общие уровня системы
100000 DB CONNECT ERROR Ошибка подключения к БД PSP
100001 DB QUERY ERROR Ошибка исполнения запроса к БД PSP
100002 INPUT DATA ERROR Ошибка входных данных
100003 INTERNAL ERROR Внутренняя ошибка
100004 NOT FOUND Сущность не найдена
100005 CLIENT AUTH ERROR Ошибка аутентификации клиента
Ошибки уровня службы
101000 INTERNAL ERROR Внутренняя ошибка
101001 NOT FOUND Сущность не найдена
101002 SECURITY VIOLATION Ошибка безопасности
101003 INPUT DATA ERROR Ошибка входных данных
101005 DUPLICATE ID Ошибка дублирования данных
Ошибки уровня интерфейса
102000 INTERNAL ERROR Внутренняя ошибка
102001 NOT FOUND Сущность не найдена
102002 REQUEST OUT DATA ERROR Ошибка в данных исходящего запроса
102003 RESPONSE OUT DATA ERROR Ошибка в данных исходящего ответа
102004 REQUEST IN DATA ERROR Ошибка в данных входящего запроса
102005 RESPONSE IN DATA ERROR Ошибка в данных входящего ответа
102006 SECURITY VIOLATION Ошибка безопасности
102007 INPUT DATA ERROR Ошибка входных данных
Ошибки уровня сущности
103000 INTERNAL ERROR Внутренняя ошибка
103001 NOT FOUND Сущность не найдена
Ошибки уровня HTTP
104000 HTTP REQUEST ERROR Ошибка при выполнении HTTP-запроса.
Как правило, возникает при коммуникационных проблемах между системами PSP и процессора.

Коллбэки

Если в наборе входных параметров операции присутствует параметр callback_url, система PSP отправит коллбэк с результатом операции либо на callback_url, либо на URL, прописанный в настройках мерчанта в системе PSP. Данные в рамках коллбэка передаются методом POST. Структура полностью аналогична описанной выше структуре ответа. Прежде чем интерпретировать результат коллбэка мерчант обязан проверить подпись (см. выше раздел «Подпись запроса/ответа»). В случае несовпадения подписей, вычисленной мерчантом и полученной в коллбэке, мерчант игнорирует данные коллбэка. При наличии у мерчанта технической возможности, рекомендуется принимать коллбэки только с IP-адресов, указанных PSP.

Подпись запроса/ответа

Каждый запрос в API PSP должен быть подписан секретным ключом по алгоритму hmac-sha256. В части ответов API PSP, обязательность подписи распространяется только на коллбэки. Подпись онлайн-ответов может быть включена по желанию мерчанта. Секретный ключ выдается при регистрации мерчанта в системе PSP вместе с id_client. Значение hmac-sha256 вычисляется от строки, сформированной на основании параметров запроса/ответа, следующим образом (в строку входят все фактические параметры запроса/ответа, кроме sign, в котором передается подпись, и параметров, в описании которых явно указано, что они не учитываются при вычислении подписи).

name1=value1,name2=value2,…,nameN=valueN

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

method=c2b,fin_instrument=acquiring,id_client=test,id_request=e5d50146-04d1-4071,currency=643,amount=970.0,pan_src=5547810000004672,exp_month_src=03,exp_year_src=2023,cvc_src=123,return_url_success=https:/mysite.com/success,return_url_fail=https://mysite.com/fail,callback_url=https://mysite.com/callback

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

Если в запросе/ответе имеет место параметр типа «массив», например, «”processor_code”:[25,52]», то в строку для вычисления подписи он войдет следующим образом:

…,processor_code=25,processor_code=52,…

Полученное значение hmac-sha256 передается в параметре sign.

Алгоритм взаимодействия плательщика, мерчанта и PSP при выполнении платежа

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

  1. Мерчант инициирует финансовую операцию оплаты (например, method=c2b, fin_instrument=acquiring).
  2. Плательщик на платежной странице мерчанта или PSP вводит реквизиты платежного инструмента (например, банковской карты).
  3. PSP получает от процессора информацию о необходимости дополнительной аутентификации плательщика (3DS).
  4. Если дополнительная аутентификация не требуется, PSP возвращает онлайн-ответ, содержащий результат операции, мерчанту. При необходимости мерчанту отправляется коллбэк, содержащий аналогичную информацию. В случае использования плательщиком платежной страницы PSP, ему отображается страница с результатом операции. На этом взаимодействие завершается.
  5. Если дополнительная аутентификация требуется, PSP возвращает мерчанту онлайн-ответ, содержащий URL, на который необходимо отправить браузер плательщика для прохождения аутентификации. В случае использования плательщиком платежной страницы PSP, происходит автоматический редирект его браузера на данный URL.
  6. Плательщик проходит дополнительную аутентификацию (ответственность за данный процесс лежит на эквайере и эмитенте).
  7. После завершения процесса аутентификации, браузер плательщика отправляется на URL PSP. В случае использования плательщиком платежной страницы PSP, ему отображается страница с результатом операции. В противном случае, PSP осуществляет редирект браузера плательщика на URL, указанный в параметре return_url или настроенный статически на стороне PSP. В случае необходимости, PSP отправляет мерчанту коллбэк, содержащий результат операцииНа этом взаимодействие завершается.

Финансовые операции

Определение результата финансовой операции

Результатом финансовой операции является движение денежных средств между ее участниками. Тип финансовой операции определяется совокупностью значений двух параметров запроса: method и fin_instrument. Например, method=c2b и fin_instrument=acquiring определяет тип финансовой операции «эквайринг», а method=c2b и fin_instrument=transfer – «перевод с банковской карты физического лица на счет юридического лица». Ниже приведены все поддерживаемые типы финансовых операций с указанием наборов параметров запросов и ответов.

Эквайринг

Списание денежных средств с банковской карты физического лица в пользу юридического лица (мерчанта).

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение c2b.
method_mode нет Значение preauth (предавторизация) означает необходимость вызова метода capture для отправки операции на клиринг. Во всех остальных кейсах параметр не передается.
fin_instrument да Должен иметь значение acquiring.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_order да Уникальный идентификатор заказа.
amount да Сумма операции.
currency нет ISO-код валюты операции.
desc_public нет Описание операции, которое отображается на платежной странице.
desc_private нет Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности).
add_info нет Параметр для передачи дополнительной инфомрации (при наличии у него технической возможности).
pan_src нет PAN карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
exp_month_src нет Месяц истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
exp_year_src нет Год истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
cvc_src нет CVC/CVV карты плательщика.
card_token_src нет Токен карты плательщика. Заменяет параметры: pan_srcexp_month_srcexp_year_src.
callback_url нет URL системы мерчанта, на который система PSP по завершению операции отправит коллбэк, содержащий результат операции.
return_url нет URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP.
return_url_success нет Аналог return_url, используемый только в случае, если операция завершена успешно.
return_url_fail нет Аналог return_url, используемый только в случае, если операция завершена неуспешно.
card_tokenization_mode_src нет

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

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

tds_mode нет Определяет, следует ли использовать 3DS для транзакции. Если задано значение "force", то 3DS будет активирован, в противном случае - нет.
sign да Подпись запроса в API.
sub_merchant_id нет Идентификатор ТСП, зарегистрированный в НСПК.
sub_merchant_terminal_id нет Идентификатор ТСП, зарегистрированный в НСПК.
facilitator_merchant_name нет Название ТСП, зарегистрированное в НСПК.
merchant_inn нет ИНН ТСП

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_order нет Уникальный идентификатор заказа.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
rrn нет RRN операции.
auth_code нет Код авторизации операции.
card_token_src нет Токен карты плательщика.
card_token_last_4_src нет Последние 4 цифры номера карты плательщика.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
auth_ext_url нет URL, на который необходимо отправить браузер плательщика для старта процедуры аутентификации 3DS.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 256
method=c2b&fin_instrument=acquiring&id_client=test&id_request=202205161942&amount=11.11&desc_public=%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%20%D0%BA%D1%83%D1%80%D1%81%D0%B0&pan_src=4146577820125130&exp_month_src=11&exp_year_src=2024&cvc_src=764&sign=signature

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

{
   "id_request":"202205161942",
   "id_order":"123456",
   "state_fin_operation":"auth_ext_ready",
   "amount":11.11,
   "amount_authorized":0,
   "amount_captured":0,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"5CEA2D50295C1FAE",
   "rrn":"",
   "auth_code":"",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "auth_ext_url":"https://api.pay2me.com/public/?id=auth_ext&id_auth_ext_session=gutw1scol6t2u9iw",
   "sign":"signature"
}

AFT

Перевод денежных средств со счета банковской карты физического лица на счет юридического лица (мерчанта).

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение c2b.
fin_instrument да Должен иметь значение transfer.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_order да Уникальный идентификатор заказа.
amount да Сумма операции.
currency нет ISO-код валюты операции.
desc_public нет Описание операции, которое отображается на платежной странице.
desc_private нет Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности).
pan_src нет PAN карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
exp_month_src нет Месяц истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
exp_year_src нет Год истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
cvc_src нет CVC/CVV карты плательщика.
card_token_src нет Токен карты плательщика. Заменяет параметры: pan_srcexp_month_srcexp_year_src.
callback_url нет URL системы мерчанта, на который система PSP по завершению операции отправит коллбэк, содержащий результат операции.
return_url нет URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP.
return_url_success нет Аналог return_url, используемый только в случае, если операция завершена успешно.
return_url_fail нет Аналог return_url, используемый только в случае, если операция завершена неуспешно.
card_tokenization_mode_src нет

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

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

sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_order нет Уникальный идентификатор заказа.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
rrn нет RRN операции.
auth_code нет Код авторизации операции.
card_token_src нет Токен карты плательщика.
card_token_last_4_src нет Последние 4 цифры номера карты плательщика.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
auth_ext_url нет URL, на который необходимо отправить браузер плательщика для старта процедуры аутентификации 3DS.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 255
method=c2b&fin_instrument=transfer&id_client=test&id_request=202205161942&amount=11.11&desc_public=%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%20%D0%BA%D1%83%D1%80%D1%81%D0%B0&pan_src=4146577820125130&exp_month_src=11&exp_year_src=2024&cvc_src=764&sign=signature

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

{ 
"id_request": "202205161942", 
"id_order": "123456", 
"state_fin_operation": "auth_ext_ready", 
"amount": 11.11, 
"amount_authorized": 0, 
"amount_captured": 0, 
"amount_cancelled": 0, 
"amount_refunded": 0, 
"processor_transaction_id": "5CEA2D50295C1FAE", 
"rrn": "", 
"auth_code": "", 
"response_code": 0, 
"response_desc": "success", 
"processor_name": "ПромСвязьБанк", 
"auth_ext_url": "https://api.pay2me.com/public/?id=auth_ext&id_auth_ext_session=gutw1scol6t2u9iw", 
"sign": "signature" 
}

OCT

Перевод денежных средств со счета юридического лица (мерчанта) на счет банковской карты физического лица.

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение b2c.
fin_instrument да Должен иметь значение transfer.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_order нет Уникальный идентификатор заказа.
amount да Сумма операции.
currency нет ISO-код валюты операции.
desc_public нет Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности).
bank_account_id_src нет Номер банковского счета отправителя.
pan_dst нет PAN карты получателя. Является обязательным при отсутствии в запросе параметра card_token_dst и не передается при его наличии.
card_token_dst нет Токен карты получателя. Заменяет параметр pan_dst.
first_name_dst нет Имя получателя.
last_name_dst нет Фамилия получателя.
callback_url нет URL системы мерчанта, на который система PSP по завершению операции отправит коллбэк, содержащий результат операции.
card_tokenization_dst нет

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

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

sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_order нет Уникальный идентификатор заказа.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
rrn нет RRN операции.
auth_code нет Код авторизации операции.
card_token_dst нет Токен карты получателя.
card_token_last_4_dst нет Последние 4 цифры номера карты получателя.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 126
method=b2c&fin_instrument=transfer&id_client=test&id_request=202205161942&amount=11.11&pan_dst=4146577820125130&sign=signature

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

{
   "id_request":"202205161942",
   "id_order":"123456",
   "state_fin_operation":"captured",
   "amount":11.11,
   "amount_authorized":0,
   "amount_captured":11.11,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"5CEA2D50295C1FAE",
   "rrn":"123456789012",
   "auth_code":"123456",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "processor_code":[
      0,
      0
   ],
   "processor_desc":[
      "Approved"
   ],
   "sign":"signature"
}

Перевод C2C

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

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение c2c.
fin_instrument да Должен иметь значение transfer.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_order нет Уникальный идентификатор заказа.
amount да Сумма операции.
currency нет ISO-код валюты операции.
desc_public нет Описание операции, которое отображается на платежной странице.
desc_private нет Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности).
add_info нет Параметр для передачи дополнительной инфомрации (при наличии у него технической возможности).
pan_src нет PAN карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
exp_month_src нет Месяц истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
exp_year_src нет Год истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии.
cvc_src нет CVC/CVV карты плательщика.
card_token_src нет Токен карты плательщика. Заменяет параметры: pan_srcexp_month_srcexp_year_src.
pan_dst нет PAN карты получателя. Является обязательным при отсутствии в запросе параметра card_token_dst и не передается при его наличии.
card_token_dst нет Токен карты получателя. Заменяет параметр pan_dst.
callback_url нет URL системы мерчанта, на который система PSP по завершению операции отправит коллбэк, содержащий результат операции.
return_url нет URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP.
return_url_success нет Аналог return_url, используемый только в случае, если операция завершена успешно.
return_url_fail нет Аналог return_url, используемый только в случае, если операция завершена неуспешно.
card_tokenization_mode_src нет

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

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

sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_order нет Уникальный идентификатор заказа.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
rrn нет RRN операции.
auth_code нет Код авторизации операции.
card_token_src нет Токен карты плательщика.
card_token_last_4_src нет Последние 4 цифры номера карты плательщика.
card_token_dst нет Токен карты получателя.
card_token_last_4_dst нет Последние 4 цифры номера карты получателя.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
auth_ext_url нет URL, на который необходимо отправить браузер плательщика для старта процедуры аутентификации 3DS.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 280
method=c2c&fin_instrument=transfer&id_client=test&id_request=202205161942&amount=11.11&desc_public=%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%20%D0%BA%D1%83%D1%80%D1%81%D0%B0&pan_src=4146577820125130&exp_month_src=11&exp_year_src=2024&cvc_src=764&pan_dst=4146577834487385&sign=signature

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

{
   "id_request":"202205161942",
   "id_order":"123456",
   "state_fin_operation":"auth_ext_ready",
   "amount":11.11,
   "amount_authorized":0,
   "amount_captured":0,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"5CEA2D50295C1FAE",
   "rrn":"",
   "auth_code":"",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "auth_ext_url":"https://api.pay2me.com/public/?id=auth_ext&id_auth_ext_session=gutw1scol6t2u9iw",
   "sign":"signature"
}

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

Перевод денежных средств со счета физического лица на счет юридического лица (мерчанта) посредством Системы Быстрых Платежей.

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение c2b.
fin_instrument да Должен иметь значение sbp.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_order нет Уникальный идентификатор заказа.
amount да Сумма операции.
desc_public нет Описание операции, которое отображается на платежной странице и экране подтверждения оплаты в банковском приложении плательщика.
desc_private нет Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности).
callback_url нет URL системы мерчанта, на который система PSP по завершению операции отправит коллбэк, содержащий результат операции.
return_url нет URL, на который система PSP вернет браузер плательщика после завершения процесса оплаты посредством платежной страницы на стороне PSP.
return_url_success нет Аналог return_url, используемый только в случае, если операция завершена успешно.
return_url_fail нет Аналог return_url, используемый только в случае, если операция завершена неуспешно.
card_tokenization_mode_src нет

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

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

sbp_qr_timeout нет Срок жизни QR-кода в минутах ( не более 20 мин ).
sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_order нет Уникальный идентификатор заказа.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
sbp_qr_id нет Идентификатор QR-кода СБП.
sbp_transaction_id нет Идентификатор операции СБП.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
sbp_link нет Ссылка (deep link/universal link), позволяющая инициировать оплату через СБП на мобильном устройстве посредством выбранного плательщиком приложения банка.
sbp_qr нет Закодированное в формате base64 изображение QR-кода СБП.
sbp_qr_media_type нет Формат изображения, содержащегося в параметре sbp_qr.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 178
method=c2b&fin_instrument=sbp&id_client=test&id_request=202205161942&amount=11.11&desc_public=%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%20%D0%BA%D1%83%D1%80%D1%81%D0%B0&sign=signature

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

{
   "id_request":"202205161942",
   "id_order":"123456",
   "state_fin_operation":"pending",
   "amount":11.11,
   "amount_authorized":0,
   "amount_captured":0,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"5CEA2D50295C1FAE",
   "sbp_qr_id":"AD100074RGN88G1L9EJATRAIGR2FKO6B",
   "sbp_transaction_id":"",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "sbp_link":"https://qr.nspk.ru/AD10002RND70DAGM90B84THR5BTHI72A?type=02&bank=100000000015&sum=1000&cur=RUB&crc=BAEB",
   "sbp_qr_media_type":"image/png",
   "sbp_qr":"iVBORw0KGgoAAAANSUhEUgAAASwAAA…",
   "sign":"signature"
}

Выплата B2C через СБП

Перевод денежных средств со счета юридического лица (мерчанта) на счет физического лица посредством Системы Быстрых Платежей.

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение b2c.
fin_instrument да Должен иметь значение sbp.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_order да Уникальный идентификатор заказа.
amount да Сумма операции.
desc_private нет Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности).
add_info нет Параметр для передачи дополнительной инфомрации (при наличии у него технической возможности).
bank_id_dst да Идентификатор банка получателя.
bank_bic_dst да БИК банка получателя.
msisdn_dst да Номер мобильного телефона получателя в международном формате.
callback_url нет URL системы мерчанта, на который система PSP по завершению операции отправит коллбэк, содержащий результат операции.
card_tokenization_dst нет

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

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

sbp_qr_timeout нет Срок жизни QR-кода в минутах ( не более 20 мин ).
sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_order нет Уникальный идентификатор заказа.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
sbp_transaction_id нет Идентификатор операции СБП.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
  Host: api.pay2me.com
  Content-Type: application/x-www-form-urlencoded
  Content-Length: 144
  method=b2c&fin_instrument=sbp&id_client=test&id_request=202205161942&amount=11.11&bank_id_dst=123456789012&msisdn_dst=79998887766&sign=signature

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

{
   "id_request":"202205161942",
   "id_order":"123456",
   "state_fin_operation":"captured",
   "amount":11.11,
   "amount_authorized":0,
   "amount_captured":11.11,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"5CEA2D50295C1FAE",
   "sbp_transaction_id":"A2153153147429010000056517BE1DD5",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "processor_code":[
      0,
      0
   ],
   "processor_desc":[
      "Approved"
   ],
   "sign":"signature"
}

Отмена

Полная или частичная разблокировка денежных средств на счете плательщика, заблокированных в результате родительской операции. Применима к операциям в статусе authorized. Конкретные нюансы реализации (срок разблокировки средств, возможность частичной разблокировки средств и т.п.) зависят от процессора.

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение cancel.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_request_parent нет Уникальный идентификатор запроса родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent.
id_order_parent нет Уникальный идентификатор заказа родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent.
amount нет Сумма операции. В случае отсутствия данного параметра в запросе, отмена проводится на полную сумму родительской операции.
sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_request_parent нет Уникальный идентификатор запроса родительской операции.
id_order нет Уникальный идентификатор заказа.
id_order_parent нет Уникальный идентификатор заказа родительской операции.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
rrn нет RRN операции.
auth_code нет Код авторизации операции.
state_fin_operation_parent нет Статус родительской операции.
amount_parent нет Сумма родительской операции.
amount_authorized_parent нет Сумма, заблокированная на счете плательщика в результате выполнения родительской операции, и не отправленная на клиринг.
amount_captured_parent нет Сумма, которая в результате выполнения родительской операции отправлена на клиринг.
amount_cancelled_parent нет Сумма, которая была разблокирована на счете плательщика в рамках родительской операции.
amount_refunded_parent нет Сумма, которая была возвращена на счет плательщика в рамках родительской операции.
processor_transaction_id_parent нет Идентификатор родительской операции, присвоенный процессором.
rrn_parent нет RRN родительской операции.
auth_code_parent нет Код авторизации родительской операции.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
processor_code_parent нет processor_code для родительской операции.
processor_desc_parent нет processor_desc для родительской операции.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 108
method=cancel&id_client=test&id_request=202205161942&id_request_parent=202205161941&amount=10&sign=signature

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

{
   "id_request":"202205161942",
   "id_request_parent":"202205161941",
   "id_order ":"123456",
   "id_order_parent":"123456",
   "state_fin_operation":"captured",
   "amount":10,
   "amount_authorized":0,
   "amount_captured":0,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"5CEA2D50295C1FAE",
   "rrn":"123456789012",
   "auth_code":"123456",
   "state_fin_operation_parent":"cancelled_partially",
   "amount_parent":11.11,
   "amount_authorized_parent":0,
   "amount_captured_parent":1.11,
   "amount_cancelled_parent":10,
   "amount_refunded_parent":0,
   "processor_transaction_id_parent":"5CEA2D50295C1FAE",
   "rrn_parent":"123456789012",
   "auth_code_parent":"123456",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "processor_code":[
      0,
      0
   ],
   "processor_desc":[
      "Approved"
   ],
   "processor_code_parent":[
      0,
      0
   ],
   "processor_desc_parent":[
      "Approved"
   ],
   "sign":"signature"
}

Возврат

Полный или частичный возврат денежных средств на счет плательщика, списанных в результате родительской операции. Применим к операциям в статусе captured. Конкретные нюансы реализации (срок возврата средств, возможность частичного возврата средств и т.п.) зависят от процессора.

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение refund.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_request_parent нет Уникальный идентификатор запроса родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent.
id_order_parent нет Уникальный идентификатор заказа родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent.
amount да Сумма операции.
sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_request_parent нет Уникальный идентификатор запроса родительской операции.
id_order нет Уникальный идентификатор заказа.
id_order_parent нет Уникальный идентификатор заказа родительской операции.
state_fin_operation нет Статус операции.
amount нет Сумма операции.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках операции, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках операции отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках операции.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках операции.
processor_transaction_id нет Идентификатор операции, присвоенный процессором.
rrn нет RRN операции.
auth_code нет Код авторизации операции.
sbp_transaction_id нет Идентификатор операции СБП.
state_fin_operation_parent нет Статус родительской операции.
amount_parent нет Сумма родительской операции.
amount_authorized_parent нет Сумма, заблокированная на счете плательщика в результате выполнения родительской операции, и не отправленная на клиринг.
amount_captured_parent нет Сумма, которая в результате выполнения родительской операции отправлена на клиринг.
amount_cancelled_parent нет Сумма, которая была разблокирована на счете плательщика в рамках родительской операции.
amount_refunded_parent нет Сумма, которая была возвращена на счет плательщика в рамках родительской операции.
processor_transaction_id_parent нет Идентификатор родительской операции, присвоенный процессором.
rrn_parent нет RRN родительской операции.
auth_code_parent нет Код авторизации родительской операции.
sbp_qr_id_parent нет Идентификатор QR-кода СБП родительской операции.
sbp_transaction_id_parent нет Идентификатор операции СБП родительской операции.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
processor_code_parent нет processor_code для родительской операции.
processor_desc_parent нет processor_desc для родительской операции.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 108
method=refund&id_client=test&id_request=202205161942&id_request_parent=202205161941&amount=10&sign=signature

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

{
   "id_request":"202205161942",
   "id_request_parent":"202205161941",
   "id_order ":"123456",
   "id_order_parent":"123456",
   "state_fin_operation":"captured",
   "amount":10,
   "amount_authorized":0,
   "amount_captured":0,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"5CEA2D50295C1FAE",
   "rrn":"123456789012",
   "auth_code":"123456",
   "state_fin_operation_parent":"refunded_partially",
   "amount_parent":11.11,
   "amount_authorized_parent":0,
   "amount_captured_parent":1.11,
   "amount_cancelled_parent":0,
   "amount_refunded_parent":10,
   "processor_transaction_id_parent":"5CEA2D50295C1FAE",
   "rrn_parent":"123456789012",
   "auth_code_parent":"123456",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "processor_code":[
      0,
      0
   ],
   "processor_desc":[
      "Approved"
   ],
   "processor_code_parent":[
      0,
      0
   ],
   "processor_desc_parent":[
      "Approved"
   ],
   "sign":"signature"
}

Запрос баланса

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

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение balance.
id_request да Уникальный идентификатор запроса в API.
id_client да Уникальный идентификатор
мерчанта (выдается при его
регистрации в системе PSP).
sign да Подпись запроса в API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 121

method=balance&id_request=20230808064556912&id_client=test&sign=signature

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

{
 "id_request": "2023-08-08T06:45:56.912Z",
 "response_code": 0,
 "response_desc": "success",
 "processor_name": "ПромСвязьБанк",
 "balance": "99013921.73",
 "sign": "signature"
}

Сервисные операции

Определение сервисной операции

Результатом сервисной операции является получение информации или выполнение какого-либо технического действия в рамках системы PSP. Выполнение сервисной операции не приводит к движению денежных средств. Тип сервисной операции определяется значением параметра запроса method. Ниже приведены все поддерживаемые типы сервисных операций с указанием наборов параметров запросов и ответов.

Запрос статуса

Получение информации о состоянии финансовой операции (родительская операция).

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение status.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_request_parent нет Уникальный идентификатор запроса родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent.
id_order_parent нет Уникальный идентификатор заказа родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent.
sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_request_parent нет Уникальный идентификатор запроса родительской операции.
id_order нет Уникальный идентификатор заказа.
id_order_parent нет Уникальный идентификатор заказа родительской операции.
state_fin_operation_parent нет Статус родительской операции.
amount_parent нет Сумма родительской операции.
amount_authorized_parent нет Сумма, заблокированная на счете плательщика в результате выполнения родительской операции, и не отправленная на клиринг.
amount_captured_parent нет Сумма, которая в результате выполнения родительской операции отправлена на клиринг.
amount_cancelled_parent нет Сумма, которая была разблокирована на счете плательщика в рамках родительской операции.
amount_refunded_parent нет Сумма, которая была возвращена на счет плательщика в рамках родительской операции.
processor_transaction_id_parent нет Идентификатор родительской операции, присвоенный процессором.
rrn_parent нет RRN родительской операции.
auth_code_parent нет Код авторизации родительской операции.
sbp_qr_id_parent нет Идентификатор QR-кода СБП родительской операции.
sbp_transaction_id_parent нет Идентификатор операции СБП родительской операции.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора родительской операции.
processor_code_parent нет Код(ы) ответ(а, ов), которые вернул фактический процессор родительской операции.
processor_desc_parent нет Текстов(ое, ые) пояснени(е, я) к processor_code_parent.
auth_ext_url нет URL, на который необходимо отправить браузер плательщика для старта процедуры аутентификации 3DS.
sbp_link нет Ссылка (deep link), позволяющая инициировать оплату через СБП на мобильном устройстве посредством выбранного плательщиком приложения банка.
sbp_qr_media_type нет Формат изображения, содержащегося в параметре sbp_qr.
sbp_qr нет Закодированное в формате base64 изображение QR-кода СБП.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 98
method=status&id_client=test&id_request=202205161942&id_request_parent=202205161941&sign=signature

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

{
   "id_request":"202205161942",
   "id_request_parent":"202205161941",
   "id_order ":"123456",
   "id_order_parent":"123456",
   "state_fin_operation_parent":"cancelled_partially",
   "amount_parent":11.11,
   "amount_authorized_parent":0,
   "amount_captured_parent":1.11,
   "amount_cancelled_parent":10,
   "amount_refunded_parent":0,
   "processor_transaction_id_parent":"5CEA2D50295C1FAE",
   "rrn_parent":"123456789012",
   "auth_code_parent":"123456",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "processor_code_parent":[
      0,
      0
   ],
   "processor_desc_parent":[
      "Approved"
   ],
   "sign":"signature"
}

Запрос списка банков-участников СБП

Получение актуального списка банков-участников Системы Быстрых Платежей.

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение bank_list.
fin_instrument да Должен иметь значение sbp.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
bank_list нет Список банков. Обратите внимание! Данный параметр не входит в подпись ответа (sign).
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 89
method=bank_list&fin_instrument=sbp&id_client=test&id_request=202205161942&sign=signature

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

{
   "id_request":"202205161942",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "bank_list":[
      "…"
   ],
   "sign":"signature"
}

Создание заказа

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

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение create_order.
method_mode нет Должен иметь значение preauth.
method_order нет Передается в рамках выплаты со значением b2c.
id_client да

Уникальный идентификатор мерчанта.

id_request да Уникальный идентификатор запроса в API.
id_order да Уникальный идентификатор заказа.
fin_instrument да Финансовый инструмент, определяет конкретный способ реализации платежного метода.
payment_page_method нет Выбор методов оплаты, которые будут отражены на платежной странице.
amount да Сумма заказа.
currency нет ISO-код валюты заказа.
desc_public нет Описание заказа, которое отображается на платежной странице.
desc_private нет Описание заказа, которое возвращается в реестрах процессора (при наличии у него технической возможности).
add_info нет Параметр для передачи дополнительной инфомрации (при наличии у него технической возможности).
payment_page_session_life_time нет передача желаемого времени жизни платежной ссылки в минутах в диапазоне от 1 минуты до 365 дней.
callback_url нет URL системы мерчанта, на который система PSP по завершению оплаты заказа отправит коллбэк, содержащий результат оплаты.
return_url нет URL, на который система PSP вернет браузер плательщика после завершения процесса оплаты посредством платежной страницы на стороне PSP.
return_url_success нет Аналог return_url, используемый только в случае, если заказ оплачен успешно.
return_url_fail нет Аналог return_url, используемый только в случае, если при оплате заказа произошла ошибка.
tds_mode нет Определяет, следует ли использовать 3DS для транзакции. Если задано значение "force", то 3DS будет активирован, в противном случае - нет.
sign да Подпись запроса в API.
sub_merchant_id нет Идентификатор ТСП, зарегистрированный в НСПК.
sub_merchant_terminal_id нет Идентификатор ТСП, зарегистрированный в НСПК.
facilitator_merchant_name нет Название ТСП, зарегистрированное в НСПК.
merchant_inn нет ИНН ТСП

Ответ

Название параметра Обязательный Описание
request да Уникальный идентификатор запроса.
id_order нет Уникальный идентификатор заказа.
state_fin_operation нет Статус заказа.
amount нет Сумма заказа.
amount_authorized нет Сумма, заблокированная на счете плательщика в рамках заказа, и не отправленная на клиринг.
amount_captured нет Сумма, которая в рамках заказа отправлена на клиринг.
amount_cancelled нет Сумма, которая была разблокирована на счете плательщика в рамках заказа.
amount_refunded нет Сумма, которая была возвращена на счет плательщика в рамках заказа.
processor_transaction_id нет Идентификатор заказа, присвоенный процессором.
rrn нет RRN операции оплаты заказа.
auth_code нет Код авторизации операции оплаты заказа.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора операции.
processor_code нет Код(ы) ответ(а, ов), которые вернул фактический процессор операции.
processor_desc нет Текстов(ое, ые) пояснени(е, я) к processor_code.
payment_page_url нет URL, на который необходимо отправить браузер плательщика для оплаты заказа.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 89
method=create_order&id_client=test&id_request=202205161942&id_order=123456&amount=11.11&desc_public=%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%20%D0%BA%D1%83%D1%80%D1%81%D0%B0&sign=signature

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

{
   "id_request":"202205161942",
   "id_order":"123456",
   "state_fin_operation":"initiated",
   "amount":11.11,
   "amount_authorized":0,
   "amount_captured":0,
   "amount_cancelled":0,
   "amount_refunded":0,
   "processor_transaction_id":"",
   "rrn":"",
   "auth_code":"",
   "response_code":0,
   "response_desc":"success",
   "processor_name":"ПромСвязьБанк",
   "payment_page_url":"https://api.pay2me.com/public/?id=payment_page&id_payment_page_session=1ofegrhy9x9z4q5f",
   "sign":"signature"
}

Создание ссылки на оплату заказа

Создание ссылки на оплату заказа. Метод используется для создания новой ссылки взамен ссылки с истекшим сроком действия или взамен ссылки, по которой имела место неуспешная попытка оплаты заказа.

Запрос

Название параметра Обязательный Описание
method да Должен иметь значение create_payment_page_url.
id_client да Уникальный идентификатор мерчанта.
id_request да Уникальный идентификатор запроса в API.
id_request_parent нет Уникальный идентификатор запроса родительской операции, для которой создается ссылка на оплату. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent.
id_order_parent нет Уникальный идентификатор заказа родительской операции, для которой создается ссылка на оплату. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent.
sign да Подпись запроса в API.

Ответ

Название параметра Обязательный Описание
id_request да Уникальный идентификатор запроса.
id_request_parent нет Уникальный идентификатор запроса родительского заказа.
id_order_parent нет Уникальный идентификатор заказа, к которому создается ссылка на оплату (родительский заказ).
state_fin_operation_parent нет Статус родительского заказа.
amount_parent нет Сумма родительского заказа.
amount_authorized_parent нет Сумма, заблокированная на счете плательщика в рамках родительского заказа, и не отправленная на клиринг.
amount_captured_parent нет Сумма, которая в рамках родительского заказа отправлена на клиринг.
amount_cancelled_parent нет Сумма, которая была разблокирована на счете плательщика в рамках родительского заказа.
amount_refunded_parent нет Сумма, которая была возвращена на счет плательщика в рамках родительского заказа.
processor_transaction_id нет Идентификатор заказа, присвоенный процессором.
rrn_parent нет RRN родительского заказа.
auth_code_parent нет Код авторизации родительского заказа.
response_code да Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех.
response_desc да Текстовое пояснение к response_code.
processor_name нет Наименование фактического процессора родительского заказа.
processor_code_parent нет Код(ы) ответ(а, ов), которые вернул фактический процессор родительского заказа.
processor_desc_parent нет Текстов(ое, ые) пояснени(е, я) к processor_code_parent.
payment_page_url нет URL, на который необходимо отправить браузер плательщика для оплаты заказа.
sign нет Подпись ответа API.

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

POST /psp HTTP/1.1
Host: api.pay2me.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 89
method=create_payment_page_url&id_client=test&id_request=202205161942&id_order_parent=123456&sign=signature

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

{
   "id_request":"202205161942",
   "id_request_parent":"202205161941",
   "id_order_parent":"123456",
   "state_fin_operation_parent":"initiated",
   "amount_parent":11.11,
   "amount_authorized_parent":0,
   "amount_captured_parent":0,
   "amount_cancelled_parent":0,
   "amount_refunded_parent":0,
   "processor_transaction_id":"",
   "rrn_parent":"",
   "auth_code_parent":"",
   "response_code":0,
   "response_desc":"success",
   "payment_page_url":"https://api.pay2me.com/public/?id=payment_page&id_payment_page_session=1ofegrhy9x9z4q5f",
   "sign":"signature"
}

Параметр receipt

Передача фискальных данных, строка в формате json со следующей структурой:

{
	"params":{
		"customer_contact":"Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.", 					// E-mail или телефон в формате +7XXXXXXXXXX, на который придет чек
		"tax_mode":"TAX_MODE_SIMPLIFIED_INCOME_MINUS_EXPENSE" 	// Режим налогообложения, может принимать значения, описанные в таблице 2. Не обязательное, по умолчанию берется из кассы либо из настроек шлюза.
		"place":"www.site.ru"									// Параметр места расчетов, по умолчанию то, которое заданно при регистрации кассы в этом поле можно указать адресс сайта либо физический адрес.
		'document_type'=>"DOCUMENT_TYPE_DEBIT"					// Тип чека, по умолчанию значение в зависимости от типа операции разрешенной на терминале. допустимые знаяения в таблице 6.
	},
	"items":[ // позиции чека
		{
			"price":"9999.99", 									// Сумма
			"description":"Оплата курса 1", 					// Название товарной позиции
			"pay_attribute": "PAY_ATTRIBUTE_FULL_PAYMENT" 		// Признак способа расчёта, может принимать значения, описанные в таблице 3. По умолчанию PAY_ATTRIBUTE_FULL_PAYMENT
			"line_attribute": "LINE_ATTRIBUTE_SERVICE"			// Признак предмета расчёта, может принимать значения, описанные в таблице 5. По умолчанию LINE_ATTRIBUTE_SERVICE
			"tax_id":"TAX_ID_VAT_20" 							// Ставка НДС, может принимать значения, описанные в таблице 1. По умолчанию TAX_ID_NO_VAT
		},
		{
			"price":"20010.52",									// Сумма
			"description":"Оплата курса 2",						// Название товарной позиции
			"qty":2 											// Количество, 1 - если не указывать
			"agent_mode":"AGENT_MODE_BANK_AGENT",				// Признак агента, может принимать значения, описанные в таблице 4. Поле не обязательно.
			"agent_data":{										// Если установлено agent_mode
				"phone":"+7XXXXXXXXXX",							// Телефон агента в формате +7XXXXXXXXXX
				"operation":"Например выдача наличных"			// Описание операции
			}
			"supplier_data":{									// Данные поставщика
				"phone":"+7XXXXXXXXXX",							// Телефон в формате +7XXXXXXXXXX
				"name":"Иванов Иван Иванович"					// Название поставщика
				"inn":"10-12 chars"								// ИНН поставщика
			}
		}
	],
	"payments" : {												// Не обязательно, сумарные значения.
		"cash":9999.99,											// Сумма оплаты наличными
		"non_cash":20010.52,									// Сумма безналичной оплаты
		"advance_payment":5000.00,								// Предварительная оплата (зачет аванса и (или) предыдущих платежей)
		"credit":1000.00, 										// Постоплата, указывается общая сумма рассрочки, применяется только для первого платежа (если в items есть хотя бы один элемент pay_attribute со значением "PAY_ATTRIBUTE_PARTIAL_PAYMENT")
		"consideration":500.00									// Сумма оплаты встречным предоставлением
	}
}

Таблицы допустимых констант:

// Таблица 1. Ставка НДС
TAX_ID_VAT_20 								- ставка НДС 20%
TAX_ID_VAT_10 								- ставка НДС 10%
TAX_ID_BET_20_120 							- ставка НДС расч. 20/120
TAX_ID_BET_10_110 							- ставка НДС расч. 10/110
TAX_ID_VAT_0 								- ставка НДС 0%
TAX_ID_NO_VAT 								- НДС не облагается

// Таблица 2. Режим налогообложения
TAX_MODE_COMMON								- Общая, ОСН
TAX_MODE_SIMPLIFIED_INCOME					- Упрощенная доход, УСН доход
TAX_MODE_SIMPLIFIED_INCOME_MINUS_EXPENSE	- Упрощенная доход минус расход, УСН доход - расход
TAX_MODE_SINGLE_AGRICULTURAL_TAX			- Единый сельскохозяйственный налог, ЕСН
TAX_MODE_PATENT_TAXATION					- Патентная система налогообложения, Патент

// Таблица 3. Признак способа расчёта
PAY_ATTRIBUTE_FULL_PREPAYMENT				- Предоплата 100%
PAY_ATTRIBUTE_PREPAYMENT					- Частичная предоплата
PAY_ATTRIBUTE_ADVANCE						- Аванс
PAY_ATTRIBUTE_FULL_PAYMENT					- Полный расчет
PAY_ATTRIBUTE_PARTIAL_PAYMENT				- Частичный расчет и кредит
PAY_ATTRIBUTE_CREDIT						- Передача в кредит
PAY_ATTRIBUTE_CREDIT_PAYMENT				- оплата кредита

// Таблица 4. Признак агента
AGENT_MODE_BANK_AGENT						- банковский платежный агент
AGENT_MODE_BANK_SUBAGENT					- банковский платежный субагент
AGENT_MODE_PAYMENT_AGENT					- платежный агент
AGENT_MODE_PAYMENT_SUBAGENT					- платежный субагент
AGENT_MODE_ATTORNEY							- поверенный
AGENT_MODE_COMMISSION						- комиссионер
AGENT_MODE_ANOTHER							- иной агент

// Таблица 5. Признак предмета расчёта
LINE_ATTRIBUTE_GOODS						- Товар
LINE_ATTRIBUTE_EXCISABLE					- Подакцизный товар
LINE_ATTRIBUTE_WORK							- Работа
LINE_ATTRIBUTE_SERVICE						- Услуга
LINE_ATTRIBUTE_BETTING						- Ставка азартной игры
LINE_ATTRIBUTE_BETTING_WIN					- Выигрыш азартной игры
LINE_ATTRIBUTE_LOTTERY						- Лотерейный билет
LINE_ATTRIBUTE_LOTTERY_WIN					- Выигрыш лотереи
LINE_ATTRIBUTE_GRANTING_RIGHTS				- Предоставление РИД
LINE_ATTRIBUTE_PREPAID						- Платеж
LINE_ATTRIBUTE_REWARD						- Агентское вознаграждение
LINE_ATTRIBUTE_ITEMS						- Выплата
LINE_ATTRIBUTE_NON_ITEMS					- Иной предмет расчета
LINE_ATTRIBUTE_TRANSFER_PROPERTY_RIGHTS		- Имущественное право
LINE_ATTRIBUTE_NON_OPERATING_INCOME			- Внереализационный доход
LINE_ATTRIBUTE_TAX_REDUCTION				- Иные платежи и взносы
LINE_ATTRIBUTE_TRADE_FEE					- Торговый сбор
LINE_ATTRIBUTE_RESORT_FEE					- Курортный сбор
LINE_ATTRIBUTE_DEPOSIT						- Залог
LINE_ATTRIBUTE_EXPENSE						- Расход
LINE_ATTRIBUTE_OPS_IP						- Взносы на обязательное пенсионное страхование ИП
LINE_ATTRIBUTE_OPS							- Взносы на обязательное пенсионное страхование
LINE_ATTRIBUTE_OMS_IP						- Взносы на обязательное медицинское страхование ИП
LINE_ATTRIBUTE_OMS							- Взносы на обязательное медицинское страхование
LINE_ATTRIBUTE_OSS							- Взносы на обязательное социальное страхование
LINE_ATTRIBUTE_CASINO						- Платеж казино
LINE_ATTRIBUTE_PAYMENT						- Выдача денежных средств
LINE_ATTRIBUTE_ATNM							- АТНМ (не имеющем кода маркировки)
LINE_ATTRIBUTE_ATM							- АТМ (имеющем код маркировки)
LINE_ATTRIBUTE_TNM							- ТНМ
LINE_ATTRIBUTE_TM 							- ТМ

// Таблица 6. Тип чека
DOCUMENT_TYPE_DEBIT							- Приход
DOCUMENT_TYPE_DEBIT_REFUND					- Возврат прихода
DOCUMENT_TYPE_CREDIT						- Расход