По любому вопросу мы в одном клике

Задать вопрос

Переводы криптовалюты и ликвидных активов

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

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

  1. При регистрации заказа:
    • передается параметр transactionTypeIndicator со значением C (криптовалюта) илиY (ликвидные активы, отличные от криптовалюты).
    • При передаче transactionTypeIndicator=C/Y необходимо передавать направление перевода: TO_MERCHANT – деньги переводятся от клиента продавцу (покупка) или FROM_MERCHANT – деньги переводятся от продавца к клиенту (продажа).
  2. В зависимости от направления перевода в запросе оплаты указываются данные карты списания или карты зачисления:
    • Если направление TO_MERCHANT – указываются данные карты списания (fromCard).
    • Если направление FROM_MERCHANT – указываются данные карты зачисления (toCard).
  3. Операции продажи клиенту активов (TO_MERCHANT) со списанием средств с карт MasterCard, отличных от Белкарт (т.е. не находящимися под санкциями), автоматически маршрутизируются как eComm транзакции (тип заказа изменяется автоматически).

Ограничения

  1. Операции покупки у клиента активов (FROM_MERCHANT) с выводом средств на карты системы MasterCard, отличных от Белкарт (т.е. не находящихся под санкциями), запрещены.
  2. Запрещены все платёжные системы, кроме MasterCard, Белкарт и Visa.

Методы API

Базовый URL-адрес

Для отправки запросов в сервис "Маршрутизатор платежей" используется базовый URL-адрес: https://abby.rbsuat.com/p2p-transfer/router/merchant.

Формат данных

Аутентификация

Для аутентификации используются параметры:

Регистрация заказа

Для регистрации заказа используется запрос https://abby.rbsuat.com/p2p-transfer/router/merchant/register.

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

ОбязательностьНазваниеТипОписание
ОбязательноusernameString [1..30]Логин учетной записи API продавца.
ОбязательноpasswordString [1..200]Пароль учетной записи API продавца.
ОбязательноorderNumberString [1..36]Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа.
ОбязательноamountInteger [0..12]Сумма платежа в минимальных единицах валюты (например, в копейках).
ОбязательноcurrencyString [3]Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры.
ОбязательноreturnUrlString [1..512]Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противном случае пользователь будет перенаправлен по адресу следующего вида: https://abby.rbsuat.com/payment/<merchant_address>.
НеобязательноfailUrlString [1..512]Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противном случае пользователь будет перенаправлен по адресу следующего вида: https://abby.rbsuat.com/payment/<merchant_address>.
НеобязательноorderDescriptionString [1..600]Описание заказа передаваемое платежному шлюзу при регистрации.
В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется.
НеобязательноlanguageString [2]Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.
НеобязательноclientIdString [0..255]Номер клиента (ID) в системе мерчанта — до 255 символов. Используется для реализации функциональности связок. Может возвращаться в ответе, если мерчанту разрешено создавать связки.
Указание этого параметра при обработке платежей по связке обязательно. В противном случае платеж будет невозможен.
НеобязательноmerchantLoginString [1..255]Чтобы зарегистрировать заказ от имени другого мерчанта, укажите его логин (для API-аккаунта) в этом параметре.
Можно использовать, только если у вас есть разрешение на просмотр транзакций других продавцов или если указанный продавец является вашим дочерним продавцом.
НеобязательноdynamicCallbackUrlString [1..512]Параметр для передачи динамического адреса для получения "платежных" callback-уведомлений по заказу, активированных для мерчанта (успешная авторизация, успешное списание, возврат, отмена, отклонение платежа по таймауту, отклонение card present платежа).
"Не платежные" callback-уведомления (включение/выключение связки, создание связки), будут отправляться на статический callback адрес.
НеобязательноsessionTimeoutSecsInteger [1..9]Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта, или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
НеобязательноsessionExpiredDateStringДата и время истечения срока действия заказа. Формат: yyyy-MM-ddTHH:mm:ss.
Если этот параметр не передается в запросе, то для определения времени истечения срока действия заказа используется параметр sessionTimeoutSecs.
НеобязательноbindingIdString [1..255]Идентификатор уже существующей связки (идентификатор карты, токенизированной шлюзом). Его можно использовать, только если у мерчанта есть разрешение на работу со связками. Если этот параметр передается в этом запросе, это означает, что:
  • Этот заказ можно оплатить только с помощью связки;
  • Плательщик будет перенаправлен на страницу оплаты, где требуется только ввод CVC.
В запросе необходимо передать или bindingId, или seToken.
УсловиеcreditBindingIdString [0..255]Идентификатор связки карты для зачисления. Используется при переводах с карты на карту, когда заранее известна карта получателя. Этот параметр нужно сначала передать в запросе на регистрацию платежа (здесь же должен быть передан параметр clientId), затем в запросе на перевод средств по cвязке (значение параметра creditBindingId, переданного в запросе регистрации, должно быть передано в параметре bindingId в блоке toCard).
НеобязательноparamsObjectПоля дополнительной информации для последующего хранения, передаются в следующем виде:
"params": [ {"name": "param1", "value": "value1"}, {"name": "param2", "value": "value2"} ].
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах банка.
ОбязательноtransactionTypeIndicatorStringИспользуется в однонаправленных типах транзакций.
Возможны такие значения:
  • A – Перевод с карты на карту одного владельца (со счета на счет)
  • B – Перевод с целью приобретения криптовалюты
  • C – Перевод для целей покупки криптовалюты
  • Y – Перевод для целей покупки ликвидных активов, кроме криптовалюты
  • D – Выплата средств
  • F – Перевод для ставок по азартным играм
  • G – Выплата в азартных играх онлайн
  • H – Вывод средств (Cash Out). Вывод средств агентом.
  • I – Государственные выплаты
  • J – Денежный перевод, инициированный банком
  • L – Перевод для целей погашения счетов по кредитной карте
  • O – Перевод для целей оплаты задолженности
  • P – Перевод с карты на карту разных владельцев
  • W – Перевод на собственный счет поэтапного цифрового кошелька для оплаты
