Интерфейс REST

Использование функций или функциональности системы не описанных в настоящем документе не допустимо.

Запросы регистрации заказа (REST)

Запрос регистрации заказа (REST)

Для регистрации заказа используется запрос register.do (см. раздел Координаты подключения).
Описание метода находится по ссылке

По умолчанию в процессинг банка передаются поля:

  • orderNumber – номер заказа в системе магазина;
  • description – описание заказа (не более 99символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).

Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

Запрос регистрации заказа с предавторизацией (REST)

Для запроса регистрации заказа с предавторизацией используется запрос registerPreAuth.do (см. раздел Координаты подключения).
Описание метода находится по ссылке

По умолчанию в процессинг банка передаются поля:

  • orderNumber – номер заказа в системе магазина;
  • description – описание заказа (не более 99символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).

Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

Коды ошибок (поле errorCode)

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Заказ с таким номером уже обработан
1 Заказ с таким номером был зарегистрирован, но не был оплачен
1 Неверный номер заказа
3 Неизвестная валюта
4 Номер заказа не может быть пуст
4 Имя мерчанта не может быть пустым
4 Отсутствует сумма
4 URL возврата не может быть пуст
4 Пароль не может быть пуст
5 Неверная сумма
5 Неправильный параметр 'Язык'
5 Логин продавца неверен
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 Доступ запрещён
5 jsonParams неверен
7 Системная ошибка
13 Использование обоих значений Features FORCETDS/FORCESSL и AUTO_PAYMENT недопустимо
13 Мерчант не имеет привилегии выполнять AUTO платежи
13 Мерчант не имеет привилегии выполнять проверочные платежи
14 Features указаны некорректно

Запросы состояния заказа (REST)

Расширенный запрос состояния заказа (REST)

Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.do (см. раздел Координаты подключения).
Описание метода находится по ссылке
В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId.
Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended, указанной в настройках продавца.

Запрос состояния заказа (REST)

Для получения текущего состояния заказа используется запрос getOrderStatus.do (см. раздел Координаты подключения).
Метод является устаревшим, для получения состояния заказа рекомендуется использовать метод Расширенный запрос состояния заказа (REST)
Cтатус заказа необходимо определять по значению параметра OrderStatus. Поле authCode является устаревшим.

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

Название Тип Обязательность Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

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

Название Тип Обязательность Описание
OrderStatus N2 Нет По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений приведён в таблице ниже. Отсутствует, если заказ не был найден.
ErrorCode N3 Нет Код ошибки.
ErrorMessage AN..512 Нет Описание ошибки на языке, переданном в параметре Language в запросе.
OrderNumber AN..32 Да Номер (идентификатор) заказа в системе магазина
Pan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
expiration N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.
cardholderName A..64 нет Имя держателя карты. Указан только после оплаты заказа.
Amount N..20 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).
approvalCode AN6 нет Код авторизации МПС. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.
authCode N3 нет Это поле является устаревшим. Его значение всегда равно "2", независимо от состояния заказа и кода авторизации процессинговой системы.
Ip AN..20 нет IP адрес пользователя, который оплачивал заказ
BindingInfo - нет

Элемент состоит из параметров:

Название Тип Обязательно Описание
clientId AN..255 нет Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок.
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.

Поле OrderStatus может принимать следующие значения:

Номер состояния Описание
0 Заказ зарегистрирован, но не оплачен
1 Предавторизованная сумма захолдирована (для двухстадийных платежей)
2 Проведена полная авторизация суммы заказа
3 Авторизация отменена
4 По транзакции была проведена операция возврата
5 Инициирована авторизация через ACS банка-эмитента
6 Авторизация отклонена

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

        https://web.rbsuat.com/ab/rest/getOrderStatus.do?orderId=b8d70aa7-bfb3-4f94-b7bb-aec7273e1fce&language=ru&userName=userName&password=password
    

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

        orderId=b8d70aa7-bfb3-4f94-b7bb-aec7273e1fce&language=ru
    

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

        {"expiration":"201512","cardholderName":"tr tr","depositAmount":789789,"currency":"810","approvalCode":"123456","authCode":2,"clientId":"666","bindingId":"07a90a5d-cc60-4d1b-a9e6-ffd15974a74f","ErrorCode":"0","ErrorMessage":"Успешно","OrderStatus":2,"OrderNumber":"23asdafaf","Pan":"411111**1111","Amount":789789}
    

Коды ошибок (поле ErrorCode)

Значение Описание
0 Обработка запроса прошла без системных ошибок
2 Заказ отклонен по причине ошибки в реквизитах платежа
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 orderId не указан
6 Неверный номер заказа
7 Системная ошибка

Запрос завершения оплаты заказа (REST)

Для запроса завершения ранее предавторизованного заказа используется запрос deposit.do (см. раздел Координаты подключения).
Данную операцию можно осуществлять, если есть соответствующие права в системе.

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

Название Тип Обязательность Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
amount N..20 да Сумма платежа в копейках (или центах)

Если указать в параметре amount ноль, завершение произойдёт на всю предавторизованную сумму.

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

Название Тип Обязательность Описание
errorCode N3 Нет Код ошибки.
errorMessage AN..512 Нет Описание ошибки на языке.

Коды ошибок (поле errorCode):
Классификация:

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Ошибка значение параметра запроса
6 Незарегистрированный OrderId
7 Системная ошибка

Расшифровка:

Значение Описание
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 Неверная сумма
5 Сумма депозита должна быть равной нулю или не менее одного рубля
6 Неверный номер заказа
7 Платёж должен быть в корректном состоянии
7 Ошибка системы

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

        https://web.rbsuat.com/ab/rest/deposit.do?amount=100&currency=810&language=ru&orderId=e5b59d3d-746b-4828-9da4-06f126e01b68&password=password&userName=userName
    

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

        amount=100&currency=810&language=ru&orderId=e5b59d3d-746b-4828-9da4-06f126e01b68
    

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

        {"errorCode":0}
    

Запрос отмены оплаты заказа (REST)

Для отмены оплаты заказа используется запрос reverse.do (см. раздел Координаты подключения).
Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в Банке.
Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдёт.
Данная функция доступна магазинам по согласованию с Банком. Для выполнения операции отмены пользователь должен обладать соответствующими правами.

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

Название Тип Обязательность Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
language A2 нет Язык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта.

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

Название Тип Обязательность Описание
errorCode N3 Нет Код ошибки.
errorMessage AN..512 Нет Описание ошибки на языке.

Коды ошибок (поле ErrorCode):
Классификация:

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Ошибка значение параметра запроса
6 Незарегистрированный OrderId
7 Системная ошибка

Расшифровка:

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 orderId не задан
6 Неверный номер заказа
7 Операция невозможна для текущего состояния платежа
7 Реверсал невозможен. Причина: неверные внутренние значения, проверьте суммы холда, депозита
7 Ошибка системы

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

        https://web.rbsuat.com/ab/rest/reverse.do?language=ru&orderId=9231a838-ac68-4a3e-bddb-d9781433d852&password=password&userName=userName
    

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

        language=ru&orderId=9231a838-ac68-4a3e-bddb-d9781433d852
    

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

        {"errorCode":"0","errorMessage":"Успешно"}
    

Запрос возврата средств оплаты заказа (REST)

