Интерфейс REST

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
token AN..30 нет Открытый ключ, который можно использовать для регистрации заказа. Если для аутентификации при регистрации заказа используются логин и пароль, параметр token передавать не нужно
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amount N..12 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).
returnUrl AN..512 да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrl AN..512 нет Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
description ANS..512 нет Описание заказа в свободной форме
ip ANS..39 нет IP-адрес покупателя
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
pageView ANS..20 нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP – для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html );
  • MOBILE – для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html );
  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.
    где:

    • locale – язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

clientId AN..255 нет

Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.

Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен.

merchantLogin AN..255 нет Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
jsonParams AN..1024 нет

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

        {"<name1>":"<value1>",...,"<nameN>":"<valueN>"}
    

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

sessionTimeoutSecs N...9 нет Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
expirationDate ANS нет Дата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs .
bindingId AN..255 нет Идентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
features ANS..255 нет AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей. VERIFY - Если указать это значение после запроса на регистрацию заказа произойдёт верификация держателя карты без списания средств с его счёта, поэтому в запросе можно передавать нулевую сумму.
dynamicCallbackUrl AN..512 нет Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки.
email ANS..40 нет Электронная почта покупателя.
phone ANS.12 нет Номер телефона покупателя. Если в телефон включён код страны, номер должен начинаться со знака плюс («+»). Если телефон передаётся без знака плюс («+»), то код страны указывать не следует. Таким образом, допустимы следующие варианты: +79998887766; 9998887766.

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

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

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

Название Тип Обязательно Описание
orderId ANS36 Нет Номер заказа в платёжной системе. Уникален в пределах системы. Отсутствует если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrl AN..512 Нет URL платёжной формы, на который надо перенаправить броузер клиента. Не возвращается если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCode N3 Нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле 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 указаны некорректно

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

        amount=100&currency=810&language=ru&orderNumber=87654321&returnUrl=[https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&pageView=DESKTOP&](https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&pageView=DESKTOP&){jsonParams="param1":"value1","param2":"value2"}&expirationDate=2014-09-08T14:14:14&merchantLogin=merch_child&features=AUTO_PAYMENT
    

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

        {"orderId":"70906e55-7114-41d6-8332-4609dc6590f4","formUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?mdOrder=70906e55-7114-41d6-8332-4609dc6590f4"}
    

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
token AN..30 нет Открытый ключ, который можно использовать для регистрации заказа. Если для аутентификации при регистрации заказа используются логин и пароль, параметр token передавать не нужно
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amount N..12 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
returnUrl AN..512 да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrl AN..512 нет Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
description ANS..512 нет Описание заказа в свободной форме
ip ANS..39 нет IP-адрес покупателя
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)
pageView ANS..20 нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP – для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html );
  • MOBILE – для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html );
  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.
    где:

    • locale – язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

clientId AN..255 нет

Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.

Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен.

merchantLogin AN..255 нет Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
jsonParams AN..1024 нет

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

        {"<name1>":"<value1>",...,"<nameN>":"<valueN>"}
    

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

sessionTimeoutSecs N...9 нет Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
expirationDate ANS нет Дата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs .
autocompletionDate ANS..19 нет Дата и время автозавершения двухстадийного платежа в следующем формате: 2017-12-29T13:02:51 . Чтобы подключить эту функциональность, обратитесь в службу технической поддержки.
bindingId AN..255 нет Идентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
features ANS..255 нет AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей. VERIFY - Если указать это значение после запроса на регистрацию заказа произойдёт верификация держателя карты без списания средств с его счёта, поэтому в запросе можно передавать нулевую сумму.
dynamicCallbackUrl AN..512 нет Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки.
email ANS..40 нет Электронная почта покупателя.
phone ANS.12 нет Номер телефона покупателя. Если в телефон включён код страны, номер должен начинаться со знака плюс («+»). Если телефон передаётся без знака плюс («+»), то код страны указывать не следует. Таким образом, допустимы следующие варианты: +79998887766; 9998887766.

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

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

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

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