УсловиеtransferDirectionString [1..16]Направление операции. Обязательно при покупке или продаже криптовалюты (transactionTypeIndicator=C) или ликвидных активов (transactionTypeIndicator=Y). Возможные значения:
  • TO_MERCAHNT – деньги переводятся от клиента продавцу (покупка);
  • FROM_MERCAHNT – деньги переводятся от продавца к клиенту (продажа).
НеобязательноfeeInputInteger [0..8]Размер комиссии в минимальных единицах валюты. Функциональность должна быть включена на уровне продавца в шлюзе.
НеобязательноshippingPayerDataObjectОбъект, содержащий данные о доставке клиенту. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры.
НеобязательноpreOrderPayerDataObjectОбъект, содержащий данные предварительного заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры.
НеобязательноorderPayerDataObjectОбъект, содержащий данные о плательщике заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры.
НеобязательноbillingAndShippingAddressMatchIndicatorString [1]Индикатор соответствия платежного адреса владельца карты и адреса доставки. Этот параметр используется для дальнейшей 3DS-аутентификации клиента.
Возможные значения:
  • Y - совпадение платежного адреса держателя карты и адреса доставки;
  • N - платежный адрес владельца карты и адрес доставки не совпадают.
УсловиеbillingPayerDataObjectБлок с регистрационными данными клиента (адрес, почтовый индекс), необходимый для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если функция включена для продавца на стороне Платежного шлюза. Должен был включен либо в запрос регистрации, либо в запрос оплаты. См. вложенные параметры.

Описание параметров объекта shippingPayerData:

ОбязательностьНазваниеТипОписание
НеобязательноshippingCityString [1..50]Город заказчика (из адреса доставки)
НеобязательноshippingCountryString [1..50]Страна заказчика
НеобязательноshippingAddressLine1String [1..50]Основной адрес клиента (из адреса доставки)
НеобязательноshippingAddressLine2String [1..50]Основной адрес клиента (из адреса доставки)
НеобязательноshippingAddressLine3String [1..50]Основной адрес клиента (из адреса доставки)
НеобязательноshippingPostalCodeString [1..16]Почтовый индекс клиента для доставки
НеобязательноshippingStateString [1..50]Штат/регион покупателя (из адреса доставки)
НеобязательноshippingMethodIndicatorInteger [2]Индикатор способа доставки.
Возможные значения:
  • 01 - доставка на платежный адрес держателя карты.
  • 02 - доставка на другой адрес, проверенный Мерчантом.
  • 03 - доставка по адресу, отличному от основного адреса держателя карты.
  • 04 - отправка в магазин/самовывоз (адрес магазина должен быть указан в соответствующих параметрах доставки)
  • 05 - Цифровое распространение (включает онлайн-сервисы и электронные подарочные карты)
  • 06 - билеты на путешествия и мероприятия, которые нельзя доставить.
  • 07 - Прочее (например, игры, цифровые товары, не подлежащие доставке, цифровые подписки и т. д.)
НеобязательноdeliveryTimeframeInteger [2]Срок поставки товара.
Возможные значения:
  • 01 - цифровая дистрибуция
  • 02 - доставка в тот же день
  • 03 - доставка на следующий день
  • 04 - доставка в течение 2-х дней после оплаты и позже.
НеобязательноdeliveryEmail String [1..254]Целевой адрес электронной почты для доставки цифрового распространения. Предпочтительно передавать электронную почту в самостоятельном параметре запроса email (но если вы передадите его в этом блоке, к нему применятся те же правила).

Описание параметров объекта preOrderPayerData:

ОбязательностьНазваниеТипОписание
НеобязательноpreOrderDateString [10]Ожидаемая дата доставки (для предзаказанных покупок) в формате ГГГГММДД.
НеобязательноpreOrderPurchaseIndInteger [2]Индикатор размещения клиентом заказа на доступную или будущую доставку.
Возможные значения:
  • 01 - возможна доставка;
  • 02 - будущая доставка
НеобязательноreorderItemsIndInteger [2]Индикатор того, что клиент перебронирует ранее оплаченную доставку в составе нового заказа.
Возможные значения:
  • 01 - заказ размещается впервые;
  • 02 - повторный заказ

Описание параметров объекта orderPayerData.

ОбязательностьНазваниеТипОписание
НеобязательноhomePhoneString [7..15]Домашний телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
  • +35799988877;
  • 0035799988877;
  • 35799988877.
НеобязательноworkPhoneString [7..15]Рабочий телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
  • +35799988877;
  • 0035799988877;
  • 35799988877.
НеобязательноmobilePhoneString [7..15]Номер мобильного телефона владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
  • +35799988877;
  • 0035799988877;
  • 35799988877.

Для платежей по VISA с 3DS авторизацией необходимо указать либо электронную почту, либо номер телефона владельца карты. Если у вас настроено отображение номера телефона на платежной странице и вы указали неверный номер телефона, клиент сможет исправить его на платежной странице.

Ниже приведены параметры блока billingPayerData (данные об адресе регистрации клиента).

ОбязательностьНазваниеТипОписание
УсловиеbillingCityString [0..50]Город, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно для AFT транзакций с Visa.
УсловиеbillingCountryString [0..50]Страна, зарегистрированная по конкретной карте банка-эмитента. Формат: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) или наименование страны. Рекомендуем передавать двух/трехбуквенный ISO код страны. Обязательно для AFT транзакций с Visa.
УсловиеbillingAddressLine1String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента (адрес плательщика). Строка 1. Обязательно к передаче для AVS-проверки. Обязательно для AFT транзакций с Visa.
НеобязательноbillingAddressLine2String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 2.
НеобязательноbillingAddressLine3String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 3.
НеобязательноbillingPostalCodeString [0..9]Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно к передаче для AVS-проверки.
НеобязательноbillingStateString [0..50]Штат, зарегистрированный по конкретной карте у Банка Эмитента. Формат: полное значение кода ISO 3166-2, его часть или наименование штата/региона. Может содержать буквы только латинского алфавита. Рекомендуем передавать двухбуквенный ISO код штата/региона.

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

ОбязательностьНазваниеТипОписание
ОбязательноerrorCodeString [1..2]Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
ОбязательноerrorMessageString [1..512]Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
НеобязательноformUrlString [1..512]URL платежной формы, на которую будет перенаправлен покупатель. URL не возвращается, если регистрация заказа не прошла из-за ошибки, указанной в errorCode.
НеобязательноorderIdString [1..36]Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.
НеобязательноorderNumberString [1..36]Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа.

