Переводы криптовалюты и ликвидных активов
В Платежном шлюзе разработан специальный сервис "Маршрутизатор платежей" для обработки операций покупки и продажи клиентами криптовалюты и прочих ликвидных активов.
В этих случаях используются P2P переводы со следующими особенностями:
- При регистрации заказа:
- передается параметр
transactionTypeIndicatorсо значениемC(криптовалюта) илиY(ликвидные активы, отличные от криптовалюты). - При передаче
transactionTypeIndicator=C/Yнеобходимо передавать направление перевода:TO_MERCHANT– деньги переводятся от клиента продавцу (покупка) илиFROM_MERCHANT– деньги переводятся от продавца к клиенту (продажа).
- передается параметр
- В зависимости от направления перевода в запросе оплаты указываются данные карты списания или карты зачисления:
- Если направление
TO_MERCHANT– указываются данные карты списания (fromCard). - Если направление
FROM_MERCHANT– указываются данные карты зачисления (toCard).
- Если направление
- Операции продажи клиенту активов (
TO_MERCHANT) со списанием средств с карт MasterCard, отличных от Белкарт (т.е. не находящимися под санкциями), автоматически маршрутизируются как eComm транзакции (тип заказа изменяется автоматически).
Ограничения
- Операции покупки у клиента активов (
FROM_MERCHANT) с выводом средств на карты системы MasterCard, отличных от Белкарт (т.е. не находящихся под санкциями), запрещены. - Запрещены все платёжные системы, кроме MasterCard, Белкарт и Visa.
Методы API
Базовый URL-адрес
Для отправки запросов в сервис "Маршрутизатор платежей" используется базовый URL-адрес: https://abby.rbsuat.com/p2p-transfer/router/merchant.
Формат данных
- Формат запросов:
application/json - Формат ответов:
application/json(возвращается какbyte[]) - Кодировка: UTF-8
Аутентификация
Для аутентификации используются параметры:
userName- имя пользователя API Мерчантаpassword- пароль Мерчанта
Регистрация заказа
Для регистрации заказа используется запрос https://abby.rbsuat.com/p2p-transfer/router/merchant/register.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | username | String [1..30] | Логин учетной записи API продавца. |
| Обязательно | password | String [1..30] | Пароль учетной записи API продавца. |
| Обязательно | orderNumber | String [1..36] | Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа. |
| Обязательно | amount | Integer [0..12] | Сумма платежа в минимальных единицах валюты (например, в копейках). |
| Обязательно | currency | String [3] | Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры. |
| Обязательно | returnUrl | String [1..512] | Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противном случае пользователь будет перенаправлен по адресу следующего вида: https://abby.rbsuat.com/payment/<merchant_address>. |
| Необязательно | failUrl | String [1..512] | Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противном случае пользователь будет перенаправлен по адресу следующего вида: https://abby.rbsuat.com/payment/<merchant_address>. |
| Необязательно | orderDescription | String [1..600] | Описание заказа передаваемое платежному шлюзу при регистрации. В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется. |
| Необязательно | language | String [2] | Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина. Поддерживаемые языки: ru,en,by,pl. |
| Необязательно | clientId | String [0..255] | Номер клиента (ID) в системе мерчанта — до 255 символов. Используется для реализации функциональности связок. Может возвращаться в ответе, если мерчанту разрешено создавать связки. Указание этого параметра при обработке платежей по связке обязательно. В противном случае платеж будет невозможен. |
| Необязательно | merchantLogin | String [1..255] | Чтобы зарегистрировать заказ от имени другого мерчанта, укажите его логин (для API-аккаунта) в этом параметре. Можно использовать, только если у вас есть разрешение на просмотр транзакций других продавцов или если указанный продавец является вашим дочерним продавцом. |
| Необязательно | dynamicCallbackUrl | String [1..512] | Параметр для передачи динамического адреса для получения "платежных" callback-уведомлений по заказу, активированных для мерчанта (успешная авторизация, успешное списание, возврат, отмена, отклонение платежа по таймауту, отклонение card present платежа). "Не платежные" callback-уведомления (включение/выключение связки, создание связки), будут отправляться на статический callback адрес. |
| Необязательно | sessionTimeoutSecs | Integer [1..9] | Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта, или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается. |
| Необязательно | sessionExpiredDate | String | Дата и время истечения срока действия заказа. Формат: yyyy-MM-ddTHH:mm:ss.Если этот параметр не передается в запросе, то для определения времени истечения срока действия заказа используется параметр sessionTimeoutSecs. |
| Необязательно | bindingId | String [1..255] | Идентификатор уже существующей связки (идентификатор карты, токенизированной шлюзом). Его можно использовать, только если у мерчанта есть разрешение на работу со связками. Если этот параметр передается в этом запросе, это означает, что:
bindingId, или seToken. |
| Необязательно | creditBindingId | String [0..255] | Идентификатор связки карты для зачисления. Используется при переводах с карты на карту, когда заранее известна карта получателя. Этот параметр нужно сначала передать в запросе на регистрацию платежа (registerP2P.do - здесь же должен быть передан параметр clientId), затем в запросе на перевод средств по cвязке (performP2PByBinding.do - значение параметра creditBindingId, переданного в registerP2P.do, должно быть передано в параметре bindingId в блоке toCard). |
| Необязательно | params | Object | Поля дополнительной информации для последующего хранения, передаются в следующем виде: "params": [ {"name": "param1", "value": "value1"}, {"name": "param2", "value": "value2"} ].Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах банка. |
| Обязательно | transactionTypeIndicator | String | Используется в однонаправленных типах транзакций. Возможны такие значения:
|
| Условие | transferDirection | String [1..16] | Направление операции. Обязательно при покупке или продаже криптовалюты (transactionTypeIndicator=C) или ликвидных активов (transactionTypeIndicator=Y). Возможные значения:
|
| Необязательно | feeInput | String | Размер комиссии в минимальных единицах валюты. Функциональность должна быть включена на уровне продавца в шлюзе. Если для мерчанта выставлено соответствующее разрешение, и он осуществляет операции AFT, комиссия мерчанта поступает в запросе на регистрацию и отправляется в сообщении в процессинг.
|
| Необязательно | shippingPayerData | Object | Объект, содержащий данные о доставке клиенту. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры. |
| Необязательно | preOrderPayerData | Object | Объект, содержащий данные предварительного заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры. |
| Необязательно | orderPayerData | Object | Объект, содержащий данные о плательщике заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры. |
| Необязательно | billingAndShippingAddressMatchIndicator | String [1] | Индикатор соответствия платежного адреса владельца карты и адреса доставки. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. Возможные значения:
|
| Условие | billingPayerData | Object | Блок с регистрационными данными клиента (адрес, почтовый индекс), необходимый для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если функция включена для продавца на стороне Платежного шлюза. Должен был включен либо в запрос registerP2P.do, либо в запрос performP2P.do. См. вложенные параметры. |
Описание параметров объекта shippingPayerData:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | shippingCity | String [1..50] | Город заказчика (из адреса доставки) |
| Необязательно | shippingCountry | String [1..50] | Страна заказчика |
| Необязательно | shippingAddressLine1 | String [1..50] | Основной адрес клиента (из адреса доставки) |
| Необязательно | shippingAddressLine2 | String [1..50] | Основной адрес клиента (из адреса доставки) |
| Необязательно | shippingAddressLine3 | String [1..50] | Основной адрес клиента (из адреса доставки) |
| Необязательно | shippingPostalCode | String [1..16] | Почтовый индекс клиента для доставки |
| Необязательно | shippingState | String [1..50] | Штат/регион покупателя (из адреса доставки) |
| Необязательно | shippingMethodIndicator | Integer [2] | Индикатор способа доставки. Возможные значения:
|
| Необязательно | deliveryTimeframe | Integer [2] | Срок поставки товара. Возможные значения:
|
| Необязательно | deliveryEmail | String [1..254] | Целевой адрес электронной почты для доставки цифрового распространения. Предпочтительно передавать электронную почту в самостоятельном параметре запроса email (но если вы передадите его в этом блоке, к нему применятся те же правила). |
Описание параметров объекта preOrderPayerData:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | preOrderDate | String [10] | Ожидаемая дата доставки (для предзаказанных покупок) в формате ГГГГММДД. |
| Необязательно | preOrderPurchaseInd | Integer [2] | Индикатор размещения клиентом заказа на доступную или будущую доставку. Возможные значения:
|
| Необязательно | reorderItemsInd | Integer [2] | Индикатор того, что клиент перебронирует ранее оплаченную доставку в составе нового заказа. Возможные значения:
|
Описание параметров объекта orderPayerData.
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | homePhone | String [7..15] | Домашний телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
|
| Необязательно | workPhone | String [7..15] | Рабочий телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
|
| Необязательно | mobilePhone | String [7..15] | Номер мобильного телефона владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
Для платежей по VISA с 3DS авторизацией необходимо указать либо электронную почту, либо номер телефона владельца карты. Если у вас настроено отображение номера телефона на платежной странице и вы указали неверный номер телефона, клиент сможет исправить его на платежной странице. |
Ниже приведены параметры блока billingPayerData (данные об адресе регистрации клиента).
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | billingCity | String [0..50] | Город, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно для AFT транзакций с Visa. |
| Условие | billingCountry | String [0..50] | Страна, зарегистрированная по конкретной карте банка-эмитента. Формат: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) или наименование страны. Рекомендуем передавать двух/трехбуквенный ISO код страны. Обязательно для AFT транзакций с Visa. |
| Условие | billingAddressLine1 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента (адрес плательщика). Строка 1. Обязательно к передаче для AVS-проверки. Обязательно для AFT транзакций с Visa. |
| Необязательно | billingAddressLine2 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 2. |
| Необязательно | billingAddressLine3 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 3. |
| Необязательно | billingPostalCode | String [0..9] | Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно к передаче для AVS-проверки. |
| Необязательно | billingState | String [0..50] | Штат, зарегистрированный по конкретной карте у Банка Эмитента. Формат: полное значение кода ISO 3166-2, его часть или наименование штата/региона. Может содержать буквы только латинского алфавита. Рекомендуем передавать двухбуквенный ISO код штата/региона. |
Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | errorCode | String [1..2] | Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
|
| Обязательно | errorMessage | String [1..512] | Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде. Язык описания задается в параметре language запроса. |
| Необязательно | formUrl | String [1..512] | URL платежной формы, на которую будет перенаправлен покупатель. URL не возвращается, если регистрация заказа не прошла из-за ошибки, указанной в errorCode. |
| Необязательно | orderId | String [1..36] | Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза. |
| Необязательно | orderNumber | String [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
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | username | String [1..30] | Логин учетной записи API продавца. |
| Обязательно | password | String [1..30] | Пароль учетной записи API продавца. |
| Обязательно | orderId | String [1..36] | Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза. |
| Необязательно | language | String [2] | Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина. Поддерживаемые языки: ru,en,by,pl. |
| Необязательно | amount | String [0..12] | Сумма перевода в минимальных единицах валюты (например, в копейках). Этот параметр передается, если плательщик решит изменить сумму перевода при осуществлении денежного перевода. |
| Необязательно | billingPayerData | Object | Блок с регистрационными данными клиента (адрес, почтовый индекс), необходимый для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если функция включена для продавца на стороне Платежного шлюза. См. вложенные параметры. |
| Обязательно | fromCard | Object | Блок с атрибутами карты списания. См. вложенные параметры. |
| Обязательно | toCard | Object | Блок с атриубутами карты начисления. См. вложенные параметры. |
Блок fromCard включает в себя следующие параметры:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | pan | String [1..19] | Номер карты списания денежных средств. |
| Условие | cvc | String [3] | Код CVC/CVV2 на обратной стороне карты списания. Обязателен, если оплата не проводится по связке и/или у продавца нет разрешения на оплату без CVC. Допускаются только цифры. |
| Условие | expirationYear | Integer [4] | Год истечения действия карты списания. Принимаются значения от 2000 до 2200. |
| Условие | expirationMonth | Integer [2] | Месяц истечения действия карты списания. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12. |
| Обязательно | cardholderName | String [1..26] | Имя держателя карты списания. |
| Условие | seToken | String | Зашифрованные данные карты. Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь. |
Блок toCard включает в себя следующие параметры:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | pan | String [1..19] | Номер карты для зачисления денежных средств. |
| Необязательно | expirationYear | Integer [4] | Год истечения действия карты зачисления. Принимаются значения от 2000 до 2200. |
| Необязательно | expirationMonth | Integer [2] | Месяц истечения действия карты зачисления. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12. |
| Необязательно | cardholderName | String [1..26] | Имя держателя карты зачисления. |
| Условие | seToken | String | Зашифрованные данные карты. Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь. |
Ниже приведены параметры блока billingPayerData (данные об адресе регистрации клиента).
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | billingCity | String [0..50] | Город, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно для AFT транзакций с Visa. |
| Условие | billingCountry | String [0..50] | Страна, зарегистрированная по конкретной карте банка-эмитента. Формат: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) или наименование страны. Рекомендуем передавать двух/трехбуквенный ISO код страны. Обязательно для AFT транзакций с Visa. |
| Условие | billingAddressLine1 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента (адрес плательщика). Строка 1. Обязательно к передаче для AVS-проверки. Обязательно для AFT транзакций с Visa. |
| Необязательно | billingAddressLine2 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 2. |
| Необязательно | billingAddressLine3 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 3. |
| Необязательно | billingPostalCode | String [0..9] | Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно к передаче для AVS-проверки. |
| Необязательно | billingState | String [0..50] | Штат, зарегистрированный по конкретной карте у Банка Эмитента. Формат: полное значение кода ISO 3166-2, его часть или наименование штата/региона. Может содержать буквы только латинского алфавита. Рекомендуем передавать двухбуквенный ISO код штата/региона. |
Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | errorCode | String [1..2] | Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
|
| Обязательно | errorMessage | String [1..512] | Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде. Язык описания задается в параметре language запроса. |
Блок feeDescriptionList включает в себя следующие параметры:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | feeAmount | Integer [1..12] | Сумма комиссии. |
| Необязательно | feeCurrency | String [3] | Код валюты платежа ISO 4217. |
| Необязательно | feeDescription | String [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).
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | username | String [1..30] | Логин учетной записи API продавца. |
| Обязательно | password | String [1..30] | Пароль учетной записи API продавца. |
| Необязательно | language | String [2] | Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина. Поддерживаемые языки: ru,en,by,pl. |
| Обязательно | orderId | String [1..36] | Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза. |
| Необязательно | ip | String [1..39] | IP адрес плательщика. IPv6 поддерживается во всех запросах (до 39 символов). |
| Необязательно | email | String [1..64] | Электронная почта плательщика. |
| Необязательно | amount | String [0..12] | Сумма перевода в минимальных единицах валюты (например, в копейках). Этот параметр передается, если плательщик решит изменить сумму перевода при осуществлении денежного перевода. |
| Необязательно | type | String | В случае денежного перевода с данными только по одной карте необходимо передать в этом параметре соответствующее значение:WITHOUT_FROM_CARD - без указания карты для списания средств.WITHOUT_TO_CARD - без указания карты для зачисления. Если речь идет об обычном денежном переводе с карты на карту, то здесь необходимо передать следующее значение: STANDARD. |
| Необязательно | amountInput | Integer [0..12] | Сумма перевода в минимальных единицах валюты (например, в копейках). Если в этом параметре указана сумма, перевод будет осуществлен на эту сумму (независимо от суммы, переданной в запросе на оформление заказа). |
| Необязательно | captcha | String | CAPTCHA (текст, предназначенный для того, чтобы отличать человеческий ввод от машинного) |
| Необязательно | threeDSSDK | Boolean | Возможные значения: true или false Флаг, показывающий, что платеж поступает из 3DS SDK. |
| Необязательно | threeDSSDKEncData | String | Зашифрованные данные об устройстве. Параметр является обязательным для SDK. |
| Необязательно | threeDSSDKReferenceNumber | String | Официальный идентификатор 3DS2 SDK |
| Необязательно | threeDSSDKEphemPubKey | String | Публичная часть эфемерного ключа. Требуется для установки сеанса с ACS. Параметр является обязательным для SDK. |
| Необязательно | threeDSSDKAppId | String | Уникальный идентификатор SDK. Параметр является обязательным для SDK. |
| Необязательно | threeDSSDKTransId | String | Уникальный идентификатор транзакции в SDK. Параметр является обязательным для SDK. |
| Необязательно | threeDSMethodNotificationUrl | String [1..512] | URL-адрес для отправки уведомления о прохождении проверки на ACS. |
| Условие | threeDSServerTransId | String [1..36] | Идентификатор транзакции, созданный на сервере 3DS. Обязателен для аутентификации 3DS. |
| Необязательно | threeDSVer2FinishUrl | String [1..512] | URL-адрес, по которому клиент должен быть перенаправлен после аутентификации на сервере ACS. |
| Условие | threeDSVer2MdOrder | String [1..36] | Номер заказа, который был зарегистрирован в первой части запроса в рамках 3DS2 операции. Обязателен для аутентификации 3DS. Если данный параметр присутствует в запросе, то используется mdOrder, который передается в настоящем параметре. В таком случае регистрация заказа не происходит, а происходит сразу оплата заказа.Этот параметр передается только при использовании методов мгновенной оплаты, т.е., когда заказ регистрируется и оплачивается в рамках одного запроса. |
| Необязательно | bindingNotNeeded | Boolean | Допустимые значения:
|
| Условие | originalPaymentNetRefNum | String | Идентификатор оригинальной или предыдущей успешной транзакции в платежной системе по отношению к выполняемой операции по связке - TRN ID. Передается, если значение параметра tii = R,U или F.Обязателен при использовании связок мерчанта в переводах по связке. |
| Условие | tii | String | Идентификатор инициатора транзакции. Параметр, указывающий, какой тип операции будет выполнять инициатор (Клиент или Мерчант). Обязательно для перевода с использованием связки в блоке fromCard или собственной связки мерчанта. Возможные значения |
| Обязательно | params | Object | Поля дополнительной информации для последующего хранения, передаются в следующем виде: {"param":"value","param2":"value2"}.Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах банка. По умолчанию передаются orderNumber (номер заказа) и orderDescription (описание заказа).orderDescription не должно превышать 99 символов, не используйте следующие символы: %, +, возврат каретки \r и перевод строки \n).Чтобы включить эту функциональность, обратитесь в банк. В объекте params запроса на перевод денег с карты на карту могут быть переданы следующие данные клиента (формат значений зависит от используемого метода обработки данных):
params следующую информацию (формат значений определяется используемым методом обработки данных):
При необходимости обратитесь в команду поддержки для указания постоянных значений параметров payer* и recipientName, чтобы не передавать их каждый раз во всех запросах. |
| Необязательно | shippingPayerData | Object | Объект, содержащий данные о доставке клиенту. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры. |
| Необязательно | preOrderPayerData | Object | Объект, содержащий данные предварительного заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры. |
| Необязательно | orderPayerData | Object | Объект, содержащий данные о плательщике заказа. Этот параметр используется для дальнейшей 3DS-аутентификации клиента. См. вложенные параметры. |
| Условие | billingPayerData | Object | Блок с регистрационными данными клиента (адрес, почтовый индекс), необходимый для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если функция включена для продавца на стороне Платежного шлюза. Должен был включен либо в запрос registerP2P.do, либо в запрос performP2P.do. См. вложенные параметры. |
| Обязательно | fromCard | Object | Блок с атрибутами карты списания. См. вложенные параметры. |
| Обязательно | toCard | Object | Блок с атрибутами карты начисления. См. вложенные параметры. |
Возможные значения параметры tii:
Значение tii | Описание | Тип транзакции | Инициатор транзакции | Данные карты для транзакции | Данные карты сохраняются после транзакции | Комментарий |
|---|---|---|---|---|---|---|
| CI | Инициирующий - Обычный (CIT) | Инициирующая | Покупатель | Вводится покупателем | Да | Транзакция электронной коммерции с сохранением связки. |
| F | Внеплановый платеж (CIT) | Последующая | Покупатель | Клиент выбирает карту вместо ручного ввода | Нет | Транзакция электронной коммерции, использующая ранее сохраненную обычную связку. |
Описание параметров объекта shippingPayerData:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | shippingCity | String [1..50] | Город заказчика (из адреса доставки) |
| Необязательно | shippingCountry | String [1..50] | Страна заказчика |
| Необязательно | shippingAddressLine1 | String [1..50] | Основной адрес клиента (из адреса доставки) |
| Необязательно | shippingAddressLine2 | String [1..50] | Основной адрес клиента (из адреса доставки) |
| Необязательно | shippingAddressLine3 | String [1..50] | Основной адрес клиента (из адреса доставки) |
| Необязательно | shippingPostalCode | String [1..16] | Почтовый индекс клиента для доставки |
| Необязательно | shippingState | String [1..50] | Штат/регион покупателя (из адреса доставки) |
| Необязательно | shippingMethodIndicator | Integer [2] | Индикатор способа доставки. Возможные значения:
|
| Необязательно | deliveryTimeframe | Integer [2] | Срок поставки товара. Возможные значения:
|
| Необязательно | deliveryEmail | String [1..254] | Целевой адрес электронной почты для доставки цифрового распространения. Предпочтительно передавать электронную почту в самостоятельном параметре запроса email (но если вы передадите его в этом блоке, к нему применятся те же правила). |
Описание параметров объекта preOrderPayerData:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | preOrderDate | String [10] | Ожидаемая дата доставки (для предзаказанных покупок) в формате ГГГГММДД. |
| Необязательно | preOrderPurchaseInd | Integer [2] | Индикатор размещения клиентом заказа на доступную или будущую доставку. Возможные значения:
|
| Необязательно | reorderItemsInd | Integer [2] | Индикатор того, что клиент перебронирует ранее оплаченную доставку в составе нового заказа. Возможные значения:
|
Описание параметров объекта orderPayerData.
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | homePhone | String [7..15] | Домашний телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
|
| Необязательно | workPhone | String [7..15] | Рабочий телефон владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
|
| Необязательно | mobilePhone | String [7..15] | Номер мобильного телефона владельца карты. Необходимо всегда указывать код страны, но знак + или 00 в начале можно указать или опустить. Номер должен иметь длину от 7 до 15 цифр. Таким образом, возможны следующие значения:
Для платежей по VISA с 3DS авторизацией необходимо указать либо электронную почту, либо номер телефона владельца карты. Если у вас настроено отображение номера телефона на платежной странице и вы указали неверный номер телефона, клиент сможет исправить его на платежной странице. |
Ниже приведены параметры блока billingPayerData (данные об адресе регистрации клиента).
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | billingCity | String [0..50] | Город, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно для AFT транзакций с Visa. |
| Условие | billingCountry | String [0..50] | Страна, зарегистрированная по конкретной карте банка-эмитента. Формат: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) или наименование страны. Рекомендуем передавать двух/трехбуквенный ISO код страны. Обязательно для AFT транзакций с Visa. |
| Условие | billingAddressLine1 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента (адрес плательщика). Строка 1. Обязательно к передаче для AVS-проверки. Обязательно для AFT транзакций с Visa. |
| Необязательно | billingAddressLine2 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 2. |
| Необязательно | billingAddressLine3 | String [0..50] | Адрес, зарегистрированный по конкретной карте у Банка Эмитента. Строка 3. |
| Необязательно | billingPostalCode | String [0..9] | Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно к передаче для AVS-проверки. |
| Необязательно | billingState | String [0..50] | Штат, зарегистрированный по конкретной карте у Банка Эмитента. Формат: полное значение кода ISO 3166-2, его часть или наименование штата/региона. Может содержать буквы только латинского алфавита. Рекомендуем передавать двухбуквенный ISO код штата/региона. |
Блок fromCard включает в себя следующие параметры:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | pan | String [1..19] | Номер карты списания денежных средств. |
| Условие | cvc | String [3] | Код CVC/CVV2 на обратной стороне карты списания. Обязателен, если оплата не проводится по связке и/или у продавца нет разрешения на оплату без CVC. Допускаются только цифры. |
| Условие | expirationYear | Integer [4] | Год истечения действия карты списания. Принимаются значения от 2000 до 2200. |
| Условие | expirationMonth | Integer [2] | Месяц истечения действия карты списания. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12. |
| Необязательно | cardholderName | String [1..26] | Имя держателя карты списания. |
| Условие | seToken | String | Зашифрованные данные карты. Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь. |
| Условие | threeDsAuthResult | Object | Блок с данными о результате аутентификации 3 DS с использованием MPI/3DS Server мерчанта. Обязателен для транзакций перевода с карты на карту с использованием MPI/3DS Server мерчанта. См. вложенные параметры. |
При платежах с использованием токенов (APPLE, SAMSUNG, GOOGLE) вместо данных карты в блоке fromCard передается:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | vendor | String | Параметр используется при оплате через токены. В качестве значения передается наименование поставщика платежного сервиса: APPLE, GOOGLE, SAMSUNG.Данный параметр должен передаваться одновременно с параметром paymentToken (значение токена).Данный параметр не может присутствовать одновременно с параметрами: pan, cvc, expiry, bindingId, seToken. |
| Условие | paymentToken | String [1..8192] | Значение токена поставщика, указанного в параметре vendor (APPLE, GOOGLE, SAMSUNG). Если vendor указан, параметр является обязательным к передаче.Данный параметр не может присутствовать одновременно с параметрами: pan, cvc, expiry, bindingId, seToken. |
| Необязательно | decryptedToken | Boolean | Расшифрованный токен для платежей через вендоров (ApplePay, GooglePay и т. д.). Возможные значения:
Если не передавать этот параметр, то по умолчанию будет считаться, что передано decryptedToken = false. |
| Необязательно | protocolVersion | String | Версия протокола, определенная Google для платежного токена: ECv1 (по умолчанию) или ECv2 |
Ниже перечислены параметры блока threeDsAuthResult (данные о результате аутентификации 3 DS).
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | cavv | String [0..200] | Значение проверки аутентификации владельца карты. Указан только после оплаты заказа и в случае наличия соответствующего разрешения. |
| Необязательно | xid | String [1..80] | Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае наличия соответствующего разрешения. |
| Необязательно | eci | Integer [1..4] | Электронный коммерческий индикатор. Указан только после оплаты заказа и в случае наличия соответствующего разрешения. Ниже приводится расшифровка ECI-кодов.
|
| Условие | authenticationTypeIndicator | String | Тип аутентификации 3DS. Этот параметр обязателен для оплаты через ваш 3DS сервер с 3DS 2. Для 3DS 1 и SSL платежей этот параметр необязателен и определяется в зависимости от значения ECI. Допустимые значения:
|
| Необязательно | threeDSProtocolVersion | String | Версия протокола 3DS. Возможные значения: "2.1.0", "2.2.0" для 3DS2. Если в запросе не передается threeDSProtocolVersion, то для авторизации 3D Secure будет использоваться значение по умолчанию (2.1.0 - для 3DS 2). |
Блок toCard включает в себя следующие параметры:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | pan | String [1..19] | Номер карты для зачисления денежных средств. |
| Необязательно | expirationYear | Integer [4] | Год истечения действия карты зачисления. Принимаются значения от 2000 до 2200. |
| Необязательно | expirationMonth | Integer [2] | Месяц истечения действия карты зачисления. Доступные значения: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12. |
| Необязательно | cardholderName | String [1..26] | Имя держателя карты зачисления. |
| Условие | seToken | String | Зашифрованные данные карты. Обязательно, если используется вместо данных карты. Обязательные параметры для строки seToken: timestamp, UUID, PAN, EXPDATE, MDORDER. Подробнее о генерации seToken см. здесь. |
При аутентификации по протоколу 3DS2 также передаются следующие параметры:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | threeDSServerTransId | String [1..36] | Идентификатор транзакции, созданный на сервере 3DS. Обязателен для аутентификации 3DS. |
| Необязательно | threeDSVer2FinishUrl | String [1..512] | URL-адрес, по которому клиент должен быть перенаправлен после аутентификации на сервере ACS. |
| Необязательно | threeDSMethodNotificationUrl | String [1..512] | URL-адрес для отправки уведомления о прохождении проверки на ACS. |
Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | errorCode | String [1..2] | Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
|
| Необязательно | errorMessage | String [1..512] | Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде. Язык описания задается в параметре language запроса. |
| Необязательно | info | String | Результат попытки перевода средств. Значение в случае успешного перевода: "Ваш платеж обработан, происходит переадресация..." Значение в случае ошибки: "Происходит переадресация..." |
| Условие | acsUrl | String [1..512] | URL-адрес для редиректа на ACS. Возвращается при успешном ответе в случае оплаты 3D-Secure, если требуется редирект на ACS. Подробнее см. Редирект на ACS. |
| Условие | paReq | String [1..255] | PAReq (Payment Authentication Request) — сообщение, которое необходимо отправить в ACS вместе с редиректом. Возвращается при успешном ответе в случае оплаты 3D-Secure, если необходим редирект на ACS. Это сообщение содержит данные в кодировке Base64, необходимые для аутентификации держателя карты. Подробнее см. Редирект на ACS. |
| Необязательно | termUrl | String [1..512] | При успешном ответе в случае оплаты 3D-Secure. URL-адрес для перенаправления клиента после взаимодействия с ACS для завершения платежа. |
| Необязательно | originalPaymentNetRefNum | String | Идентификатор оригинальной или предыдущей успешной транзакции в платежной системе по отношению к выполняемой операции по связке - TRN ID. Передается, если значение параметра tii = R,U или F.Обязателен при использовании связок мерчанта в переводах по связке. |
| Условие | statusResponse | Object | Параметры статуса ответа. Этот блок возвращается, только если у вас включена соответствующая настройка. Для включения этой функциональности, обратитесь в техническую поддержку. См. вложенные параметры. |
При аутентификации по протоколу 3DS2 в ответ на первый запрос приходят следующие параметры:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | is3DSVer2 | Boolean | Возможные значения: true или false Флаг, показывающий, что платеж поступает из 3DS2. |
| Обязательно | threeDSServerTransId | String [1..36] | Идентификатор транзакции, созданный на сервере 3DS. Обязателен для аутентификации 3DS. |
| Необязательно | threeDSMethodUrl | String [1..512] | URL-адрес сервера ACS для сбора данных браузера. |
| Обязательно | threeDSMethodUrlServer | String [1..512] | URL-адрес сервера 3DS для сбора данных браузера, которые будут включены в AReq (Authentication Request) с сервера 3DS на сервер ACS. |
| Необязательно | threeDSMethodDataPacked | String [1..1024] | Данные CReq (Challenge Response) в кодировке Base-64 для отправки на сервер ACS. |
| Необязательно | threeDSMethodURLServerDirect | String [1..512] | URL-адрес 3dsmethod.do для выполнения метода 3DS на сервере 3DS через платежный шлюз (при наличии соответствующего разрешения на уровне продавца). |
Ниже приведены параметры, которые должны присутствовать в ответе, после повторного запроса платежа и необходимости перенаправления клиента в ACS при аутентификации по протоколу 3DS2:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Условие | acsUrl | String [1..512] | URL-адрес для редиректа на ACS. Возвращается при успешном ответе в случае оплаты 3D-Secure, если требуется редирект на ACS. Подробнее см. Редирект на ACS. |
| Условие | packedCReq | String | Запакованные данные challenge request. Возвращается при успешном ответе в случае оплаты 3D-Secure, если требуется редирект на ACS. Это значение следует использовать как значение параметра creq ссылки на ACS (acsUrl), для перенаправления клиента на ACS. Подробнее см. Редирект на ACS. |
Параметры блока statusResponse:
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | errorCode | String [1..2] | Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
|
| Обязательно | errorMessage | String [1..512] | Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде. Язык описания задается в параметре language запроса. |
| Необязательно | orderStatus | Integer | Значение этого параметра указывает статус заказа в платежном шлюзе. Отсутствует, если заказ не был найден. Ниже приведен список доступных значений:
|
| Необязательно | orderNumber | String [1..36] | Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа. |
| Необязательно | panMaskedFrom | String [1..19] | Маскированный номер карты для списания средств. |
| Необязательно | panMaskedTo | String [1..19] | Маскированный номер карты для зачисления средств. |
| Необязательно | amount | Integer [0..12] | Сумма платежа в минимальных единицах валюты (например, в копейках). |
| Необязательно | currency | String [3] | Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры. |
| Необязательно | creationDate | Integer | Дата регистрации заказа. |
| Необязательно | orderDescription | String [1..600] | Описание заказа передаваемое платежному шлюзу при регистрации. В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется. |
| Необязательно | ip | String [1..39] | IP адрес плательщика. IPv6 поддерживается во всех запросах (до 39 символов). |
| Обязательно | resultCode | Integer | Код ошибки при выполнении запроса. Возможные значения:
|
| Необязательно | orderParams | Object | Объект с мерчантскими атрибутами заказа. В ответе может быть представлено более одного блока orderParams.Объект должен передаваться следующим образом: {"param":"value","param2":"value2"}. |
| Необязательно | operationList | Object | Объект, содержащий информацию о транзакциях, завершенных в заказе. В ответе может присутствовать более одного блока operationList.Параметры, которые можно передать, описаны ниже. |
| Необязательно | binding | String | Идентификатор связки (если она уже была создана). Этот параметр возвращается, только если версия 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
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | username | String [1..30] | Логин учетной записи API продавца. |
| Обязательно | password | String [1..30] | Пароль учетной записи API продавца. |
| Необязательно | language | String [2] | Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина. Поддерживаемые языки: ru,en,by,pl. |
| Условие | orderId | String [1..36] | Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза. |
| Условие | orderNumber | String [1..36] | Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа. |
Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | errorCode | String [1..2] | Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
|
| Обязательно | errorMessage | String [1..512] | Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде. Язык описания задается в параметре language запроса. |
| Необязательно | orderStatus | Integer | Значение этого параметра указывает статус заказа в платежном шлюзе. Отсутствует, если заказ не был найден. Ниже приведен список доступных значений:
|
| Необязательно | orderNumber | String [1..36] | Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа. |
| Необязательно | panMaskedFrom | String [1..19] | Маскированный номер карты для списания средств. |
| Необязательно | panMaskedTo | String [1..19] | Маскированный номер карты для зачисления средств. |
| Необязательно | amount | Integer [0..12] | Сумма платежа в минимальных единицах валюты (например, в копейках). |
| Необязательно | currency | String [3] | Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры. |
| Необязательно | creationDate | Integer | Дата регистрации заказа. |
| Необязательно | orderDescription | String [1..600] | Описание заказа передаваемое платежному шлюзу при регистрации. В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется. |
| Необязательно | ip | String [1..39] | IP адрес плательщика. IPv6 поддерживается во всех запросах (до 39 символов). |
| Обязательно | resultCode | Integer | Код ошибки при выполнении запроса. Возможные значения:
|
| Необязательно | orderParams | Object | Объект с мерчантскими атрибутами заказа. В ответе может быть представлено более одного блока orderParams.Объект должен передаваться следующим образом: {"param":"value","param2":"value2"}. |
| Необязательно | operationList | Object | Объект, содержащий информацию о транзакциях, завершенных в заказе. В ответе может присутствовать более одного блока operationList.Параметры, которые можно передать, описаны ниже. |
| Необязательно | binding | String | Идентификатор связки (если она уже была создана). Этот параметр возвращается, только если версия getP2PStatus равна 3 или выше. |
Ниже приведены возможные параметры блока operationList.
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | operationType | String | Тип транзакции. Доступны следующие значения:
|
| Необязательно | amount | Integer [0..12] | Сумма платежа в минимальных единицах валюты (например, в копейках). |
| Необязательно | currency | String [3] | Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры. |
| Необязательно | datetime | String | Дата и время совершения операции. |
| Необязательно | resultCode | String | Код ответа от процессинга банка. Содержит числовое значение. См. список кодов ответа здесь. |
| Необязательно | resultCodeDescription | String [1..512] | Описание кода ошибки транзакции. |
| Необязательно | maskedPan | String [1..19] | Маскированный номер карты или токена, использованного для оплаты. |
| Необязательно | cardholderName | String [1..26] | Имя держателя карты (при наличии). |
| Необязательно | refNum | String [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)
| Числовой код | Код ошибки | Описание |
|---|---|---|
7 | BINDING_CREATION_ERROR | Ошибка создания связки |
7 | GENDALF_SEARCH_ERROR | Ошибка поиска мерчанта в системе |
7 | CANNOT_DETERMINE_REGISTRAR | Невозможно определить пользователя, создавшего заказ |
7 | CANNOT_CHANGE_ORDER_TO_P2P | Невозможно изменить тип заказа на P2P |
7 | CANNOT_CHANGE_ORDER_TO_ECOM | Невозможно изменить тип заказа на ECOM |
7 | HESSIAN_REGISTER_P2P_ERROR | Ошибка регистрации P2P заказа |
7 | HESSIAN_PERFORM_P2P_ERROR | Ошибка выполнения P2P заказа |
7 | HESSIAN_PAYMENT_ORDER_ERROR | Ошибка оплаты заказа |
7 | HESSIAN_ADD_ATTRIBUTES_ERROR | Ошибка добавления атрибутов |
7 | UNKNOWN_DECISION | Неизвестное решение маршрутизации |
7 | SYSTEM_ERROR | Системная ошибка |
Ошибки валидации (код 14)
| Числовой код | Код ошибки | Описание |
|---|---|---|
14 | INVALID_PARAMETER | Недопустимое значение параметра |
Специфические ошибки (коды 15+)
| Числовой код | Код ошибки | Описание |
|---|---|---|
15 | ORDER_IN_WRONG_STATE | Заказ находится в недопустимом состоянии |
16 | INVALID_PAYMENT_SYSTEM_FROM | Недопустимая платежная система отправителя |
17 | INVALID_PAYMENT_SYSTEM_TO | Недопустимая платежная система получателя |
18 | ORDER_NOT_FOUND | Заказ не найден |
19 | CREDIT_CLIENT_ID_MISSING | Мерчант неправильно настроен |