Для возврата средств используется запрос refund.do (см. раздел Координаты подключения).
По этому запросу средства по указанному заказу будут возвращены плательщику. Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны. Система позволяет возвращать средстваболее одного раза, но в общей сложности не более первоначальной суммы списания.
При выполнении возврата за оплаты жилищно-коммунальных услуг возможен только полный
возврат.
Для выполнения операции возврата необходимоналичие соответствующих права в системе.

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

Название Тип Обязательность Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
amount N..20 да Сумма платежа в копейках (или центах)

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

Название Тип Обязательность Описание
errorCode N3 Нет Код ошибки.
errorMessage AN..512 Нет Описание ошибки на языке.

Коды ошибок (поле errorCode):
Классификация:

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Ошибка значение параметра запроса
6 Незарегистрированный OrderId
7 Системная ошибка

Расшифровка:

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 orderId не задан
6 Неверный номер заказа
7 Платёж должен быть в корректном состоянии
7 Неверная сумма депозита (менее одного рубля)
7 Ошибка системы

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

        https://web.rbsuat.com/ab/rest/refund.do?amount=500&currency=810&language=ru&orderId=5e97e3fd-1d20-4b4b-a542-f5995f5e8208&password=password&userName=userName
    

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

        amount=500&currency=810&language=ru&orderId=5e97e3fd-1d20-4b4b-a542-f5995f5e8208
    

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

        {"errorCode":0}
    

Запрос проверки вовлечённости карты в 3DS (REST)

Для проверки вовлечённости карты в 3DSиспользуется запрос verifyEnrollment.do (см. раздел Координаты подключения).

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

Название Тип Обязательность Описание
userName AN..30 да Логин пользователя (API)
password AN..30 да Пароль пользователя (API)
pan N12...19 да Номер карты

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

Название Тип Обязательность Описание
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки.
enrolled A1 нет Признак вовлечённости карты в 3DS. Возможные значения: Y, N, U.
emitterName AN..160 нет Наименование банка-эмитента.
emitterCountryCode AN..4 нет Код страны банка-эмитента.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Не указан номер карты
1 Номер карты должен быть числом, содержащим от 13 до 19 цифр
5 Пользователь должен изменить свой пароль.
5 Доступ запрещён
6 По заданному номеру карты информация не найдена.
7 Произошла системная ошибка.

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

        https://web.rbsuat.com/ab/rest/verifyEnrollment.do?userName=userName&password=password&pan=4111111111111111
    

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

         pan=4111111111111111
    

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

        {"errorCode":"0","errorMessage":"Успешно","emitterName":"TEST CARD","emitterCountryCode":"RU","enrolled":"Y"}
    

Запрос добавления дополнительных параметров к заказу (REST)

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

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
language A2 нет Язык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта.
params AN..1024 да Поля для передачи дополнительных параметров, вида {"param":"value","param2":"value2"}.

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

Название Тип Обязательно Описание
errorCode N3 да Код ошибки.
errorMessage AN..512 нет Описание ошибки. Отсутствует при успешном выполнении запроса.