Примеры

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

curl -X POST \
  https://api.example.com/p2p-transfer/router/merchant/register \
  -H 'Content-Type: application/json' \
  -d '{
    "orderNumber": "ORDER123456",
    "amount": 10000,
    "currency": "933",
    "description": "Money transfer",
    "transactionTypeIndicator": "Y",
    "transferDirection": "FROM_MERCHANT",
    "returnUrl": "https://merchant.com/return",
    "username": "test_user",
    "password": "test_user-password",
    "language": "ru"
  }'

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

{
  "errorCode": 0,
  "errorMessage": "Успешно",
  "orderId": "2d37e3be-9d8f-4ddb-9e0a-3a3c52c8d79a",
  "formUrl": "https://payment.example.com/form/2d37e3be-9d8f-4ddb-9e0a-3a3c52c8d79a"
}

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

{
  "errorCode": 14,
  "errorMessage": "Incorrect parameter value"
}

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

Для получения суммы комиссии за денежный перевод используйте запрос https://abby.rbsuat.com/p2p-transfer/router/merchant/verify.

Структура запроса предполагает наличие блока fromCard для передачи атрибутов карты для списания (если при регистрации передано направление TO_MERCHANT) или блока toCard для передачи атрибутов карты для зачисления (если при регистрации передано направление FROM_MERCHANT).

Для карт системы MasterCard, отличных от Белкарт, операции TO_MERCHANT автоматически маршрутизируются как eComm транзакции. Для таких транзакций запрос всегда возвращает успех и нулевую комиссию.


При выполнении запроса необходимо использовать заголовок: Content-Type: application/json

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

ОбязательностьНазваниеТипОписание
ОбязательноusernameString [1..30]Логин учетной записи API продавца.
ОбязательноpasswordString [1..200]Пароль учетной записи API продавца.
ОбязательноorderIdString [1..36]Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.
НеобязательноlanguageString [2]Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.
НеобязательноamountString [0..12]Сумма перевода в минимальных единицах валюты (например, в копейках).
Этот параметр передается, если плательщик решит изменить сумму перевода при осуществлении денежного перевода.
НеобязательноbillingPayerDataObjectБлок с регистрационными данными клиента (адрес, почтовый индекс), необходимый для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если функция включена для продавца на стороне Платежного шлюза. См. вложенные параметры.
ОбязательноfromCardObjectБлок с атрибутами карты списания. См. вложенные параметры.
ОбязательноtoCardObjectБлок с атриубутами карты начисления. См. вложенные параметры.

Блок fromCard включает в себя следующие параметры:

ОбязательностьНазваниеТипОписание
НеобязательноbindingIdString [1..255]Идентификатор связки, созданной при оплате заказа или использованной для оплаты. Доступно, только если продавцу разрешено создавать связки.
УсловиеpanString [1..19]Номер карты списания денежных средств.
УсловиеcvcString [3]Код CVC/CVV2 на обратной стороне карты списания.
Обязателен, если оплата не проводится по связке и/или у продавца нет разрешения на оплату без CVC.
Допускаются только цифры.
УсловиеexpirationYearInteger [4]Год истечения действия карты списания. Принимаются значения от 2000 до 2200.
УсловиеexpirationMonthInteger [2]Месяц истечения действия карты списания. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
ОбязательноcardholderNameString [1..26]Имя держателя карты списания.
УсловиеseTokenStringЗашифрованные данные карты.
Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь.

Блок toCard включает в себя следующие параметры:

ОбязательностьНазваниеТипОписание
НеобязательноbindingIdString [1..255]Идентификатор связки, созданной при оплате заказа или использованной для оплаты. Доступно, только если продавцу разрешено создавать связки.
УсловиеpanString [1..19]Номер карты для зачисления денежных средств.
НеобязательноexpirationYearInteger [4]Год истечения действия карты зачисления. Принимаются значения от 2000 до 2200.
НеобязательноexpirationMonthInteger [2]Месяц истечения действия карты зачисления. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
НеобязательноcardholderNameString [1..26]Имя держателя карты зачисления.
УсловиеseTokenStringЗашифрованные данные карты.
Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь.

Ниже приведены параметры блока billingPayerData (данные об адресе регистрации клиента).

ОбязательностьНазваниеТипОписание
УсловиеbillingCityString [0..50]Город, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно для AFT транзакций с Visa.
УсловиеbillingCountryString [0..50]Страна, зарегистрированная по конкретной карте банка-эмитента. Формат: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) или наименование страны. Рекомендуем передавать двух/трехбуквенный ISO код страны. Обязательно для AFT транзакций с Visa.
УсловиеbillingAddressLine1String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента (адрес плательщика). Строка 1. Обязательно к передаче для AVS-проверки. Обязательно для AFT транзакций с Visa.
НеобязательноbillingAddressLine2String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 2.
НеобязательноbillingAddressLine3String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 3.
НеобязательноbillingPostalCodeString [0..9]Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно к передаче для AVS-проверки.
НеобязательноbillingStateString [0..50]Штат, зарегистрированный по конкретной карте у Банка Эмитента. Формат: полное значение кода ISO 3166-2, его часть или наименование штата/региона. Может содержать буквы только латинского алфавита. Рекомендуем передавать двухбуквенный ISO код штата/региона.

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

ОбязательностьНазваниеТипОписание
ОбязательноerrorCodeString [1..2]Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
ОбязательноerrorMessageString [1..512]Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.

Блок feeDescriptionList включает в себя следующие параметры:

ОбязательностьНазваниеТипОписание
НеобязательноfeeAmountInteger [1..12]Сумма комиссии.
НеобязательноfeeCurrencyString [3]Код валюты платежа ISO 4217.
НеобязательноfeeDescriptionString [1..512]Описание комиссии.

Примеры

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

curl -X POST \
  https://abby.rbsuat.com/p2p-transfer/router/merchant/verify \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": "2d37e3be-9d8f-4ddb-9e0a-3a3c52c8d79a",
    "fromCard": {
      "pan": "5555555555554444",
      "cvc": "123",
      "expirationYear": 2029,
      "expiryMonth": 12,
      "cardholderName": "IVAN IVANOV"
    },
    "toCard": {
      "bindingId": "binding-uuid-goes-here"
    },
    "username": "api-user",
    "password": "api-password",
    "language": "ru"
  }'

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