Название Тип Обязательно Описание
orderId ANS36 Нет Номер заказа в платёжной системе. Уникален в пределах системы. Отсутствует если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrl AN..512 Нет URL платёжной формы, на который надо перенаправить броузер клиента. Не возвращается если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCode N3 Нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле 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 указаны некорректно

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

        amount=100&currency=810&language=ru&orderNumber=87654321&returnUrl=https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&pageView=MOBILE&{jsonParams="param1":"value1","param2":"value2"}&merchantLogin=merch_child&features=AUTO_PAYMENT
    

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

        {"orderId":"61351fbd-ac25-484f-b930-4d0ce4101ab7","formUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/mobile_payment_ru.html?mdOrder=61351fbd-ac25-484f-b930-4d0ce4101ab7"}
    

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

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

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

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

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

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

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

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

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

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

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

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

        {"errorCode":0}
    

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательность Описание
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..12 да Сумма платежа в копейках (или центах)
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 Авторизация отклонена

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

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

Пример запроса 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}
    

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

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

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

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

Название Тип Обязательно Описание
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина.
orderStatus N2 нет

По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений:

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

Отсутствует, если заказ не был найден.

actionCode N3 да Код ответа.
actionCodeDescription AN..512 да Расшифровка кода ответа на языке, переданном в параметре Language в запросе.
errorCode N3 нет

Код ошибки. Возможны следующие варианты:

  • '0' Обработка запроса прошла без системных ошибок;
  • '1' Ожидается orderId или orderNumber;
  • '5' Доступ запрещён;
  • '5' Пользователь должен сменить свой пароль;
  • '6' Заказ не найден;
  • '7' Системная ошибка.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре Language в запросе.
amount N..12 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).
date ANS да Дата регистрации заказа.
orderDescription AN..512 нет Описание заказа, переданное при его регистрации
ip AN..20 да IP-адрес покупателя.
merchantOrderParams нет

Присутствует в ответе, если в заказе содержатся дополнительные параметры продавца.
Каждый дополнительный параметр заказа представлен в отдельном элементе merchantOrderParams.

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

В элементе лежит структура, состоящая из списка элемента secureAuthInfo и следующих параметров:

Название Тип Обязательно Описание Версия getOrderStatusExtended
maskedPan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. Все версии.
expiration N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа. Все версии.
cardholderName A..64 нет Имя держателя карты. Указан только после оплаты заказа. Все версии.
approvalCode AN6 нет Код авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. Указан только после оплаты заказа. Все версии.
chargeback A..5 нет Были ли средства принудительно возвращены покупателю банком. Возможны следующие значения: true (истина); false (ложь). 06 и выше.
paymentSystem N..10 да Наименование платёжной системы. Доступны следующие варианты: VISA, MASTERCARD, AMEX, JCB, CUP, MIR. 08 и выше.
product AN..255 да Дополнительные сведения о корпоративных картах. Эти сведения заполняются службой технической поддержки в консоли управления. Если такие сведения отсутствуют, возвращается пустое значение. 08 и выше.
paymentWay AS..14 да Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). 09 и выше.
secureAuthInfo - нет

Элемент состоит из элемента eci и элемента threeDSInfo, являющимся списком параметров cavv и xid:


Название Тип Обязательно Описание
eci N..4 нет Электронный коммерческий индикатор. Указан только после оплаты заказа и в случае соответствующего разрешения.
cavv ANS..200 нет Значение проверки аутентификации владельца карты. Указан только после оплаты заказа и в случае соответствующего разрешения.
xid ANS..80 нет Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения.
-