Коды ошибок (поле ErrorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
6 Не указан orderId
6 Неверный номер заказа
7 Произошла системная ошибка

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

        https://web.rbsuat.com/ab/rest/addParams.do?language=ru&orderId=769b8dad-2318-4c01-bfc4-94532522fa68&password=password&userName=userName&params={"addParams1":"value1","addParams2":"value2"}
    

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

        language=ru&orderId=769b8dad-2318-4c01-bfc4-94532522fa68&params={"addParams1":"value1","addParams2":"value2"}
    

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

        {"errorCode":0}
    

Запрос статистики по платежам за период (REST)

Для получения статистики по платежам за определённый период используется запрос getLastOrdersForMerchants.do (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении.
password AN..30 да Пароль магазина, полученный при подключении.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.
page N нет При обработке запроса будет сформирован список, разбитый на страницы (с количеством записей size на одной странице). В ответе возвращается страница под номером, указанным в параметре page. Нумерация страниц начинается с 0. Если параметр не указан, будет возвращена страница под номером 0.
size N..3 да Количество элементов на странице (максимальное значение = 200).
from ANS да Дата и время начала периода для выборки заказов в формате YYYYMMDDHHmmss.
to ANS да Дата и время окончания периода для выборки заказов в формате YYYYMMDDHHmmss.
transactionStates A..9 да В этом блоке необходимо перечислить требуемые состояния заказов. Только заказы, находящиеся в одном из указанных состояний, попадут в отчёт. Несколько значений указываются через запятую. Возможные значения: CREATED, APPROVED, DEPOSITED, DECLINED, REVERSED, REFUNDED.
merchants ANS да Список Логинов мерчантов, чьи транзакции должны попасть в отчёт. Несколько значений указываются через запятую. Оставьте это поле пустым, чтобы получить список отчётов по всем доступным мерчантам (дочерним мерчантам и мерчантам, указанным в настройках пользователя).
searchByCreatedDate A..5 нет Возможные значения: · true – поиск заказов, дата создания которых попадает в заданный период. · false – поиск заказов, дата оплаты которых попадает в заданный период (таким образом, в отчёте не могут присутствовать заказы в статусе CREATED и DECLINED). Значение по умолчанию – false .

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

Название Тип Обязательно Описание
errorCode N..2 да Код ошибки. Описание возможных кодов представлено ниже в таблице "Коды ошибок (поле errorCode)"
errorMessage AN..512 нет Описание ошибки. Присутствует только при наличии ошибки (errorCode не равно 0).
orderStatuses - - Блок, содержащий информацию о заказах, попавших в отчёт. См. ниже таблицу "Параметры блока orderStatuses".
totalCount N да Общее количество элементов во отчёте (на всех страницах).
page N да Номер текущей страницы (равный номеру страницы, переданному в запросе).
pageSize N..3 да Максимальное количество записей на странице (равно размеру страницы, переданному в запросе).

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

Название Тип Обязательно Описание
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина.
orderStatus N..2 да Состояние заказа в платёжной системе. Возможные значения представлены ниже в таблице "Поле orderStatus:".
actionCode N..3 да Код ответа.
actionCodeDescription AN..512 да Расшифровка кода ответа.
amount N..20 да Сумма платежа в минимальных единицах валюты.
currency N3 да Код валюты платежа ISO 4217. Если не указан, считается равным валюте по умолчанию.
date ANS да Дата регистрации заказа.
orderDescription AN..512 нет Описание заказа, переданное при его регистрации
ip AN..20 нет IP адрес покупателя. Указан только после оплаты.
errorCode N..2 да Код ошибки.
merchantOrderParams - нет Тэг с атрибутами, в которых передаются дополнительные параметры мерчанта. См. ниже таблицу "Параметры блока merchantOrderParams".
attributes - да Атрибуты заказа в платёжной системе (номер заказа). См. ниже таблицу "Параметры блока attributes".
cardAuthInfo - нет Тэг с атрибутами платежа. См. ниже таблицу "Параметры блока cardAuthInfo".
bindingInfo - нет Тэг с информацией о связке, с помощью которой осуществлена оплата. См. ниже таблицу "Параметры блока bindingInfo".
authDateTime ANS нет Дата/время авторизации
terminalId AN..10 нет Id терминала
authRefNum AN..24 нет Reference number
paymentAmountInfo - нет Тэг с информацией о суммах подтверждения, списания, возврата. См. ниже таблицу "Параметры блока paymentAmountInfo".
bankInfo - нет Тэг с информацией о Банке-эмитенте. См. ниже таблицу "Параметры блока bankInfo".

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

Название Тип Обязательно Описание
name AN..20 да Название дополнительного параметра мерчанта
value AN..1024 да Значение дополнительного параметра мерчанта


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

Название Тип Обязательно Описание
name A7 да Название атрибута - "mdOrder".
value ANS36 да Значение атрибута - номер заказа в платёжной системе (уникален в пределах системы).

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

Название Тип Обязательно Описание
pan N..19 нет Маскированный номер карты, которая использовалась для оплаты.
expiration N6 нет Срок истечения действия карты в формате YYYYMM.
cardholderName A..64 нет Имя держателя карты.
approvalCode AN6 нет Код авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.

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

Название Тип Обязательно Описание
clientId AN..255 нет Номер (идентификатор) клиента в системе магазина.
bindingId AN..255 нет Идентификатор связки, использованной для оплаты.

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

Название Тип Обязательно Описание
paymentState N..9 нет Состояние платежа
approvedAmount N..20 нет Сумма, подтверждённая к списанию.
depositedAmount N..20 нет Сумма списания с карты.
refundedAmount N..20 нет Сумма возврата.

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

Название Тип Обязательно Описание
bankName AN..200 нет Наименование Банка-эмитента.
bankCountryCode AN..4 нет Код страны Банка-эмитента
bankCountryName AN..160 нет Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан.

Поле orderStatus может принимать следующие значения:

Значение Описание
0 Заказ зарегистрирован, но не оплачен
1 Предавторизованная сумма захолдирована (для двухстадийных платежей)
2 Проведена полная авторизация суммы заказа
3 Авторизация отменена
4 По транзакции была проведена операция возврата
5 Инициирована авторизация через ACS банка-эмитента
6 Авторизация отклонена

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Не заполнено одно из обязательных полей
5 Неверный формат параметра transactionStates
5 Доступ запрещён
7 Системная ошибка
10 Значение параметра size превышает максимально допустимое
10 Недостаточно прав для просмотра транзакций указанного мерчанта

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

        https://web.rbsuat.com/ab/rest/getLastOrdersForMerchants.do?userName=userName&password=password&language=ru&page=0&size=100&from=20141009160000&to=20141111000000&transactionStates=DEPOSITED,REVERSED&merchants=SevenEightNine&searchByCreatedDate=false
    

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

        language=ru&page=0&size=100&from=20141009160000&to=20141111000000&transactionStates=DEPOSITED,REVERSED&merchants=SevenEightNine&searchByCreatedDate=false
    

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

        {"errorCode":0, 
 
"orderStatuses":[
 
{"errorCode":"0","orderNumber":"58drs0Pes459Hdsddd0567a0","orderStatus":2,"actionCode":0,"actionCodeDescription":"Запрос успешно обработан","amount":250000,"currency":"810","date":1414485649233,"orderDescription":"Opisanie","ip":"212.5.125.194","merchantOrderParams":[{"name":"registr1","value":"registr1"}],"attributes":[{"name":"mdOrder","value":"f1a3365b-542c-4c8d-b34c-e9a7ee8dbc9c"}],"cardAuthInfo":{"expiration":"201512","cardholderName":"Ivan","approvalCode":"123456","pan":"411111**1111"},"bindingInfo":{"clientId":"666","bindingId":"1eabfb8e-b90e-4dc8-bef6-14bd392b1cec"},"authDateTime":1414485661207,"terminalId":"111113","authRefNum":"111111111111","paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":250000,"depositedAmount":250000,"refundedAmount":0},"bankInfo":{"bankName":"TEST CARD","bankCountryCode":"RU","bankCountryName":"Россия"}}, 
 
{"errorCode":"0","orderNumber":"57drs0Pes459Hdsddd0567a0","orderStatus":2,"actionCode":0,"actionCodeDescription":"Запрос успешно обработан","amount":250000,"currency":"810","date":1414485277286,"orderDescription":"Opisanie","ip":"212.5.125.194","merchantOrderParams":[{"name":"registr1","value":"registr1"}],"attributes":[{"name":"mdOrder","value":"09489184-bc5e-44a7-b6c4-3ca1feb8ef69"}],"cardAuthInfo":{"expiration":"201512","cardholderName":"Ivan","approvalCode":"123456","pan":"411111**1111"},"bindingInfo":{"clientId":"666","bindingId":"1eabfb8e-b90e-4dc8-bef6-14bd392b1cec"},"authDateTime":1414485296046,"terminalId":"111113","authRefNum":"111111111111","paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":250000,"depositedAmount":250000,"refundedAmount":0},"bankInfo":{"bankName":"TEST CARD","bankCountryCode":"RU","bankCountryName":"Россия"}}], 
 
"totalCount":2,"page":0,"pageSize":100}
    

Запрос оплаты через внешнюю платёжную систему (REST)

Для оплаты заказа через внешнюю платёжную систему используется запрос paymentotherway.do (см. раздел Координаты подключения) со специальными параметрами. Возможен только запрос POST.
Данная операция доступна при наличии соответствующих прав в системе.

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
MDORDER ANS36 да Номер заказа, полученный при регистрации заказа
paymentWay ANS..* да В этом параметре передаётся способ оплаты. Возможные значения: · ALFA_ALFACLICK – для оплаты с помощью "Альфа-Клик" (через систему PayByClik). · UPOP – для оплаты через систему UPOP, доступно для держателей карт China UnionPay.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.

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

Название Тип Обязательно Описание
errorCode N1 да Код ошибки
error ANS..* (при ошибке) Сообщение об ошибке
info ANS..* нет

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

  • Ваш платёж обработан, происходит переадресация...
  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация...
  • Извините, платёж не может быть совершён. Происходит переадресация...
  • Операция отклонена. Обратитесь в магазин. Происходит переадресация...
  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация...
  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация...
  • Нет связи с банком. Повторите позже. Происходит переадресация...
  • Истёк срок ожидания ввода данных. Происходит переадресация...
  • Не получен ответ от банка. Повторите позже. Происходит переадресация...