{
  "errorCode": 0,
  "errorMessage": "Успешно",
  "feeDescriptionList": [{
    "feeAmount": 100,
    "feeCurrency": "933",
    "feeDescription": "Acquirer fee"
  }],
}

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

{
  "errorCode": 5,
  "errorMessage": "Доступ запрещён"
}

P2P перевод

Для осуществления денежного перевода с карты на карту используйте запрос https://abby.rbsuat.com/p2p-transfer/router/merchant/perform.


При выполнении запроса необходимо использовать заголовок: Content-Type: application/json

Структура запроса предполагает наличие блока fromCard для передачи атрибутов карты для списания (если при регистрации передано направление TO_MERCHANT) или блока toCard для передачи атрибутов карты для зачисления (если при регистрации передано направление FROM_MERCHANT).

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

ОбязательностьНазваниеТипОписание
ОбязательноusernameString [1..30]Логин учетной записи API продавца.
ОбязательноpasswordString [1..200]Пароль учетной записи API продавца.
НеобязательноlanguageString [2]Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.
ОбязательноorderIdString [1..36]Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.
НеобязательноipString [1..39]IP адрес плательщика. IPv6 поддерживается во всех запросах (до 39 символов).
НеобязательноemailString [1..64]Электронная почта плательщика.
НеобязательноamountString [0..12]Сумма перевода в минимальных единицах валюты (например, в копейках).
Этот параметр передается, если плательщик решит изменить сумму перевода при осуществлении денежного перевода.
НеобязательноtypeStringВ случае денежного перевода с данными только по одной карте необходимо передать в этом параметре соответствующее значение:
WITHOUT_FROM_CARD - без указания карты для списания средств.
WITHOUT_TO_CARD - без указания карты для зачисления.
Если речь идет об обычном денежном переводе с карты на карту, то здесь необходимо передать следующее значение: STANDARD.
НеобязательноamountInputInteger [0..12]Сумма перевода в минимальных единицах валюты (например, в копейках). Если в этом параметре указана сумма, перевод будет осуществлен на эту сумму (независимо от суммы, переданной в запросе на оформление заказа).
НеобязательноcaptchaStringCAPTCHA (текст, предназначенный для того, чтобы отличать человеческий ввод от машинного)
НеобязательноthreeDSSDKBooleanВозможные значения: true или false Флаг, показывающий, что платеж поступает из 3DS SDK.
НеобязательноthreeDSSDKEncDataStringЗашифрованные данные об устройстве. Параметр является обязательным для SDK.
НеобязательноthreeDSSDKReferenceNumberStringОфициальный идентификатор 3DS2 SDK
НеобязательноthreeDSSDKEphemPubKeyStringПубличная часть эфемерного ключа. Требуется для установки сеанса с ACS. Параметр является обязательным для SDK.
НеобязательноthreeDSSDKAppIdStringУникальный идентификатор SDK. Параметр является обязательным для SDK.
НеобязательноthreeDSSDKTransIdStringУникальный идентификатор транзакции в SDK. Параметр является обязательным для SDK.
НеобязательноthreeDSMethodNotificationUrlString [1..512]URL-адрес для отправки уведомления о прохождении проверки на ACS.
УсловиеthreeDSServerTransIdString [1..36]Идентификатор транзакции, созданный на сервере 3DS. Обязателен для аутентификации 3DS.
НеобязательноthreeDSVer2FinishUrlString [1..512]URL-адрес, по которому клиент должен быть перенаправлен после аутентификации на сервере ACS.
УсловиеthreeDSVer2MdOrderString [1..36]Номер заказа, который был зарегистрирован в первой части запроса в рамках 3DS2 операции. Обязателен для аутентификации 3DS.
Если данный параметр присутствует в запросе, то используется mdOrder, который передается в настоящем параметре. В таком случае регистрация заказа не происходит, а происходит сразу оплата заказа.
Этот параметр передается только при использовании методов мгновенной оплаты, т.е., когда заказ регистрируется и оплачивается в рамках одного запроса.
НеобязательноbindingNotNeededBooleanДопустимые значения:
  • true- создание связки после совершения платежа отключено (связка – это идентификатор клиента, переданный в запросе на регистрацию заказа, который после запроса оплаты будет удален из деталей заказа);
  • false – в случае успешной оплаты может быть создана связка (при соблюдении необходимых условий). Это значение по умолчанию.
УсловиеoriginalPaymentNetRefNumStringИдентификатор оригинальной или предыдущей успешной транзакции в платежной системе по отношению к выполняемой операции по связке - TRN ID. Передаётся, если значение параметра tii = R, I, U или F.
УсловиеtiiStringИдентификатор инициатора транзакции. Параметр, указывающий, какой тип операции будет выполнять инициатор (Клиент или Мерчант).
Обязательно для перевода с использованием связки в блоке fromCard или собственной связки мерчанта.
Возможные значения
ОбязательноparamsObjectПоля дополнительной информации для последующего хранения, передаются в следующем виде: {"param":"value","param2":"value2"}.
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах банка.
По умолчанию передаются orderNumber (номер заказа) и orderDescription (описание заказа).orderDescription не должно превышать 99 символов, не используйте следующие символы: %, +, возврат каретки \r и перевод строки \n).
Чтобы включить эту функциональность, обратитесь в банк.

В объекте params запроса на перевод денег с карты на карту могут быть переданы следующие данные клиента (формат значений зависит от используемого метода обработки данных):
  • В параметре payerName - имя отправителя денег.
  • В параметре payerAddress - адрес отправителя.
  • В параметре payerCity - город отправителя.
  • В параметре payerCountry - страна отправителя в виде кода ISO 3166-1 alpha-3 (трехбуквенный код).
  • В параметре payerPostalCode - почтовый индекс отправителя.
  • В параметре payerState - регион отправителя.
Для платежной системы Visa в запросе на перевод денег с карты на карту также необходимо передать в параметре params следующую информацию (формат значений определяется используемым методом обработки данных):
  • В параметре recipientName - имя получателя денег.