bindingInfo - нет

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
clientId AN..255 нет Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок. Все версии.
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. Все версии.
authDateTime ANS нет Дата/время авторизации. 02 и выше.
authRefNum AN..24 нет Reference number. 02 и выше.
terminalId AN..10 нет Id терминала. 02 и выше.
paymentAmountInfo - нет

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
approvedAmount N..12 нет Сумма, захолдированная на карте (используется только при двухстадийных платежах). 03 и выше.
depositedAmount N..12 нет Сумма, подтверждённая для списания с карты. 03 и выше.
refundedAmount N..12 нет Сумма возврата. 03 и выше.
paymentState A..10 нет Состояние заказа. 03 и выше.
feeAmount N..12 нет Сумма комиссии. 11 и выше.
bankInfo - нет

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

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

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

        orderId=b9054496-c65a-4975-9418-1051d101f1b9&language=ru&merchantOrderNumber=0784sse49d0s134567890
    

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

        {"errorCode":"0","errorMessage":"Успешно","orderNumber":"0784sse49d0s134567890","orderStatus":6,"actionCode":-2007,"actionCodeDescription":"Время сессии истекло","amount":33000,"currency":"810","date":1383819429914,"orderDescription":" ","merchantOrderParams":[{"name":"email","value":"yap"}],"attributes":[{"name":"mdOrder","value":"b9054496-c65a-4975-9418-1051d101f1b9"}],"cardAuthInfo":{"expiration":"201912","cardholderName":"Ivan","secureAuthInfo":{"eci":6,"threeDSInfo":{"xid":"MDAwMDAwMDEzODM4MTk0MzAzMjM="}},"pan":"411111**1111"},"terminalId":"333333"}
    

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

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

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

        {"<name1>":"<value1>",...,"<nameN>":"<valueN>"}
    

Тип данных: name ANS..255; value ANS..1024
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции.

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

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

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

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

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

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

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

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

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

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

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

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

        {"<name1>":"<value1>",...,"<nameN>":"<valueN>"}
    

Тип данных: name ANS..255; value ANS..1024
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции.

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

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

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

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

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

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

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

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

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

        {"errorCode":0}
    

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательность Описание
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 Произошла системная ошибка.

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

         pan=4111111111111111
    

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

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
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 Произошла системная ошибка

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

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

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

        {"errorCode":0}
    

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
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..12 да Сумма платежа в минимальных единицах валюты.
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..12 нет Сумма, подтверждённая к списанию.
depositedAmount N..12 нет Сумма списания с карты.
refundedAmount N..12 нет Сумма возврата.

Параметры блока 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 Недостаточно прав для просмотра транзакций указанного мерчанта

Пример запроса 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.
Данная операция доступна при наличии соответствующих прав в системе.

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
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 (см. раздел Координаты подключения).

Вы можете протестировать работу данного метода с помощью SWAGGER По истечении срока действия карты связка становиться недоступна для использования в оплате.

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

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

Название Тип Обязательно Описание
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..* нет Адрес электронной почты плательщика.
tii A2 нет

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

  • U - внеплановая MIT CoF операция
  • F - последующая CIT CoF операция

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

Название Тип Обязательно Описание
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://alfa.rbsuat.com/payment/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://alfa.rbsuat.com/payment/merchants/ecom2/finish3ds.do","errorCode":0}
    

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

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

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

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

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

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

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

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

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

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

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

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

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

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

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

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

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

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

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

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
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 Системная ошибка

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

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

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

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
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 Системная ошибка

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

        clientId=client
    

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

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

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

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

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Название Тип Обязательно Описание
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://alfa.rbsuat.com/payment/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 (см. раздел Координаты подключения).
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.

Вы можете протестировать работу данного метода с помощью SWAGGER