redirect ANS..* нет Адрес возврата после оплаты

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Способ оплаты не задан или указано неверное значение
2 Заказ не найден
5 Таймаут сесси
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 Системная ошибка

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

        language=ru&MDORDER=c96a734c-e2c9-429c-8fda-aaa0030c8a92&paymentWay=ALFA_ALFACLICK
    

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

        {"redirect":"http://testjmb.alfabank.ru/PayByClick/login.jsp?orderId=b37da970-e2b8-4729-a196-b4c2ab5bb401&backUrl=+","info":"Your
 order is proceeded, redirecting...","errorCode":0}
    

Запрос проведения платежа по связке (REST)

Для проведения платежа по связкам используется запрос paymentOrderBinding.do (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении.
password AN..30 да Пароль магазина, полученный при подключении.
mdOrder ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
bindingId AN..255 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
ip NS..15 да ip-адрес плательщика.
cvc N..3 нет CVC код. Этот параметр обязателен, если для мерчанта не выбрано разрешение "Может проводить оплату без подтверждения CVC".
email ANS..* нет Адрес электронной почты плательщика.

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

Название Тип Обязательно Описание
redirect ANS..* нет При успешном ответе в случае SSL-платежа. URL, на который производится переадресация после платежа.
info ANS..* нет

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

  • Ваш платёж обработан, происходит переадресация...
  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация...
  • Извините, платёж не может быть совершён. Происходит переадресация...
  • Операция отклонена. Обратитесь в магазин. Происходит переадресация...
  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация...
  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация...
  • Нет связи с банком. Повторите позже. Происходит переадресация...
  • Истёк срок ожидания ввода данных. Происходит переадресация...
  • Не получен ответ от банка. Повторите позже. Происходит переадресация...
errorCode N1 да Код ошибки.
errorMessage AN..* нет При ответе с ошибкой. Сообщение об ошибке.
error AN..* нет При ответе с ошибкой. Сообщение об ошибке.
processingErrorType ANS..* нет Тип ошибки процессинга. Передаётся, когда ошибка происходит на стороне процессинга, а не в платёжном шлюзе, при том что попытки проведения платежа ещё не исчерпаны и переадресации на финальную страницу не происходит. Расшифровка ошибки передаётся в параметре error.
acsUrl ANS..* нет При успешном ответе в случае 3DS-платежа. URL для перехода на ACS.
paReq ANS..* нет При успешном ответе в случае 3DS-платежа. Payment Authentication Request.
termUrl ANS..* нет При успешном ответе в случае 3DS-платежа. URL для возврата с ACS.

Коды ошибок (поле success):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Необходимо указать CVC2/CVV2, поскольку у мерчатна нет разрешения на проведение оплаты без CVC
1 Неверный формат CVC
1 Неверный язык
2 Связка не найдена
2 Заказ с таким номером не найден
5 Доступ запрещён
5 Пользователь, осуществляющий вызов сервиса, должен изменить свой пароль
7 Системная ошибка

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

        mdOrder=eb49300c-95b7-4dcd-9739-eee6c61f2ac4&bindingId=308042e8-2b28-484a-811e-f786c9776c3b&cvc=123
    

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

        {"redirect":"http://ya.ru?orderId=eb49300c-95b7-4dcd-9739-eee6c61f2ac4","info":"Ваш платёж обработан, происходит переадресация...","errorCode":0}
    

Пример успешного ответа при 3DS-платеже:

        {"info":"Ваш платёж обработан, происходит переадресация...","acsUrl":"https://web.rbsuat.com/ab/acs/auth/start.do","paReq":"eJxVUdtugkAQ/RXCOy7LRdQMa2ixKU28pGrfyTICqSzKpcW/765AbR8mOWcyOWfmDCy74qx9YVXn\npfB1OjF1DQUvk1ykvn48vBgzfcngkFWI4R55WyGDNdZ1nKKWJ74+TVz05tPE8NyZbThOfDJmFjcN\ni55Mz+MJzu25zmAXvOOVwWDEpM/EAjJSqVjxLBYNg5hfn6INcyxvappABgoFVlHIPCA9ABEXyPb4\nhWKVp1mzyQUCuTeBl61oqhubOjaQkUBbnVnWNJcFId5sPuFlAUT1gDy8d61CtdTo8oStw+C7r5W5\nCVNZx9v6ENmyfCBqApK4QWaZ1KXUcjVqLVx7Ycu77n2IC2XOqDqjh3BRDsGj/5eDDLeS2Y+bjwyw\nu5QC5YRU/sVAHts+v6rceCODyfbb7m3bfmzD22dnlycaFHF+DGl0y6hK8z6kFHMZity7l1QEiJIh\nw6PI8GOJ/v3+BweMtyE=","termUrl":"https://web.rbsuat.com/:443/ab/rest/finish3ds.do","errorCode":0}
    

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

        {"error":"Access denied","errorCode":5,"errorMessage":"Access denied"}
    

Запрос деактивации связки (REST)

Для того чтобы сделать существующую связку неактивной используется запрос unBindCard.do (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении.
password AN..30 да Пароль магазина, полученный при подключении.
bindingId AN..255 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.

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

Название Тип Обязательно Описание
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
2 Неверное состояние связки (при попытке деактивировать неактивную связку)
2 Связка не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

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

        https://web.rbsuat.com/ab/rest/unBindCard.do?userName=userName&password=password&bindingId=fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc
    

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

        bindingId=fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc
    

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

        {"errorCode":"2","errorMessage":"Binging isn't active"}
    

Запрос активации связки (REST)

Для активации деактивированной ранее связки используется запрос bindCard.do (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении.
password AN..30 да Пароль магазина, полученный при подключении.
bindingId AN..255 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.

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

Название Тип Обязательно Описание
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
2 Неверное состояние связки (при попытке активировать активную связку)
2 Связка не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

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

        https://web.rbsuat.com/ab/rest/bindCard.do?userName=userName&password=password&bindingId=fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc
    

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

        bindingId=fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc
    

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

        {"errorCode":"2","errorMessage":"Binding is active"}
    

Запрос изменения срока действия связки (REST)

Для продления срока действия связки используется запрос extendBinding.do (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении.
password AN..30 да Пароль магазина, полученный при подключении.
bindingId ANS36 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
newExpiry N6 да Новая дата (год и месяц) окончания срока действия связки в формате YYYYMM.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language).

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения
errorMessage ANS..* (при ошибке) Сообщение об ошибке

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Не указан или неверно указан один или несколько обязательных параметров
2 Связка не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

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

        https://web.rbsuat.com/ab/rest/extendBinding.do?userName=userName&password=password&bindingId=1eabfb8e-b90e-4dc8-bef6-14bd392b1cec&newExpiry=201612&language=ru
    

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

        bindingId=1eabfb8e-b90e-4dc8-bef6-14bd392b1cec&newExpiry=201612&language=ru
    

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

        {"errorCode":"0","errorMessage":"Успешно"}
    

Запрос списка связок клиента (REST)

Для получения списка связок по идентификатору клиента используется запрос getBindings.do (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении.
password AN..30 да Пароль магазина, полученный при подключении.
clientId AN..255 да Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок.

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения
errorMessage ANS..* (при ошибке) Сообщение об ошибке

Элемент binding (состоит из bindingId, maskedPan и expiryDate):

Название Тип Обязательно Описание
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
maskedPan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
expiryDate N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 clientId не задан
2 Информация не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

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

        https://web.rbsuat.com/ab/rest/getBindings.do?userName=userName&password=password&clientId=client
    

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

        clientId=client
    

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

        {"bindings":[{"bindingId":"fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc","maskedPan":"4000 00** **** **02","expiryDate":"201512"}],"errorCode":"0","errorMessage":"Успешно"}
    

Запрос списка связок банковской карты (REST)

Для получения списка связок банковской карты используется метод getBindingsByCardOrId.do (см. раздел Координаты подключения).
При наличии соответствующих разрешений магазин может запросить список всех связок, относящихся к определённой банковской карте. Сделать это можно по номеру карты или по известному идентификатору связки.При наличии соответствующих разрешений магазин может запросить список всех связок, относящихся к определённой банковской карте. Сделать это можно по номеру карты или по известному идентификатору связки.
В ответе возвращаются все связки, доступные мерчанту в соответствии с его настройками.

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
pan N..19 нет Номер карты. Обязательно, если не указан bindingId. Поиск по полному номеру карты доступен магазинам только при наличии соответствующего разрешения.
bindingId AN..255 нет Идентификатор связки. Обязательно, если не указан pan. Если в запросе передаётся pan, то значение bindingId игнорируется.
showExpired boolean нет Параметр определяет необходимость отображать связки с истёкшим сроком действия карты. Возможные значения: true, false. По умолчанию параметр принимает значение false.

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения.
errorMessage ANS..* да Описание кода завершения.

Элемент bindings (содержит блоки, состоящие из параметров bindingId, maskedPan, expiryDate и clientId):

Название Тип Обязательно Описание
bindingId AN..255 нет Идентификатор связки.
maskedPan N..19 нет Маскированный номер карты, которая использовалась для оплаты.
expiryDate N6 нет Срок истечения действия карты в формате YYYYMM.
clientId AN..255 нет Номер (идентификатор) клиента в системе мерчанта.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок.
1 Не указан ни номер карты, ни идентификатор связки.
2 Информация не найдена.
5 Доступ запрещён.
5 Пользователь должен сменить свой пароль.
7 Системная ошибка.

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

        https://web.rbsuat.com/ab/rest/getBindingsByCardOrId.do?userName=login&password=password&pan=4111111111111111
    

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

        {"errorCode":"0","errorMessage":"Успешно","bindings":[{"bindingId":"0b8edeb2-8380-4092-bf7e-1e1a78f2b15e","maskedP
an":"411111**1111","expiryDate":"201912","clientId":"12"},{"bindingId":"6a8c0738-cc88-4200-acf6-afc264d66cb0","mas
kedPan":"411111**1111","expiryDate":"201912","clientId":"666"},{"bindingId":"97a70989-c1fb-49f7-8a42-27c19dc160dw"
,"maskedPan":"411111**1111","expiryDate":"201512","clientId":"666"}]}
    

Запрос на оплату через Apple Pay (REST)

Для регистрации заказа используется запрос payment.do (см. раздел Координаты подключения).

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

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

        {"merchant":"merchant_name","orderNumber":"applepay123456794","description":"descritpion_text", "paymentToken":"eyJ2ZXJzaW9uIjoiRUNfdjEiLCJkYXRhIjoiNTFhUTNGOXl0Q1YwYTdpQS9mMUh0RGc1TnBvSVZtc2RFa1FvTlpoOW95ZVA3eGgvVDk4dXJkenJDN0dOQ3o4c1FodXpXOVZNWUhGU25DTytTWXo0eDYrTnZwZjdCUzhOcnlUWk1Keldtcml0VUZJVytwVjNvNWY4M0F3OU55c1BCMlAxZGZicS9hZDVzV1RwZTMwTnV2UDltRGhaUStET1M3RzB6MDZSNHRXY0R0VFErT0U5YlI1OHFQRUdnTTRiSmRmUklZb25oQlJrdWY2cGw4aU9PQ0VvS01QN2lRck84Z2IrVGNnSjVZSDdDL3J3enBDUVZjMGQxNWJuME9wbE1SOGwxMDcrMDR4ZVVWT3BUMGI3cHRmYnA3VmVaeHVXaHhSTTlHYlF5QmVkVlJHQ2toN3kyREtZY3BRdjJqM1h2L0NjNzRKaVBZM09DTFVEMEIvS0UwUFo1TnJvUEJFUmZ2a1B4WUFzV1ZmM1E3UUtTcTk4Z3p5UXlrWEpwTmFwcEt6cENDMkNKU09XdzVkenNPWjAiLCAic2lnbmF0dXJlIjoiTUlBR0NTcUdTSWIzRFFFSEFxQ0FNSUFDQVFFeER6QU5CZ2xnaGtnQlpRTUVBZ0VGQURDQUJna3Foa2lHOXcwQkJ3RUFBS0NBTUlJRDVqQ0NBNHVnQXdJQkFnSUlhR0QybWRuTXB3OHdDZ1lJS29aSXpqMEVBd0l3ZWpFdU1Dd0dBMVVFQXd3bFFYQndiR1VnUVhCd2JHbGpZWFJwYjI0Z1NXNTBaV2R5WVhScGIyNGdRMEVnTFNCSE16RW1NQ1FHQTFVRUN3d2RRWEJ3YkdVZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRFMk1EWXdNekU0TVRZME1Gb1hEVEl4TURZd01qRTRNVFkwTUZvd1lqRW9NQ1lHQTFVRUF3d2ZaV05qTFhOdGNDMWljbTlyWlhJdGMybG5ibDlWUXpRdFUwRk9SRUpQV0RFVU1CSUdBMVVFQ3d3TGFVOVRJRk41YzNSbGJYTXhFekFSQmdOVkJBb01Da0Z3Y0d4bElFbHVZeTR4Q3pBSkJnTlZCQVlUQWxWVE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRWdqRDlxOE9jOTE0Z0xGRFptMFVTNWpmaXFRSGRiTFBnc2MxTFVtZVkrTTlPdmVnYUphakNIa3d6M2M2T0twYkM5cStoa3dORnhPaDZSQ2JPbFJzU2xhT0NBaEV3Z2dJTk1FVUdDQ3NHQVFVRkJ3RUJCRGt3TnpBMUJnZ3JCZ0VGQlFjd0FZWXBhSFIwY0RvdkwyOWpjM0F1WVhCd2JHVXVZMjl0TDI5amMzQXdOQzFoY0hCc1pXRnBZMkV6TURJd0hRWURWUjBPQkJZRUZBSWtNQXVhN3UxR01aZWtwbG9wbmtKeGdoeEZNQXdHQTFVZEV3RUIvd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVJL0pKeEUrVDVPOG41c1QyS0d3L29ydjlMa3N3Z2dFZEJnTlZIU0FFZ2dFVU1JSUJFRENDQVF3R0NTcUdTSWIzWTJRRkFUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TURRR0ExVWRId1F0TUNzd0thQW5vQ1dHSTJoMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsWVdsallUTXVZM0pzTUE0R0ExVWREd0VCL3dRRUF3SUhnREFQQmdrcWhraUc5Mk5rQmgwRUFnVUFNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUNJUURhSEdPdWkrWDJUNDRSNkdWcE43bTJuRWNyNlQ2c01qT2haNU51U28xZWd3SWhBTDFhKy9ocDg4REtKMHN2M2VUM0Z4V2NzNzF4bWJMS0QvUUozbVdhZ3JKTk1JSUM3akNDQW5XZ0F3SUJBZ0lJU1cwdnZ6cVkycGN3Q2dZSUtvWkl6ajBFQXdJd1p6RWJNQmtHQTFVRUF3d1NRWEJ3YkdVZ1VtOXZkQ0JEUVNBdElFY3pNU1l3SkFZRFZRUUxEQjFCY0hCc1pTQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRFVE1CRUdBMVVFQ2d3S1FYQndiR1VnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk13SGhjTk1UUXdOVEEyTWpNME5qTXdXaGNOTWprd05UQTJNak0wTmpNd1dqQjZNUzR3TEFZRFZRUUREQ1ZCY0hCc1pTQkJjSEJzYVdOaGRHbHZiaUJKYm5SbFozSmhkR2x2YmlCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUd0Z4R0VHZGRraGRVYVhpV0JCM2JvZ0tMdjNudXVUZUNOL0V1VDRUTlcxV1piTmE0aTBKZDJEU0pPZTdvSS9YWVh6b2pMZHJ0bWNMN0k2Q21FLzFSRm80SDNNSUgwTUVZR0NDc0dBUVVGQndFQkJEb3dPREEyQmdnckJnRUZCUWN3QVlZcWFIUjBjRG92TDI5amMzQXVZWEJ3YkdVdVkyOXRMMjlqYzNBd05DMWhjSEJzWlhKdmIzUmpZV2N6TUIwR0ExVWREZ1FXQkJRajhrbkVUNVBrN3lmbXhQWW9iRCtpdS8wdVN6QVBCZ05WSFJNQkFmOEVCVEFEQVFIL01COEdBMVVkSXdRWU1CYUFGTHV3M3FGWU00aWFwSXFaM3I2OTY2L2F5eVNyTURjR0ExVWRId1F3TUM0d0xLQXFvQ2lHSm1oMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsY205dmRHTmhaek11WTNKc01BNEdBMVVkRHdFQi93UUVBd0lCQmpBUUJnb3Foa2lHOTJOa0JnSU9CQUlGQURBS0JnZ3Foa2pPUFFRREFnTm5BREJrQWpBNnozS0RVUmFac1liN05jTld5bUsvOUJmdDJROTFUYUtPdnZHY2dWNUN0NG40bVBlYldaK1kxVUVOajUzcHd2NENNREl0MVVRaHNLTUZkMnhkOHpnN2tHZjlGM3dzSVcyV1Q4WnlhWUlTYjFUNGVuMGJtY3ViQ1lraFlRYVpEd21TSFFBQU1ZSUJYekNDQVZzQ0FRRXdnWVl3ZWpFdU1Dd0dBMVVFQXd3bFFYQndiR1VnUVhCd2JHbGpZWFJwYjI0Z1NXNTBaV2R5WVhScGIyNGdRMEVnTFNCSE16RW1NQ1FHQTFVRUN3d2RRWEJ3YkdVZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRBZ2hvWVBhWjJjeW5EekFOQmdsZ2hrZ0JaUU1FQWdFRkFLQnBNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERURTJNVEV3TVRBNU5UY3dObG93THdZSktvWklodmNOQVFrRU1TSUVJQWpSdk9nWkxDa0w5ZmNCZjdOSm5RY3hsd2ltL09ieHkrcEltZ1M0TGRUYU1Bb0dDQ3FHU000OUJBTUNCRWN3UlFJZ1BKaHlkTXE5UDdTaHJFT2RxVk5KUk84QnN1MC93SXNCS0Y1cnlFR0JPSDRDSVFEeWo4Wml3VVV5alRJUFRUZDBKTTlaMExIdGZTQVhOWVN2T0t4eGN3MTlod0FBQUFBQUFBPT0iLCJoZWFkZXIiOnsiZXBoZW1lcmFsUHVibGljS2V5IjoiTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNUdmb2t2U2Z3WnV3aXYwSGxKVE1MS0dlMS96dWtjejczSFlvVjh5cjNGNWdmZmthVmNQTmptNjFhdFNOZm9UZUxiSnQ1aHBLWkJuSWlwZlVXSXZxMmc9PSIsInB1YmxpY0tleUhhc2giOiJLMG9KcmJiYURVUDh6YitSUEZhTmxVUTdTU2I3T1FEWERVeU9vM0JXdDJzPSIsInRyYW5zYWN0aW9uSWQiOiIyYTNkZjhjNDg0Y2JmMDg1OTgyN2Y0ZDBkZjhkYjY4YjYyNjBlNTIxYWUwZmI4YjI1NDRmNzNiM2RlMDVlYjE5In19","language":"ru","additionalParameters":{},"preAuth":"true"}
    

Описание параметров запроса приведено в таблице ниже.

Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json.

Параметр Тип данных Обязательный параметр Описание
merchant AN..30 Да Имя входа продавца в системе платёжного шлюза.
orderNumber AN..32 Да Уникальный номер заказа на стороне продавца.
description ANS..512 Нет Описание заказа.
language A2 Нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParameters AN..1024 Нет Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Дополнительные параметры следует указывать в следующем формате. "имяпараметра": "значениепараметра" Каждую новую пару имени и значения параметра следует отделять запятой.
clientId ANS..255 Нет Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей.
preAuth A..5 Нет Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения: · true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания); · false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу.
paymentToken AN..8192 Да

Параметр paymentToken должен содержать закодированное в Base64 значение свойства paymentData, полученного из объекта PKPaymentToken Object от системы Apple Pay (подробнее см. документацию Apple Pay).
Таким образом, чтобы сделать запрос на оплату в платёжный шлюз, продавец должен:

  • 1. получить от системы Apple Pay объект PKPaymentToken Object, содержащий свойство paymentData;
  • 2. извлечь значение свойства paymentData и закодировать его в Base64;
  • 3. включить закодированное значение свойства paymentData в качестве значения парамера paymentToken в запросе на оплату, который продавец направит в платёжный шлюз.

Пример получаемого продавцом от Apple PKPaymentToken Object выглядит следующим образом:

        {
  "paymentData": {
    "data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN/aQQEThe2pQ0c7hgzzZlA6TpkIR/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwXp6mOwJZ6ZFO/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1/dFvQJjDYbMorKQ8GJbWtlsVbKsy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7/404kMGpnHgkNVqFc/4SN0U2XQ5rrb14DM8M69w=",
    "signature": "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",
    "header": {
      "publicKeyHash": "fpvAnSDwQFX4NX4pghdjpNwUFhoTH/DDGhew94uJaRA=",
      "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==",
      "transactionId": "38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2"
    },
    "version": "EC_v1"
  },
  "transactionIdentifier": "38E4C267EF1DE62A343D0ECCADA3F7E19F6B22FFC7EDE899C039865432BA6AA2",
  "paymentMethod": {
    "network": "Visa",
    "type": "debit",
    "displayName": "Visa5223"
  }
}
    

Значение свойства paymentData (из примера выше), которое нужно закодировать в Base64 и передать в запросе на оплату в платёжный шлюз, выглядит следующим образом:

        {
	"data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN\/aQQEThe2pQ0c7hgzzZlA6TpkIR\/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwX+p6mOwJZ6ZFO\/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1\/dFvQJjDYbMorKQ8+GJbWtlsVb+Ksy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7\/404kMGpnHgkNVqFc\/4SN0U2XQ5rrb14DM8M69w=","signature":"MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4jCCA4igAwIBAgIIJEPyqAad9XcwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDkyNTIyMDYxMVoXDTE5MDkyNDIyMDYxMVowXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O\/0komJPnwPE6OCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDEwHQYDVR0OBBYEFJRX22\/VdIGGiYl2L35XhQfnm1gkMAwGA1UdEwEB\/wQCMAAwHwYDVR0jBBgwFoAUI\/JJxE+T5O8n5sT2KGw\/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB\/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB\/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0gAMEUCIHKKnw+Soyq5mXQr1V62c0BXKpaHodYu9TWXEPUWPpbpAiEAkTecfW6+W5l0r0ADfzTCPq2YtbS39w01XIayqBNy8bEwggLuMIICdaADAgECAghJbS+\/OpjalzAKBggqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNDA1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEYQZ12SF1RpeJYEHduiAou\/ee65N4I38S5PhM1bVZls1riLQl3YNIk57ugj9dhfOiMt2u2ZwvsjoKYT\/VEWjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7\/S5LMA8GA1UdEwEB\/wQFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH\/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr\/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC\/gIwMi3VRCGwowV3bF3zODuQZ\/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiSFhBpkPCZIdAAAxggGMMIIBiAIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCCRD8qgGnfV3MA0GCWCGSAFlAwQCAQUAoIGVMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDMxNzEwMzgzOVowKgYJKoZIhvcNAQk0MR0wGzANBglghkgBZQMEAgEFAKEKBggqhkjOPQQDAjAvBgkqhkiG9w0BCQQxIgQgvL+q07\/reM0N\/5b0hwWT7TJReVTdS9QX5SPhiqeie+cwCgYIKoZIzj0EAwIERzBFAiEAttC68Xyzs6I0+tAKmg6x+0UrqmkQN\/V5c8RMMIEJHooCIHIgUHbAt2p5WrFHQKrAVL4c7nohRplZWVbVu6wbBeCgAAAAAAAA",
	"header": {
		"publicKeyHash":"fpvAnSDwQFX4NX4pghdjpNwUFhoTH\/DDGhew94uJaRA=",
		"ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB\/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==",
		"transactionId":"38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2"
	},
	"version":"EC_v1"
}
    

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

Успешная оплата

        {
"success":true,
"data": {
    "orderId": "12312312123"
  }
}
    

Неуспешная оплата

        {
  "error": {
    "code": 1,
    "description": "Processing Error",
    "message": "Недостаточно средств на карте"
  },
  "success": false
}
    

Описание параметров ответа приведено в таблице ниже.

Параметр Вложенный параметр Тип данных Обязательный параметр Описание
success Не актуально A..5 Да Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - платёж прошёл успешно; false (ложь) - платёж не прошёл.
data (возвращается, только если платёж прошёл успешно) orderId ANS36 Да Уникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл) code N..2 Да Код ошибки.
description - ANS..512 Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.
message - AN..512 Да Понятное описание ошибки - предназначено для отображения пользователю.

Запрос на проведение рекуррентных платежей через Apple Pay (REST)

Для регистрации заказа используется запрос recurrentPayment.do (см. раздел Координаты подключения).
Пример запроса POST

        {
  "userName": "userName",
  "password": "password",
  "orderNumber": "UAF-203974-DE-12",
  "language": "RU",
  "bindingId": "binding_id",
  "amount": 12300,
  "currency": "810",
  "description" : "Test description",
  "additionalParameters": {
    "firstParamName": "firstParamValue",
    "secondParamName": "secondParamValue"
  }
 }
    

Описание параметров представлено в таблице ниже.

Параметр Обязательно Описание
userName Да Имя пользователя с доступом к API платёжного шлюза.
password Да Пароль пользователя с доступом к API платёжного шлюза.
orderNumber Да Номер заказа.
language Нет Двухбуквенный код языка.
bindingId Да Идентификатор связки.
amount Да Сумма заказа в минимальных единицах валюты (например, в копейках).
currency Нет Цифровой код валюты ISO 4217.
description Нет Описание заказа.
additionalParameters Нет "имя параметра 1": "значение параметра 1", "имя параметра 2": "значение параметра 2"

Примеры и описания ответа
Ниже представлен пример успешной оплаты.

        {"success":true,"data":{"orderId":"f7beebe4-7c9a-43cf-8e26-67ab741f9b9e"},"orderStatus":{"errorCode":"0","orderNumber":"UAF-203974-DE-12","orderStatus":2,"actionCode":0,"actionCodeDescription":"","amount":12300,"currency":"810","date":1491333938243,"orderDescription":"Test description","merchantOrderParams":[{"name":"firstParamName","value":"firstParamValue"},{"name":"secondParamName","value":"secondParamValue"}],"attributes":[],"cardAuthInfo":{"expiration":"201912","cardholderName":"sdf sdf","approvalCode":"123456","paymentSystem":"VISA","pan":"411111**1111"},"authDateTime":1491333939454,"terminalId":"11111","authRefNum":"111111111111","paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":12300,"depositedAmount":12300,"refundedAmount":0},"bankInfo":{"bankCountryName":"<Неизвестно>"},"chargeback":false,"operations":[{"amount":12300,"cardHolder":"sdf sdf","authCode":"123456"}]}}
    

Ниже представлен пример неуспешной оплаты.

        {
  "error": {
    "code": "10",
    "description": "Заказ с таким номером уже зарегистрирован.",
    "message": "Заказ с таким номером уже зарегистрирован."
  },
  "success": false
}
    

Описание параметров ответа приведено в таблице ниже.

Параметр Вложенный параметр Обязательный параметр Описание
success Не актуально Да Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - платёж прошёл успешно; false (ложь) - платёж не прошёл.
data (возвращается, только если платёж прошёл успешно) orderId Да Уникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл) code Да Код ошибки.
description - Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.
message - Да Понятное описание ошибки - предназначено для отображения пользователю.

Коды ошибок

Код ошибки Сообщение
0 Обработка прошла без системных ошибок.
1 Неверные данные платежа.
1 Невозможно использовать связку для повторяющихся платежей.
1 Неверные параметры платежа.
1 Неверный номер заказа.
4 Неверный идентификатор связки.
5 Возможность использования связок отключена.
5 Неверная сумма.
5 Неверное имя пользователя.
5 Неверный пароль.
5 Ошибка аутентификации.
5 Ошибка аутентификации.
10 Заказ с таким номером уже зарегистрирован.


Запрос на оплату через Google Pay (REST)

Для регистрации заказа используется запрос payment.do (см. раздел Координаты подключения).

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

Описание параметров представлено в таблице ниже.

Параметр Обязательно Описание
merchant Да Имя входа продавца в системе платёжного шлюза.
orderNumber Да Уникальный номер заказа на стороне продавца.
description Нет Описание заказа.
language Нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParameters Нет

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

        "имя_параметра": "значение_параметра" 
    

Каждую новую пару имени и значения параметра следует отделять запятой.
Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека.

preAuth Нет Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счету клиента до их списания). Доступны следующие значения: - true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания);- false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу.
clientId Нет Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей.
paymentToken Да Токен, полученный от Google Pay и закодированный в Base64.
ip Да IP-адрес плательщика.
amount Да Сумма платежа в минимальный единицах валюты (например, в копейках).
currencyCode Нет Цифровой код валюты платежа ISO 4217. Если не указан, считается равным 643 (российский рубль).
email Нет (см. описание) Адрес электронной почты. Обязателен, если у интернет-магазина настроена фискализация и не указан номер телефона.
phone Нет (см. описание) Номер телефона. Обязателен, если у интернет-магазина настроена фискализация и не указан адрес электронной почты.
failUrl Нет на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес платёжного шлюза>/<адрес продавца>.
        См. также блок 3DS-платёж - для одностадийных и двухстадийных платежей. 