При необходимости обратитесь в команду поддержки для указания постоянных значений параметров payer* и recipientName, чтобы не передавать их каждый раз во всех запросах.
НеобязательноshippingPayerDataObjectОбъект, содержащий данные о доставке клиенту. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры.
НеобязательноpreOrderPayerDataObjectОбъект, содержащий данные предварительного заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры.
НеобязательноorderPayerDataObjectОбъект, содержащий данные о плательщике заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры.
УсловиеbillingPayerDataObjectБлок с регистрационными данными клиента (адрес, почтовый индекс), необходимый для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если функция включена для продавца на стороне Платежного шлюза. Должен был включен либо в запрос регистрации, либо в запрос оплаты. См. вложенные параметры.
ОбязательноfromCardObjectБлок с атрибутами карты списания. См. вложенные параметры.
ОбязательноtoCardObjectБлок с атрибутами карты начисления. См. вложенные параметры.

Возможные значения параметры tii:

Значение tiiОписаниеТип транзакцииИнициатор транзакцииДанные карты для транзакцииДанные карты сохраняются после транзакцииКомментарий
CIИнициирующий - Обычный (CIT)ИнициирующаяПокупательВводится покупателемДаТранзакция электронной коммерции с сохранением связки.
FВнеплановый платеж (CIT)ПоследующаяПокупательКлиент выбирает карту вместо ручного вводаНетТранзакция электронной коммерции, использующая ранее сохраненную обычную связку.

Описание параметров объекта shippingPayerData:

ОбязательностьНазваниеТипОписание
НеобязательноshippingCityString [1..50]Город заказчика (из адреса доставки)
НеобязательноshippingCountryString [1..50]Страна заказчика
НеобязательноshippingAddressLine1String [1..50]Основной адрес клиента (из адреса доставки)
НеобязательноshippingAddressLine2String [1..50]Основной адрес клиента (из адреса доставки)
НеобязательноshippingAddressLine3String [1..50]Основной адрес клиента (из адреса доставки)
НеобязательноshippingPostalCodeString [1..16]Почтовый индекс клиента для доставки
НеобязательноshippingStateString [1..50]Штат/регион покупателя (из адреса доставки)
НеобязательноshippingMethodIndicatorInteger [2]Индикатор способа доставки.
Возможные значения:
  • 01 - доставка на платежный адрес держателя карты.
  • 02 - доставка на другой адрес, проверенный Мерчантом.
  • 03 - доставка по адресу, отличному от основного адреса держателя карты.
  • 04 - отправка в магазин/самовывоз (адрес магазина должен быть указан в соответствующих параметрах доставки)
  • 05 - Цифровое распространение (включает онлайн-сервисы и электронные подарочные карты)
  • 06 - билеты на путешествия и мероприятия, которые нельзя доставить.
  • 07 - Прочее (например, игры, цифровые товары, не подлежащие доставке, цифровые подписки и т. д.)
НеобязательноdeliveryTimeframeInteger [2]Срок поставки товара.
Возможные значения:
  • 01 - цифровая дистрибуция
  • 02 - доставка в тот же день
  • 03 - доставка на следующий день
  • 04 - доставка в течение 2-х дней после оплаты и позже.
НеобязательноdeliveryEmail String [1..254]Целевой адрес электронной почты для доставки цифрового распространения. Предпочтительно передавать электронную почту в самостоятельном параметре запроса email (но если вы передадите его в этом блоке, к нему применятся те же правила).

Описание параметров объекта preOrderPayerData:

ОбязательностьНазваниеТипОписание
НеобязательноpreOrderDateString [10]Ожидаемая дата доставки (для предзаказанных покупок) в формате ГГГГММДД.
НеобязательноpreOrderPurchaseIndInteger [2]Индикатор размещения клиентом заказа на доступную или будущую доставку.
Возможные значения:
  • 01 - возможна доставка;
  • 02 - будущая доставка
НеобязательноreorderItemsIndInteger [2]Индикатор того, что клиент перебронирует ранее оплаченную доставку в составе нового заказа.
Возможные значения:
  • 01 - заказ размещается впервые;
  • 02 - повторный заказ

Описание параметров объекта orderPayerData.

ОбязательностьНазваниеТипОписание
НеобязательноhomePhoneString [7..15]Домашний телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
  • +35799988877;
  • 0035799988877;
  • 35799988877.
НеобязательноworkPhoneString [7..15]Рабочий телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
  • +35799988877;
  • 0035799988877;
  • 35799988877.
НеобязательноmobilePhoneString [7..15]Номер мобильного телефона владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
  • +35799988877;
  • 0035799988877;
  • 35799988877.

Для платежей по VISA с 3DS авторизацией необходимо указать либо электронную почту, либо номер телефона владельца карты. Если у вас настроено отображение номера телефона на платежной странице и вы указали неверный номер телефона, клиент сможет исправить его на платежной странице.

Ниже приведены параметры блока billingPayerData (данные об адресе регистрации клиента).

ОбязательностьНазваниеТипОписание
УсловиеbillingCityString [0..50]Город, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно для AFT транзакций с Visa.
УсловиеbillingCountryString [0..50]Страна, зарегистрированная по конкретной карте банка-эмитента. Формат: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) или наименование страны. Рекомендуем передавать двух/трехбуквенный ISO код страны. Обязательно для AFT транзакций с Visa.
УсловиеbillingAddressLine1String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента (адрес плательщика). Строка 1. Обязательно к передаче для AVS-проверки. Обязательно для AFT транзакций с Visa.
НеобязательноbillingAddressLine2String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 2.
НеобязательноbillingAddressLine3String [0..50]Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 3.
НеобязательноbillingPostalCodeString [0..9]Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно к передаче для AVS-проверки.
НеобязательноbillingStateString [0..50]Штат, зарегистрированный по конкретной карте у Банка Эмитента. Формат: полное значение кода ISO 3166-2, его часть или наименование штата/региона. Может содержать буквы только латинского алфавита. Рекомендуем передавать двухбуквенный ISO код штата/региона.

Блок fromCard включает в себя следующие параметры:

ОбязательностьНазваниеТипОписание
НеобязательноbindingIdString [1..255]Идентификатор связки, созданной при оплате заказа или использованной для оплаты. Доступно, только если продавцу разрешено создавать связки.
УсловиеpanString [1..19]Номер карты списания денежных средств.
УсловиеcvcString [3]Код CVC/CVV2 на обратной стороне карты списания.
Обязателен, если оплата не проводится по связке и/или у продавца нет разрешения на оплату без CVC.
Допускаются только цифры.
УсловиеexpirationYearInteger [4]Год истечения действия карты списания. Принимаются значения от 2000 до 2200.
УсловиеexpirationMonthInteger [2]Месяц истечения действия карты списания. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
НеобязательноcardholderNameString [1..26]Имя держателя карты списания.
УсловиеseTokenStringЗашифрованные данные карты.
Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь.
УсловиеthreeDsAuthResultObjectБлок с данными о результате аутентификации 3 DS с использованием MPI/3DS Server мерчанта.
Обязателен для транзакций перевода с карты на карту с использованием MPI/3DS Server мерчанта.
См. вложенные параметры.

При платежах с использованием токенов (APPLE, SAMSUNG, GOOGLE) вместо данных карты в блоке fromCard передается:

ОбязательностьНазваниеТипОписание
УсловиеvendorStringПараметр используется при оплате через токены. В качестве значения передается наименование поставщика платежного сервиса: APPLE, GOOGLE, SAMSUNG.
Данный параметр должен передаваться одновременно с параметром paymentToken (значение токена).
Данный параметр не может присутствовать одновременно с параметрами: pan, cvc, expiry, bindingId, seToken.
УсловиеpaymentTokenString [1..8192]Значение токена поставщика, указанного в параметре vendor (APPLE, GOOGLE, SAMSUNG). Если vendor указан, параметр является обязательным к передаче.
Данный параметр не может присутствовать одновременно с параметрами: pan, cvc, expiry, bindingId, seToken.
НеобязательноdecryptedTokenBooleanРасшифрованный токен для платежей через вендоров (ApplePay, GooglePay и т. д.). Возможные значения:
  • true – для расшифрованного токена;
  • false – для зашифрованного токена.

Если не передавать этот параметр, то по умолчанию будет считаться, что передано decryptedToken = false.
НеобязательноprotocolVersionStringВерсия протокола, определенная Google для платежного токена: ECv1 (по умолчанию) или ECv2

Ниже перечислены параметры блока threeDsAuthResult (данные о результате аутентификации 3 DS).

ОбязательностьНазваниеТипОписание
НеобязательноcavvString [0..200]Значение проверки аутентификации владельца карты. Указан только после оплаты заказа и в случае наличия соответствующего разрешения.
НеобязательноxidString [1..80]Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае наличия соответствующего разрешения.
НеобязательноeciInteger [1..4]Электронный коммерческий индикатор. Указан только после оплаты заказа и в случае наличия соответствующего разрешения. Ниже приводится расшифровка ECI-кодов.
  • ECI=01 или ECI=06 - мерчант поддерживает 3-D Secure, платежная карта не поддерживает 3-D Secure, платеж обрабатывается на основе кода CVV2/CVC.
  • ECI=02 или ECI=05 - и мерчант, и платежная карта поддерживают 3-D Secure;
  • ECI=07 - мерчант не поддерживает 3-D Secure, платеж обрабатывается на основе кода CVV2/CVC.
УсловиеauthenticationTypeIndicatorStringТип аутентификации 3DS. Этот параметр обязателен для оплаты через ваш 3DS сервер с 3DS 2. Для 3DS 1 и SSL платежей этот параметр необязателен и определяется в зависимости от значения ECI. Допустимые значения:
  • 0 - SSL-аутентификация
  • 1 - Аутентификация 3DS 1
  • 2 - Попытка аутентификации 3DS 1
  • 3 - Строгая аутентификация клиентов (SCA) с 3DS 2
  • 4 - Аутентификация на основе риска (RBA) с 3DS 2
  • 5 - Попытка аутентификации 3DS 2
НеобязательноthreeDSProtocolVersionStringВерсия протокола 3DS. Возможные значения: "2.1.0", "2.2.0" для 3DS2.
Если в запросе не передается threeDSProtocolVersion, то для авторизации 3D Secure будет использоваться значение по умолчанию (2.1.0 - для 3DS 2).

Блок toCard включает в себя следующие параметры:

ОбязательностьНазваниеТипОписание
НеобязательноbindingIdString [1..255]Идентификатор связки, созданной при оплате заказа или использованной для оплаты. Доступно, только если продавцу разрешено создавать связки.
УсловиеpanString [1..19]Номер карты для зачисления денежных средств.
НеобязательноexpirationYearInteger [4]Год истечения действия карты зачисления. Принимаются значения от 2000 до 2200.
НеобязательноexpirationMonthInteger [2]Месяц истечения действия карты зачисления. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
НеобязательноcardholderNameString [1..26]Имя держателя карты зачисления.
УсловиеseTokenStringЗашифрованные данные карты.
Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь.

При аутентификации по протоколу 3DS2 также передаются следующие параметры:

ОбязательностьНазваниеТипОписание
НеобязательноthreeDSServerTransIdString [1..36]Идентификатор транзакции, созданный на сервере 3DS. Обязателен для аутентификации 3DS.
НеобязательноthreeDSVer2FinishUrlString [1..512]URL-адрес, по которому клиент должен быть перенаправлен после аутентификации на сервере ACS.
НеобязательноthreeDSMethodNotificationUrlString [1..512]URL-адрес для отправки уведомления о прохождении проверки на ACS.

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

ОбязательностьНазваниеТипОписание
ОбязательноerrorCodeString [1..2]Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
НеобязательноerrorMessageString [1..512]Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
НеобязательноinfoStringРезультат попытки перевода средств.

Значение в случае успешного перевода: "Ваш платеж обработан, происходит переадресация..."