Пример запроса 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 в запросе на оплату, который продавец направит в платёжный шлюз.
dynamicCallbackUrl AN..512 нет Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки.

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

        {
  "paymentData": {
    "data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN/aQQEThe2pQ0c7hgzzZlA6TpkIR/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwXp6mOwJZ6ZFO/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1/dFvQJjDYbMorKQ8GJbWtlsVbKsy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7/404kMGpnHgkNVqFc/4SN0U2XQ5rrb14DM8M69w=",
    "signature": "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4jCCA4igAwIBAgIIJEPyqAad9XcwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDkyNTIyMDYxMVoXDTE5MDkyNDIyMDYxMVowXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O/0komJPnwPE6OCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDEwHQYDVR0OBBYEFJRX22\/VdIGGiYl2L35XhQfnm1gkMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUI/JJxE+T5O8n5sT2KGw/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0gAMEUCIHKKnwSoyq5mXQr1V62c0BXKpaHodYu9TWXEPUWPpbpAiEAkTecfW6+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"
  },
  "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 Да Понятное описание ошибки - предназначено для отображения пользователю.
orderStatus (Содержит параметры состояния заказа и возвращается, только если платёж шлюз признал все параметры запроса верными.) errorCode N3 Нет Код ошибки.
orderNumber AN..32 Нет Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы.
orderStatus N..2 Нет По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Возможны следующие значения:
0 - заказ зарегистрирован, но не оплачен;
1 - предавторизованная сумма захолдирована (для двухстадийных платежей);
2 - проведена полная авторизация суммы заказа;
3 - авторизация отменена;
4 - по транзакции была проведена операция возврата;
5 - инициирована авторизация через ACS банка-эмитента;
6 - авторизация отклонена.
actionCode N..5 Нет Коды ответа - цифровое обозначение результата, к которому привело обращение к системе со стороны пользователя.
actionCodeDescription AN..512 Нет Расшифровка кода ответа на языке, переданном в параметре запроса language.
amount N..20 Нет Сумма платежа в минимальных единицах валюты (например, в копейках или центах).
currency N3 Нет Валюта платежа.
date ANS Нет Дата регистрации заказа в формате UNIX-времени (POSIX-времени).
ip AN..20 Нет IP-адрес пользователя, который оплачивал заказ. IPv6 поддерживается во всех запросах.
merchantOrderParams AN..1024 Нет Параметр, содержащий атрибуты, в которых передаются дополнительные параметры продавца: name - название дополнительного параметра; value - значение дополнительного параметра.
attributes AN..1024 Нет Атрибуты заказа в платёжной системе (номер заказа): name - название атрибута, всегда принимает значение mdOrder; value - номер заказа в платёжной системе (уникален в пределах системы).
cardAuthInfo - Нет Данные о платёжной карте покупателя:
expiration (ANS) - год и месяц истечения срока действия платёжной карты;
cardholderName (A..64) - имя держателя карты, если доступно;
approvalCode (AN6) - код авторизации платежа, может содержать цифры и латинские буквы;
pan (NS..19) - маскированный DPAN: номер, привязанный к мобильному устройству покупателя и выполняющий функции номера платёжной карты в системе Apple Pay.
authDateTime ANS Нет Дата и время авторизации в формате UNIX-времени (POSIX-времени).
terminalId AN..10 Нет Идентификатор терминала в процессинге, через который осуществлялась оплата.
authRefNum AN..24 Нет Учётный номер авторизации, который присваивается при регистрации платежа.
paymentAmountInfo - Нет Параметр, содержащий вложенные параметры с информацией о суммах подтверждения, списания, возврата:
paymentState (A..10) - состояние платежа;
approvedAmount (N..12) - сумма, подтверждённая к списанию;
depositedAmount (N..12) - сумма списания с карты;
refundedAmount (N..12) - сумма возврата.
totalAmount (N..12) - сумма заказа + fee (комиссия, если она была использована в заказе).
bankInfo - Нет Содержит вложенный параметр bankCountryName (AN..160) - если доступно, в параметре передаётся наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан.

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

Данный функционал поддерживает рекуррентные платежи по картам MasterCard и Visa

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

Вы можете протестировать работу данного метода с помощью SWAGGER

Пример запроса 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 (см. раздел Координаты подключения).
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.

Вы можете протестировать работу данного метода с помощью SWAGGER

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

Параметр Обязательно Описание
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 в указанных схемах.
    
dynamicCallbackUrl нет Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки.


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

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

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


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

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

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


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

        {
"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 (см. раздел Координаты подключения).
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.

Вы можете протестировать работу данного метода с помощью SWAGGER

Ниже представлен Пример запроса на оплату через 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 Расшифровка переданных данных неуспешна