failUrl используется таким же образом, как и на шаге 11 в указанных схемах.
    
returnUrl Да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес платёжного шлюза>/<адрес продавца>.
        См. также блок 3DS-платёж - для одностадийных и двухстадийных платежей. 
returnUrl используется таким же образом, как и на шаге 11 в указанных схемах.
    

Ниже представлен пример запроса на оплату.

Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json.

        
{
    "merchant": "OurBestMerchantLogin",
    "orderNumber": "UAF-203974-DE",
    "language": "RU",
    "returnUrl": "https://test.ru",
    "preAuth": true,
    "description" : "Test description",
    "additionalParameters":
    {
        "firstParamName": "firstParamValue",
        "secondParamName": "secondParamValue"
    },
    "paymentToken": "ewogICJwcm90b2NvbFZlcnNpb24iOiAiRUN2MSIsCiAgInNpZ25hdHVyZSI6ICJUSlZBOTVPck03RTJjQmFiMzBSTUhySERjRWZ4am9ZWmdlRk9ORmg3SGdRIiwKICAic2lnbmVkTWVzc2FnZSI6ICJ7XCJlbmNyeXB0ZWRNZXNzYWdlXCI6CiAgXCJaVzVqY25sd2RHVmtUV1Z6YzJGblpRPT1cIixcImVwaGVtZXJhbFB1YmxpY0tleVwiOgogIFwiWlhCb1pXMWxjbUZzVUhWaWJHbGpTMlY1XCIsXCJ0YWdcIjogXCJjMmxuYm1GMGRYSmxcIn0iCn0=",
    "ip" : "127.0.0.1",
    "amount" : "230000",
    "currencyCode" : 810
}
    