Значение в случае ошибки: "Происходит переадресация..."
УсловиеacsUrlString [1..512]URL-адрес для редиректа на ACS. Возвращается при успешном ответе в случае оплаты 3D-Secure, если требуется редирект на ACS. Подробнее см. Редирект на ACS.
УсловиеpaReqString [1..255]PAReq (Payment Authentication Request) — сообщение, которое необходимо отправить в ACS вместе с редиректом. Возвращается при успешном ответе в случае оплаты 3D-Secure, если необходим редирект на ACS. Это сообщение содержит данные в кодировке Base64, необходимые для аутентификации держателя карты. Подробнее см. Редирект на ACS.
НеобязательноtermUrlString [1..512]При успешном ответе в случае оплаты 3D-Secure. URL-адрес для перенаправления клиента после взаимодействия с ACS для завершения платежа.
НеобязательноoriginalPaymentNetRefNumStringИдентификатор оригинальной или предыдущей успешной транзакции в платежной системе по отношению к выполняемой операции по связке - TRN ID. Передаётся, если значение параметра tii = R, I, U или F.
УсловиеstatusResponseObjectПараметры статуса ответа. Этот блок возвращается, только если у вас включена соответствующая настройка. Для включения этой функциональности, обратитесь в техническую поддержку. См. вложенные параметры.

При аутентификации по протоколу 3DS2 в ответ на первый запрос приходят следующие параметры:

ОбязательностьНазваниеТипОписание
Обязательноis3DSVer2BooleanВозможные значения: true или false Флаг, показывающий, что платеж поступает из 3DS2.
ОбязательноthreeDSServerTransIdString [1..36]Идентификатор транзакции, созданный на сервере 3DS. Обязателен для аутентификации 3DS.
НеобязательноthreeDSMethodUrlString [1..512]URL-адрес сервера ACS для сбора данных браузера.
ОбязательноthreeDSMethodUrlServerString [1..512]URL-адрес сервера 3DS для сбора данных браузера, которые будут включены в AReq (Authentication Request) с сервера 3DS на сервер ACS.
НеобязательноthreeDSMethodDataPackedString [1..1024]Данные CReq (Challenge Response) в кодировке Base-64 для отправки на сервер ACS.
НеобязательноthreeDSMethodURLServerDirectString [1..512]URL-адрес 3dsmethod.do для выполнения метода 3DS на сервере 3DS через платежный шлюз (при наличии соответствующего разрешения на уровне продавца).

Ниже приведены параметры, которые должны присутствовать в ответе, после повторного запроса платежа и необходимости перенаправления клиента в ACS при аутентификации по протоколу 3DS2:

ОбязательностьНазваниеТипОписание
УсловиеacsUrlString [1..512]URL-адрес для редиректа на ACS. Возвращается при успешном ответе в случае оплаты 3D-Secure, если требуется редирект на ACS. Подробнее см. Редирект на ACS.
УсловиеpackedCReqStringЗапакованные данные challenge request. Возвращается при успешном ответе в случае оплаты 3D-Secure, если требуется редирект на ACS. Это значение следует использовать как значение параметра creq ссылки на ACS (acsUrl), для перенаправления клиента на ACS. Подробнее см. Редирект на ACS.

Параметры блока statusResponse:

ОбязательностьНазваниеТипОписание
ОбязательноerrorCodeString [1..2]Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
ОбязательноerrorMessageString [1..512]Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
НеобязательноorderStatusIntegerЗначение этого параметра указывает статус заказа в платежном шлюзе. Отсутствует, если заказ не был найден. Ниже приведен список доступных значений:
  • 0 - заказ зарегистрирован, но не оплачен;
  • 2 - проведена полная авторизация суммы заказа;
  • 3 - авторизация отменена;
  • 5 - инициирована авторизация через ACS банка-эмитента;
  • 6 - авторизация отклонена;
НеобязательноorderNumberString [1..36]Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа.
НеобязательноpanMaskedFromString [1..19]Маскированный номер карты для списания средств.
НеобязательноpanMaskedToString [1..19]Маскированный номер карты для зачисления средств.
НеобязательноamountInteger [0..12]Сумма платежа в минимальных единицах валюты (например, в копейках).
НеобязательноcurrencyString [3]Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры.
НеобязательноcreationDateIntegerДата регистрации заказа.
НеобязательноorderDescriptionString [1..600]Описание заказа передаваемое платежному шлюзу при регистрации.
В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется.
НеобязательноipString [1..39]IP адрес плательщика. IPv6 поддерживается во всех запросах (до 39 символов).
ОбязательноresultCodeIntegerКод ошибки при выполнении запроса. Возможные значения:
  • 0 - в случае успеха;
  • 1 - в случае ошибки.
НеобязательноorderParamsObjectОбъект с мерчантскими атрибутами заказа. В ответе может быть представлено более одного блока orderParams.
Объект должен передаваться следующим образом: {"param":"value","param2":"value2"}.
НеобязательноoperationListObjectОбъект, содержащий информацию о транзакциях, завершенных в заказе. В ответе может присутствовать более одного блока operationList.
Параметры, которые можно передать, описаны ниже.
НеобязательноbindingStringИдентификатор связки (если она уже была создана). Этот параметр возвращается, только если версия getP2PStatus равна 3 или выше.

Примеры

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

curl -X POST \
  https://abby.rbsuat.com/p2p-transfer/router/merchant/perform \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": "2d37e3be-9d8f-4ddb-9e0a-3a3c52c8d79a",
    "fromCard": {
      "pan": "5555555555554444",
      "cvc": "123",
      "expirationYear": 2029,
      "expiryMonth": 12,
      "cardholderName": "IVAN IVANOV"
    },
    "toCard": {
      "pan": "4111111111111111"
    },
    "email": "user@example.com",
    "ip": "x.x.x.x",
    "username": "api-user",
    "password": "api-password"
  }'

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

{
  "info": "Перенаправление...",
  "acsUrl": "https://acs.com",
  "paReq": "base64 pareq data",
  "termUrl": "finish 3ds url"
}

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

{
  "errorCode": 19,
  "errorMessage": "Merchant is not configured properly"
}

Статус P2P перевода

Чтобы получить статус зарегистрированного заказа P2P, используйте запрос https://abby.rbsuat.com/p2p-transfer/router/merchant/status.


При выполнении запроса необходимо использовать заголовок: Content-Type: application/json

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

ОбязательностьНазваниеТипОписание
ОбязательноusernameString [1..30]Логин учетной записи API продавца.
ОбязательноpasswordString [1..200]Пароль учетной записи API продавца.
НеобязательноlanguageString [2]Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.
УсловиеorderIdString [1..36]Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.
УсловиеorderNumberString [1..36]Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа.

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