Описание параметров ответа приведены в таблице ниже.

Параметр Вложенный параметр Обязательный параметр Описание
success Не актуально Да Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - платёж прошёл успешно и false (ложь) - платёж не прошёл.
data orderId Да Уникальный для продавца номер заказа в платёжной системе.
data termUrl Только если используется дополнительная аутентификация на ACS банка-эмитента При успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа.
data acsUrl Только если используется дополнительная аутентификация на ACS банка-эмитента При успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа.
data paReq Только если используется дополнительная аутентификация на ACS банка-эмитента При успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа.
data bindingId Только при использовании связок Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками.
error code Да Код ошибки.
error description Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.
error message Да Понятное описание ошибки - предназначено для отображения пользователю.

data - возвращается, только если платёж прошёл успешно
error - возвращается, только если платёж не прошёл


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


Успешная оплата

        {
"success":true,
"data": {
 "orderId": "12312312123"
 }
    

Не успешная оплата

        {
  "error": {
    "code": 1,
    "description":
"Processing Error",
    "message":
"Недостаточно средств на карте"
  },
  "success": false
}
    


Описание возможных кодов ошибок представлено в таблице ниже.

Код ошибки Сообщение об ошибке
0 Обработка запроса прошла без системных ошибок
1 Недостаточно средств на карте
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка
10 Некорректное значение параметра paymentToken
10 Некорректное значение параметра orderNumber
10 Некорректное значение параметра merchant
10 Некорректное значение параметра ip
10 Расшифровка переданных данных неуспешна
10 Отсутствует приватный ключ

Запрос на оплату через Samsung Pay (REST)

Для регистрации заказа в Samsung Pay используется запрос payment.do (см. раздел Координаты подключения).

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

Ниже представлен Пример запроса на оплату через Samsung Pay.

Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json.

        {
    "merchant": "OurBestMerchantLogin",
    "orderNumber": "UAF-203974-DE",
    "language": "RU",
    "preAuth": true,
    "description" : "Test description",
    "additionalParameters":
    {
        "firstParamName": "firstParamValue",
        "secondParamName": "secondParamValue"
    },
    "paymentToken": "ew0KICB7DQoJICAidmVyc2lvbiI6ICJSU0FfdjEiLA0KCSAgInNpZ25hdHVyZSI6ICJabUZyWlNCemFXZHVZWFIxY21VPSIsDQoJICAiaGVhZGVyIjogew0KCQkiZXBoZW1lcmFsUHVibGljS2V5IjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRW14Q2hDcGpLemY5YVh6MjZXVDZaVE4yekUzaUdYUWpjWlJZWUFkUUlURFgyUmtBTmJ0N2s5cmFoRjFoempqbWVWVHhjZ0NvZkg4MXprMkdOVFozZHRnPT0iICAgICAgIA0KCQkid3JhcHBlZEtleSI6ICJYejI2V1Q2WlROMnpFM2lHWFFqYz0iDQoJCSJwdWJsaWNLZXlIYXNoIjogIk9yV2dqUkdrcUVXamRrUmRVclhmaUxHRDBoZS96cEV1NTEyRkpXckdZRm89IiwNCgkJInRyYW5zYWN0aW9uSWQiOiAiYXBwbGUtMTIzNDU2Nzg5MEFCQ0RFRiINCgkgIH0sDQoJICAiZGF0YSI6ICIxZFhFMTNrdnpUVlA2bldFTjhEMnBoclBsZlFjR3I4VzN5ajJTSFlZai9QeWNIV1RqbnBWN3ovRXI3OGJyaT09Ig0KICB9DQp9",
    "ip" : "127.0.0.1"
}
    

Описание параметров приведено в таблице ниже.

Название Обязательно Описание
merchant Да Имя входа продавца в системе платёжного шюлза.
orderNumber Да Уникальный номер заказа на стороне продавца.
description Нет Описание заказа.
language Нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParameters Нет Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Дополнительные параметры следует указывать в следующем формате. "имяпараметра": "значениепараметра" Каждую новую пару имени и значения параметра следует отделять запятой.
preAuth Нет Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения: · true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания); · false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу.
clientId Нет Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей.
paymentToken Да Содержимое параметра 3ds.data из ответа, полученного от Samsung Pay.
ip Да IP-адрес плательщика.
currencyCode Нет Цифровой код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.

Примеры и описание ответа
Успешная оплата

html
        {
"success":true,
"data": {
    "orderId": "12312312123"
  }
}
    

Не успешная оплата

        {
  "error": {
    "code": 1,
    "description": "Processing Error",
    "message": "Недостаточно средств на карте"
  },
  "success": false
}
    

Описание параметров ответа представлено в таблице ниже.

Параметр Вложенный параметр Обязательно Описание
success Не актуально Да Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - платёж прошёл успешно; false (ложь) - платёж не прошёл.
data (возвращается, только если платёж прошёл успешно) orderId Да Уникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл) code Да Код ошибки.
description - Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.
message - Да Понятное описание ошибки - предназначено для отображения пользователю.

Описание возможных кодов ошибок представлено в таблице ниже.

Код Описание
0 Обработка запроса прошла без системных ошибок
1 Недостаточно средств на карте
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка
10 Некорректное значение параметра paymentToken
10 Некорректное значение параметра orderNumber
10 Некорректное значение параметра merchant
10 Некорректное значение параметра ip
10 Некорректное значение параметра paymentToken.header.alg
10 Некорректное значение параметра paymentToken.header.enc
10 Некорректное значение параметра paymentToken.header.typ
10 Некорректное значение параметра paymentToken.header.channelSecurityContext
10 Некорректное значение параметра paymentToken.header.kid
10 Расшифровка переданных данных неуспешна