ОбязательностьНазваниеТипОписание
ОбязательноerrorCodeString [1..2]Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
ОбязательноerrorMessageString [1..512]Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
НеобязательноorderStatusIntegerЗначение этого параметра указывает статус заказа в платежном шлюзе. Отсутствует, если заказ не был найден. Ниже приведен список доступных значений:
  • 0 - заказ зарегистрирован, но не оплачен;
  • 2 - проведена полная авторизация суммы заказа;
  • 3 - авторизация отменена;
  • 5 - инициирована авторизация через ACS банка-эмитента;
  • 6 - авторизация отклонена;
НеобязательноorderNumberString [1..36]Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа.
НеобязательноpanMaskedFromString [1..19]Маскированный номер карты для списания средств.
НеобязательноpanMaskedToString [1..19]Маскированный номер карты для зачисления средств.
НеобязательноamountInteger [0..12]Сумма платежа в минимальных единицах валюты (например, в копейках).
НеобязательноcurrencyString [3]Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры.
НеобязательноcreationDateIntegerДата регистрации заказа.
НеобязательноorderDescriptionString [1..600]Описание заказа передаваемое платежному шлюзу при регистрации.
В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется.
НеобязательноipString [1..39]IP адрес плательщика. IPv6 поддерживается во всех запросах (до 39 символов).
ОбязательноresultCodeIntegerКод ошибки при выполнении запроса. Возможные значения:
  • 0 - в случае успеха;
  • 1 - в случае ошибки.
НеобязательноorderParamsObjectОбъект с мерчантскими атрибутами заказа. В ответе может быть представлено более одного блока orderParams.
Объект должен передаваться следующим образом: {"param":"value","param2":"value2"}.
НеобязательноoperationListObjectОбъект, содержащий информацию о транзакциях, завершенных в заказе. В ответе может присутствовать более одного блока operationList.
Параметры, которые можно передать, описаны ниже.
НеобязательноbindingStringИдентификатор связки (если она уже была создана).

Ниже приведены возможные параметры блока operationList.

ОбязательностьНазваниеТипОписание
НеобязательноoperationTypeStringТип транзакции. Доступны следующие значения:
  • P2P_VERIFY - запрашивает сумму комиссии;
  • P2P_DEBIT - списывает деньги;
  • P2P_CREDIT - зачисляет деньги;
  • P2P_DEBIT_REVERSAL - отмена списания;
  • P2P_CREDIT_REVERSAL — отмена зачисления;
  • P2P_TRANSFER - перевод денег с карты на карту;
  • P2P_TRANSFER_REVERSAL - автоматический возврат, если при переводе произошла ошибка.
НеобязательноamountInteger [0..12]Сумма платежа в минимальных единицах валюты (например, в копейках).
НеобязательноcurrencyString [3]Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры.
НеобязательноdatetimeStringДата и время совершения операции.
НеобязательноresultCodeStringКод ответа от процессинга банка. Содержит числовое значение. См. список кодов ответа здесь.
НеобязательноresultCodeDescriptionString [1..512]Описание кода ошибки транзакции.
НеобязательноmaskedPanString [1..19]Маскированный номер карты или токена, использованного для оплаты.
НеобязательноcardholderNameString [1..26]Имя держателя карты (при наличии).
НеобязательноapprovalCodeString [6]Код авторизации МПС. Это поле имеет фиксированную длину (шесть символов) и может содержать цифры и латинские буквы.
НеобязательноrefNumString [12]Уникальный идентификатор операции, присваиваемый банком-эквайером при проведении платежа по банковской карте. RRN создаётся исключительно банком-эквайером и используется для последующего поиска, проверки и урегулирования операций (включая возвраты, чарджбеки и расследования).

Примеры

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

curl -X POST 'https://abby.rbsuat.com/p2p-transfer/router/merchant/status'
-H 'Content-Type: application/json'
--data-raw '{ 
  "username": "test_user",
  "password": "test_user_password",
  "orderId" : "0a4eaae8-653a-71a9-8259-46fc00a8ea58"
}'

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

{
  "orderStatus": 0,
  "errorCode": 0,
  "errorMessage": "Successful",
  "orderNumber": "2009",
  "amount": 50000,
  "currency": "933",
  "creationDate": 1674137044330,
  "orderParams": [],
  "operationList": [],
  "resultCode": 0
}

Коды ошибок

Системные ошибки (код 7)

Числовой кодКод ошибкиОписание
7BINDING_CREATION_ERRORОшибка создания связки
7GENDALF_SEARCH_ERRORОшибка поиска мерчанта в системе
7CANNOT_DETERMINE_REGISTRARНевозможно определить пользователя, создавшего заказ
7CANNOT_CHANGE_ORDER_TO_P2PНевозможно изменить тип заказа на P2P
7CANNOT_CHANGE_ORDER_TO_ECOMНевозможно изменить тип заказа на ECOM
7HESSIAN_REGISTER_P2P_ERRORОшибка регистрации P2P заказа
7HESSIAN_PERFORM_P2P_ERRORОшибка выполнения P2P заказа
7HESSIAN_PAYMENT_ORDER_ERRORОшибка оплаты заказа
7HESSIAN_ADD_ATTRIBUTES_ERRORОшибка добавления атрибутов
7UNKNOWN_DECISIONНеизвестное решение маршрутизации
7SYSTEM_ERRORСистемная ошибка

Ошибки валидации (код 14)

Числовой кодКод ошибкиОписание
14INVALID_PARAMETERНедопустимое значение параметра

Специфические ошибки (коды 15+)

Числовой кодКод ошибкиОписание
15ORDER_IN_WRONG_STATEЗаказ находится в недопустимом состоянии
16INVALID_PAYMENT_SYSTEM_FROMНедопустимая платежная система отправителя
17INVALID_PAYMENT_SYSTEM_TOНедопустимая платежная система получателя
18ORDER_NOT_FOUNDЗаказ не найден
19CREDIT_CLIENT_ID_MISSINGМерчант неправильно настроен
Категории:
eCommerceAPI V1
Beta
Категории
Результаты поиска