Интерфейс REST


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

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

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

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

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amountN.20да Сумма платежа в копейках (или центах)
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).
returnUrlAN.512да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrlAN.512нетАдрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
descriptionANS.512нетОписание заказа в свободной форме
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
pageViewANS.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.

clientIdAN.255нет

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

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

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

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

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

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

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

sessionTimeoutSecsN…9нетПродолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
expirationDateANSнетДата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH: mm: ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.
bindingIdAN.255нетИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
featuresANS.255нет

Возможно использование следующих значений:

  • AUTO_PAYMENT — Если запрос на регистрацию заказа инициирует проведение автоплатежей.

  • VERIFY — Если указать это значение после запроса на регистрацию заказа произойдёт верификация держателя карты без списания средств с его счёта, поэтому в запросе можно передавать нулевую сумму. Верификация позволяет убедиться, что карта находится в руках владельца, и впоследствии списывать с этой карты средства, не прибегая к проверке аутентификационных данных (CVC, 3D-Secure) при совершении последующих платежей.

Особенности передачи значения VERIFY:

  • даже если сумма платежа будет передана в запросе, она не будет списана со счёта покупателя;

  • после успешной регистрации заказ сразу переводится в статус REVERSED (отменён).

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

  • orderNumber — номер заказа в системе магазина;

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

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

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

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

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

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

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

https://alfa.rbsuat.com/payment/rest/register.do?amount=100&currency=810&language=ru&orderNumber=87654321&password=password&returnUrl=https://alfa.rbsuat.com/payment/finish.html&userName=userName&{jsonParams="param1»:"value1»,"param2»:"value2"}&pageView=DESKTOP&expirationDate=08.09.2014T14:14:14&merchantLogin=merch_child&features=AUTO_PAYMENT

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

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

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

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

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

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

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

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amountN.20да Сумма платежа в копейках (или центах)
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
returnUrlAN.512да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrlAN.512нетАдрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
descriptionANS.512нетОписание заказа в свободной форме
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)
pageViewANS.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.

clientIdAN.255нет

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

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

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

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

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

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

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

sessionTimeoutSecsN…9нетПродолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
expirationDateANSнетДата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH: mm: ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.
bindingIdAN.255нетИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
featuresANS.255нет

Возможно использование следующих значений:

  • AUTO_PAYMENT — Если запрос на регистрацию заказа инициирует проведение автоплатежей.

  • VERIFY — Если указать это значение после запроса на регистрацию заказа произойдёт верификация держателя карты без списания средств с его счёта, поэтому в запросе можно передавать нулевую сумму. Верификация позволяет убедиться, что карта находится в руках владельца, и впоследствии списывать с этой карты средства, не прибегая к проверке аутентификационных данных (CVC, 3D-Secure) при совершении последующих платежей.

Особенности передачи значения VERIFY:

  • даже если сумма платежа будет передана в запросе, она не будет списана со счёта покупателя;

  • после успешной регистрации заказ сразу переводится в статус REVERSED (отменён).

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

  • orderNumber — номер заказа в системе магазина;

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

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

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

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

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

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

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

https://alfa.rbsuat.com/payment/rest/registerPreAuth.do?amount=100¤cy=810&language=ru&orderNumber=87654321&password=password&returnUrl=https://alfa.rbsuat.com/payment/finish.html&userName=userName&{jsonParams="param1»:"value1»,"param2»:"value2"}&pageView=MOBILE&merchantLogin=merch_child&features=AUTO_PAYMENT

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

amount=100&currency=810&language=ru&orderNumber=87654321&returnUrl=https://alfa.rbsuat.com/payment/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/test/mobile_payment_ru.html?mdOrder=61351fbd-ac25-484f-b930-4d0ce4101ab7«}

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

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

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

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

НазваниеТипОбязательностьОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
amountN.20да Сумма платежа в копейках (или центах)

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

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

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

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

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

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

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

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

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

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

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

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

{"errorCode»: 0}

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

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

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

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

НазваниеТипОбязательностьОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.

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

НазваниеТипОбязательностьОписание
OrderStatusN2НетПо значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений приведён в таблице ниже. Отсутствует, если заказ не был найден.
ErrorCodeN3НетКод ошибки.
ErrorMessageAN.512НетОписание ошибки на языке, переданном в параметре Language в запросе.
OrderNumberAN.32Да Номер (идентификатор) заказа в системе магазина
PanN.19нетМаскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
expirationN6нетСрок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.
cardholderNameA.64нетИмя держателя карты. Указан только после оплаты заказа.
AmountN.20да Сумма платежа в копейках (или центах)
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).
approvalCodeAN6нетКод авторизации МПС. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.
authCodeN3нетЭто поле является устаревшим. Его значение всегда равно «2», независимо от состояния заказа и кода авторизации процессинговой системы.
IpAN.20нетIP адрес пользователя, который оплачивал заказ
BindingInfo —нет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

НазваниеТипОбязательностьОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdANS36да*Номер заказа в платёжной системе. Уникален в пределах системы.
orderNumberAN.32да*Номер (идентификатор) заказа в системе магазина.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.

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

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина.Все версии.
orderStatusN2нет

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

  • ’0′ Заказ зарегистрирован, но не оплачен;

  • ’1′ Предавторизованная сумма захолдирована (для двухстадийных платежей);

  • ’2′ Проведена полная авторизация суммы заказа;

  • ’3′ Авторизация отменена;

  • ’4′ По транзакции была проведена операция возврата;

  • ’5′ Инициирована авторизация через ACS банка-эмитента;

  • ’6′ Авторизация отклонена.

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

Все версии.
actionCodeN3да Код ответа.Все версии.
actionCodeDescriptionAN.512да Расшифровка кода ответа на языке, переданном в параметре Language в запросе.Все версии.
errorCodeN3нет

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

  1. ’0′ Обработка запроса прошла без системных ошибок;

  2. ’1′ Ожидается [orderId] или [orderNumber];

  3. ’5′ Доступ запрещён;

  4. ’5′ Пользователь должен сменить свой пароль;

  5. ’6′ Заказ не найден;

  6. ’7′ Системная ошибка.

Все версии.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре Language в запросе.Все версии.
amountN.20да Сумма платежа в копейках (или центах)Все версии.
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).Все версии.
dateANSда Дата регистрации заказа.Все версии.
orderDescriptionAN.512нетОписание заказа, переданное при его регистрацииВсе версии.
ipAN.20да IP-адрес покупателя.Все версии.
merchantOrderParams —нет

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

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

НазваниеТип ОбязательноОписаниеВерсия getOrderStatusExtended
nameAN..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 нетЭлектронный коммерческий индикатор. Указан только после оплаты заказа и в случае соответствующего разрешения.
cavvANS..200нетЗначение проверки аутентификации владельца карты. Указан только после оплаты заказа и в случае соответствующего разрешения.
xidANS..80нетЭлектронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения.
09 и выше.
bindingInfo —нет

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

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

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

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

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

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

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

https://alfa.rbsuat.com/payment/rest/getOrderStatusExtended.do?userName=userName&password=password&orderId=b9054496-c65a-4975-9418-1051d101f1b9&language=ru&merchantOrderNumber=0784sse49d0s134567890

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

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

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

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

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

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

Классификация:

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

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

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

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

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

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

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

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

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

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

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

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

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

НазваниеТипОбязательностьОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
amountN.20да Сумма платежа в копейках (или центах)

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

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

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

Классификация:

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

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

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

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

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

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

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

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

{"errorCode»: 0}

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

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

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

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

НазваниеТипОбязательностьОписание
userNameAN.30да Логин пользователя (API)
passwordAN.30да Пароль пользователя (API)
panN12…19да Номер карты

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

НазваниеТипОбязательностьОписание
errorCodeN3нетКод ошибки.
errorMessageAN.512нетОписание ошибки.
enrolledA1нетПризнак вовлечённости карты в 3DS. Возможные значения: Y, N, U.
emitterNameAN.160нетНаименование банка-эмитента.
emitterCountryCodeAN.4нетКод страны банка-эмитента.

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

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

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

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

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

pan=4111111111111111

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

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

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

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

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

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
languageA2нетЯзык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта.
paramsAN.1024да Поля для передачи дополнительных параметров, вида {"param»:"value»,"param2»:"value2"}.

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

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

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

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

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

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

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

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

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

{"errorCode»: 0}

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

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

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

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении.
passwordAN.30да Пароль магазина, полученный при подключении.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.
pageNнетПри обработке запроса будет сформирован список, разбитый на страницы (с количеством записей size на одной странице). В ответе возвращается страница под номером, указанным в параметре page. Нумерация страниц начинается с 0. Если параметр не указан, будет возвращена страница под номером 0.
sizeN.3да Количество элементов на странице (максимальное значение = 200).
fromANSда Дата и время начала периода для выборки заказов в формате YYYYMMDDHHmmss.
toANSда Дата и время окончания периода для выборки заказов в формате YYYYMMDDHHmmss.
transactionStatesA.9да В этом блоке необходимо перечислить требуемые состояния заказов. Только заказы, находящиеся в одном из указанных состояний, попадут в отчёт. Несколько значений указываются через запятую. Возможные значения: CREATED, APPROVED, DEPOSITED, DECLINED, REVERSED, REFUNDED.
merchantsANSда Список Логинов мерчантов, чьи транзакции должны попасть в отчёт. Несколько значений указываются через запятую. Оставьте это поле пустым, чтобы получить список отчётов по всем доступным мерчантам (дочерним мерчантам и мерчантам, указанным в настройках пользователя).
searchByCreatedDateA.5нетВозможные значения: · true — поиск заказов, дата создания которых попадает в заданный период. · false — поиск заказов, дата оплаты которых попадает в заданный период (таким образом, в отчёте не могут присутствовать заказы в статусе CREATED и DECLINED). Значение по умолчанию — false.

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

НазваниеТипОбязательноОписание
errorCodeN.2да Код ошибки. Описание возможных кодов представлено ниже в таблице «Коды ошибок (поле errorCode)»
errorMessageAN.512нетОписание ошибки. Присутствует только при наличии ошибки (errorCode не равно 0).
orderStatuses — —Блок, содержащий информацию о заказах, попавших в отчёт. См. ниже таблицу «Параметры блока orderStatuses».
totalCountNда Общее количество элементов во отчёте (на всех страницах).
pageNда Номер текущей страницы (равный номеру страницы, переданному в запросе).
pageSizeN.3да Максимальное количество записей на странице (равно размеру страницы, переданному в запросе).

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

НазваниеТипОбязательноОписание
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина.
orderStatusN.2да Состояние заказа в платёжной системе. Возможные значения представлены ниже в таблице «Поле orderStatus:».
actionCodeN.3да Код ответа.
actionCodeDescriptionAN.512да Расшифровка кода ответа.
amountN.20да Сумма платежа в минимальных единицах валюты.
currencyN3да Код валюты платежа ISO 4217. Если не указан, считается равным валюте по умолчанию.
dateANSда Дата регистрации заказа.
orderDescriptionAN.512нетОписание заказа, переданное при его регистрации
ipAN.20нетIP адрес покупателя. Указан только после оплаты.
errorCodeN.2да Код ошибки.
merchantOrderParams —нетТэг с атрибутами, в которых передаются дополнительные параметры мерчанта. См. ниже таблицу «Параметры блока merchantOrderParams».
attributes —да Атрибуты заказа в платёжной системе (номер заказа). См. ниже таблицу «Параметры блока attributes».
cardAuthInfo —нетТэг с атрибутами платежа. См. ниже таблицу «Параметры блока cardAuthInfo».
bindingInfo —нетТэг с информацией о связке, с помощью которой осуществлена оплата. См. ниже таблицу «Параметры блока bindingInfo».
authDateTimeANSнетДата/время авторизации
terminalIdAN.10нетId терминала
authRefNumAN.24нетReference number
paymentAmountInfo —нетТэг с информацией о суммах подтверждения, списания, возврата. См. ниже таблицу «Параметры блока paymentAmountInfo».
bankInfo —нетТэг с информацией о Банке-эмитенте. См. ниже таблицу «Параметры блока bankInfo».

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

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

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

НазваниеТипОбязательноОписание
nameA7да Название атрибута — «mdOrder».
valueANS36да Значение атрибута — номер заказа в платёжной системе (уникален в пределах системы).
Параметры блока cardAuthInfo:
НазваниеТипОбязательноОписание
panN.19нетМаскированный номер карты, которая использовалась для оплаты.
expirationN6нетСрок истечения действия карты в формате YYYYMM.
cardholderNameA.64нетИмя держателя карты.
approvalCodeAN6нетКод авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.

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

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

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

НазваниеТипОбязательноОписание
paymentStateN.9нетСостояние платежа
approvedAmountN.20нетСумма, подтверждённая к списанию.
depositedAmountN.20нетСумма списания с карты.
refundedAmountN.20нетСумма возврата.

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

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

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

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

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

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

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

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

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

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

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

{"errorCode»: 0,

«orderStatuses»: [

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

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

«totalCount»: 2,"page»: 0,"pageSize»: 100}

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

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

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

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
MDORDERANS36да Номер заказа, полученный при регистрации заказа
paymentWayANS.*да В этом параметре передаётся способ оплаты. Возможные значения: · ALFA_ALFACLICK — для оплаты с помощью «Альфа-Клик» (через систему PayByClik). · UPOP — для оплаты через систему UPOP, доступно для держателей карт China UnionPay.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.

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

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

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

  • Ваш платёж обработан, происходит переадресация...

  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация...

  • Извините, платёж не может быть совершён. Происходит переадресация...

  • Операция отклонена. Обратитесь в магазин. Происходит переадресация...

  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация...

  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация...

  • Нет связи с банком. Повторите позже. Происходит переадресация...

  • Истёк срок ожидания ввода данных. Происходит переадресация...

  • Не получен ответ от банка. Повторите позже. Происходит переадресация...

redirectANS.*нетАдрес возврата после оплаты

Коды ошибок (поле 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. По истечении срока действия карты связка становиться недоступна для использования в оплате.

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении.
passwordAN.30да Пароль магазина, полученный при подключении.
mdOrderANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
bindingIdAN.255да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
ipNS.15да ip-адрес плательщика.
cvcN.3нетCVC код. Этот параметр обязателен, если для мерчанта не выбрано разрешение «Может проводить оплату без подтверждения CVC».
emailANS.*нетАдрес электронной почты плательщика.
tiiA2нет

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

  • U - внеплановая MIT CoF операция

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

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

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

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

  • Ваш платёж обработан, происходит переадресация...

  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация...

  • Извините, платёж не может быть совершён. Происходит переадресация...

  • Операция отклонена. Обратитесь в магазин. Происходит переадресация...

  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация...

  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация...

  • Нет связи с банком. Повторите позже. Происходит переадресация...

  • Истёк срок ожидания ввода данных. Происходит переадресация...

  • Не получен ответ от банка. Повторите позже. Происходит переадресация...

errorCodeN1да Код ошибки.
errorMessageAN.*нетПри ответе с ошибкой. Сообщение об ошибке.
errorAN.*нетПри ответе с ошибкой. Сообщение об ошибке.
processingErrorTypeANS.*нетТип ошибки процессинга. Передаётся, когда ошибка происходит на стороне процессинга, а не в платёжном шлюзе, при том что попытки проведения платежа ещё не исчерпаны и переадресации на финальную страницу не происходит. Расшифровка ошибки передаётся в параметре error.
acsUrlANS.*нетПри успешном ответе в случае 3DS-платежа. URL для перехода на ACS.
paReqANS.*нетПри успешном ответе в случае 3DS-платежа. Payment Authentication Request.
termUrlANS.*нетПри успешном ответе в случае 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://web.rbsuat.com/:443/ab/rest/finish3ds.do»,"errorCode»: 0}

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

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

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

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

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

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

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

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

НазваниеТипОбязательноОписание
errorCodeN3нетКод ошибки.
errorMessageAN.512нетОписание ошибки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

НазваниеТипОбязательноОписание
errorCodeN3нетКод ошибки.
errorMessageAN.512нетОписание ошибки.

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

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

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

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

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

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

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

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

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

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

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

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении.
passwordAN.30да Пароль магазина, полученный при подключении.
bindingIdANS36да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
newExpiryN6да Новая дата (год и месяц) окончания срока действия связки в формате YYYYMM.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

clientId=client

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

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

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

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

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

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

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

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

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

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

НазваниеТипОбязательноОписание
bindingIdAN.255нетИдентификатор связки.
maskedPanN.19нетМаскированный номер карты, которая использовалась для оплаты.
expiryDateN6нетСрок истечения действия карты в формате YYYYMM.
clientIdAN.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»:"eyJ2ZXJzaW9uIjoiRUNfdjEiLCJkYXRhIjoiNTFhUTNGOXl0Q1YwYTdpQS9mMUh0RGc1TnBvSVZtc2RFa1FvTlpoOW95ZVA3eGgvVDk4dXJkenJDN0dOQ3o4c1FodXpXOVZNWUhGU25DTytTWXo0eDYrTnZwZjdCUzhOcnlUWk1Keldtcml0VUZJVytwVjNvNWY4M0F3OU55c1BCMlAxZGZicS9hZDVzV1RwZTMwTnV2UDltRGhaUStET1M3RzB6MDZSNHRXY0R0VFErT0U5YlI1OHFQRUdnTTRiSmRmUklZb25oQlJrdWY2cGw4aU9PQ0VvS01QN2lRck84Z2IrVGNnSjVZSDdDL3J3enBDUVZjMGQxNWJuME9wbE1SOGwxMDcrMDR4ZVVWT3BUMGI3cHRmYnA3VmVaeHVXaHhSTTlHYlF5QmVkVlJHQ2toN3kyREtZY3BRdjJqM1h2L0NjNzRKaVBZM09DTFVEMEIvS0UwUFo1TnJvUEJFUmZ2a1B4WUFzV1ZmM1E3UUtTcTk4Z3p5UXlrWEpwTmFwcEt6cENDMkNKU09XdzVkenNPWjAiLCAic2lnbmF0dXJlIjoiTUlBR0NTcUdTSWIzRFFFSEFxQ0FNSUFDQVFFeER6QU5CZ2xnaGtnQlpRTUVBZ0VGQURDQUJna3Foa2lHOXcwQkJ3RUFBS0NBTUlJRDVqQ0NBNHVnQXdJQkFnSUlhR0QybWRuTXB3OHdDZ1lJS29aSXpqMEVBd0l3ZWpFdU1Dd0dBMVVFQXd3bFFYQndiR1VnUVhCd2JHbGpZWFJwYjI0Z1NXNTBaV2R5WVhScGIyNGdRMEVnTFNCSE16RW1NQ1FHQTFVRUN3d2RRWEJ3YkdVZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRFMk1EWXdNekU0TVRZME1Gb1hEVEl4TURZd01qRTRNVFkwTUZvd1lqRW9NQ1lHQTFVRUF3d2ZaV05qTFhOdGNDMWljbTlyWlhJdGMybG5ibDlWUXpRdFUwRk9SRUpQV0RFVU1CSUdBMVVFQ3d3TGFVOVRJRk41YzNSbGJYTXhFekFSQmdOVkJBb01Da0Z3Y0d4bElFbHVZeTR4Q3pBSkJnTlZCQVlUQWxWVE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRWdqRDlxOE9jOTE0Z0xGRFptMFVTNWpmaXFRSGRiTFBnc2MxTFVtZVkrTTlPdmVnYUphakNIa3d6M2M2T0twYkM5cStoa3dORnhPaDZSQ2JPbFJzU2xhT0NBaEV3Z2dJTk1FVUdDQ3NHQVFVRkJ3RUJCRGt3TnpBMUJnZ3JCZ0VGQlFjd0FZWXBhSFIwY0RvdkwyOWpjM0F1WVhCd2JHVXVZMjl0TDI5amMzQXdOQzFoY0hCc1pXRnBZMkV6TURJd0hRWURWUjBPQkJZRUZBSWtNQXVhN3UxR01aZWtwbG9wbmtKeGdoeEZNQXdHQTFVZEV3RUIvd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVJL0pKeEUrVDVPOG41c1QyS0d3L29ydjlMa3N3Z2dFZEJnTlZIU0FFZ2dFVU1JSUJFRENDQVF3R0NTcUdTSWIzWTJRRkFUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TURRR0ExVWRId1F0TUNzd0thQW5vQ1dHSTJoMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsWVdsallUTXVZM0pzTUE0R0ExVWREd0VCL3dRRUF3SUhnREFQQmdrcWhraUc5Mk5rQmgwRUFnVUFNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUNJUURhSEdPdWkrWDJUNDRSNkdWcE43bTJuRWNyNlQ2c01qT2haNU51U28xZWd3SWhBTDFhKy9ocDg4REtKMHN2M2VUM0Z4V2NzNzF4bWJMS0QvUUozbVdhZ3JKTk1JSUM3akNDQW5XZ0F3SUJBZ0lJU1cwdnZ6cVkycGN3Q2dZSUtvWkl6ajBFQXdJd1p6RWJNQmtHQTFVRUF3d1NRWEJ3YkdVZ1VtOXZkQ0JEUVNBdElFY3pNU1l3SkFZRFZRUUxEQjFCY0hCc1pTQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRFVE1CRUdBMVVFQ2d3S1FYQndiR1VnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk13SGhjTk1UUXdOVEEyTWpNME5qTXdXaGNOTWprd05UQTJNak0wTmpNd1dqQjZNUzR3TEFZRFZRUUREQ1ZCY0hCc1pTQkJjSEJzYVdOaGRHbHZiaUJKYm5SbFozSmhkR2×2YmlCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUd0Z4R0VHZGRraGRVYVhpV0JCM2JvZ0tMdjNudXVUZUNOL0V1VDRUTlcxV1piTmE0aTBKZDJEU0pPZTdvSS9YWVh6b2pMZHJ0bWNMN0k2Q21FLzFSRm80SDNNSUgwTUVZR0NDc0dBUVVGQndFQkJEb3dPREEyQmdnckJnRUZCUWN3QVlZcWFIUjBjRG92TDI5amMzQXVZWEJ3YkdVdVkyOXRMMjlqYzNBd05DMWhjSEJzWlhKdmIzUmpZV2N6TUIwR0ExVWREZ1FXQkJRajhrbkVUNVBrN3lmbXhQWW9iRCtpdS8wdVN6QVBCZ05WSFJNQkFmOEVCVEFEQVFIL01COEdBMVVkSXdRWU1CYUFGTHV3M3FGWU00aWFwSXFaM3I2OTY2L2F5eVNyTURjR0ExVWRId1F3TUM0d0xLQXFvQ2lHSm1oMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsY205dmRHTmhaek11WTNKc01BNEdBMVVkRHdFQi93UUVBd0lCQmpBUUJnb3Foa2lHOTJOa0JnSU9CQUlGQURBS0JnZ3Foa2pPUFFRREFnTm5BREJrQWpBNnozS0RVUmFac1liN05jTld5bUsvOUJmdDJROTFUYUtPdnZHY2dWNUN0NG40bVBlYldaK1kxVUVOajUzcHd2NENNREl0MVVRaHNLTUZkMnhkOHpnN2tHZjlGM3dzSVcyV1Q4WnlhWUlTYjFUNGVuMGJtY3ViQ1lraFlRYVpEd21TSFFBQU1ZSUJYekNDQVZzQ0FRRXdnWVl3ZWpFdU1Dd0dBMVVFQXd3bFFYQndiR1VnUVhCd2JHbGpZWFJwYjI0Z1NXNTBaV2R5WVhScGIyNGdRMEVnTFNCSE16RW1NQ1FHQTFVRUN3d2RRWEJ3YkdVZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRBZ2hvWVBhWjJjeW5EekFOQmdsZ2hrZ0JaUU1FQWdFRkFLQnBNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERURTJNVEV3TVRBNU5UY3dObG93THdZSktvWklodmNOQVFrRU1TSUVJQWpSdk9nWkxDa0w5ZmNCZjdOSm5RY3hsd2ltL09ieHkrcEltZ1M0TGRUYU1Bb0dDQ3FHU000OUJBTUNCRWN3UlFJZ1BKaHlkTXE5UDdTaHJFT2RxVk5KUk84QnN1MC93SXNCS0Y1cnlFR0JPSDRDSVFEeWo4Wml3VVV5alRJUFRUZDBKTTlaMExIdGZTQVhOWVN2T0t4eGN3MTlod0FBQUFBQUFBPT0iLCJoZWFkZXIiOnsiZXBoZW1lcmFsUHVibGljS2V5IjoiTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNUdmb2t2U2Z3WnV3aXYwSGxKVE1MS0dlMS96dWtjejczSFlvVjh5cjNGNWdmZmthVmNQTmptNjFhdFNOZm9UZUxiSnQ1aHBLWkJuSWlwZlVXSXZxMmc9PSIsInB1YmxpY0tleUhhc2giOiJLMG9KcmJiYURVUDh6YitSUEZhTmxVUTdTU2I3T1FEWERVeU9vM0JXdDJzPSIsInRyYW5zYWN0aW9uSWQiOiIyYTNkZjhjNDg0Y2JmMDg1OTgyN2Y0ZDBkZjhkYjY4YjYyNjBlNTIxYWUwZmI4YjI1NDRmNzNiM2RlMDVlYjE5In19»,"language»:"ru»,"additionalParameters»: {},"preAuth»:"true"}

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

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

ПараметрТип данныхОбязательный параметрОписание
merchantAN.30Да Имя входа продавца в системе платёжного шлюза.
orderNumberAN.32Да Уникальный номер заказа на стороне продавца.
descriptionANS.512НетОписание заказа.
languageA2НетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParametersAN.1024НетДополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Дополнительные параметры следует указывать в следующем формате. «имя_параметра»: «значение_параметра» Каждую новую пару имени и значения параметра следует отделять запятой.
clientIdANS.255НетНомер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей.
preAuthA.5НетПараметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения: · true (истина) — параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания); · false (ложь) — параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу.
paymentTokenAN.8192Да 

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

Таким образом, чтобы сделать запрос на оплату в платёжный шлюз, продавец должен:

  1. получить от системы Apple Pay объект PKPaymentToken Object, содержащий свойство paymentData;

  2. извлечь значение свойства paymentData и закодировать его в Base64;

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

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

1{
2  «paymentData»: {
3    «data»: «vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN/aQQEThe2pQ0c7hgzzZlA6TpkIR/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwXp6mOwJZ6ZFO/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1/dFvQJjDYbMorKQ8GJbWtlsVbKsy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7/404kMGpnHgkNVqFc/4SN0U2XQ5rrb14DM8M69w=»,
4    «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»,
5    «header»: {
6      «publicKeyHash»: «fpvAnSDwQFX4NX4pghdjpNwUFhoTH/DDGhew94uJaRA=»,
7      «ephemeralPublicKey»: «MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==»,
8      «transactionId»: «38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2»
9    },
10    «version»: «EC_v1»
11  },
12  «transactionIdentifier»: «38E4C267EF1DE62A343D0ECCADA3F7E19F6B22FFC7EDE899C039865432BA6AA2»,
13  «paymentMethod»: {
14    «network»: «Visa»,
15    «type»: «debit»,
16    «displayName»: «Visa5223»
17  }
18}

Значение свойства 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 (возвращается, только если платёж прошёл успешно)orderIdANS36Да Уникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл)codeN.2Да Код ошибки.
description —ANS.512Да Подробное техническое объяснение ошибки — содержимое этого параметра не предназначено для отображения пользователю.
message —AN.512Да Понятное описание ошибки — предназначено для отображения пользователю.

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

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

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

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

1{
2  «userName»: «userName»,
3  «password»: «password»,
4  «orderNumber»: «UAF-203974-DE-12»,
5  «language»: «RU»,
6  «bindingId»: «binding_id»,
7  «amount»: 12 300,
8  «currency»: «810»,
9  «description»: «Test description»,
10  «additionalParameters»: {
11    «firstParamName»: «firstParamValue»,
12    «secondParamName»: «secondParamValue»
13  }
14 }

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

ПараметрОбязательноОписание
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Нет (см. описание)Номер телефона. Обязателен, если у интернет-магазина настроена фискализация и не указан адрес электронной почты.

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

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

1{
2    «merchant»: «OurBestMerchantLogin»,
3    «orderNumber»: «UAF-203974-DE»,
4    «language»: «RU»,
5    «preAuth»: true,
6    «description»: «Test description»,
7    «additionalParameters»:
8    {
9        «firstParamName»: «firstParamValue»,
10        «secondParamName»: «secondParamValue»
11    },
12    «paymentToken»: «eyJtZXJjaGFudCI6ICJrdXBpdmlwIiwib3JkZXJOdW1iZXIiOiAyMDUxOTIzMzkxLCJwYXltZW50VG9rZW4iOiAie1wiZXBoZW1lcmFsUHVibGljS2V5XCI6XCJrZXlcIixcImVuY3J5cHRlZE1lc3NhZ2VcIjpcIm1lc3NhZ2VcIixcInRhZ1wiOlwidGFnXCJ9In0=»,
13    «ip»: «127.0.0.1»,
14    «amount»: «230000»,
15    «currencyCode»: 643
16}

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

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

Запрос на оплату чере AlfaPay (/alfapay/payment.do)

Для регистрации и инициации оплаты c помощью AlfaPay используется метод /alfapay/payment.do. (см. раздел Координаты подключения).
Метод: HTTP POST.
Параметры запроса:

ПараметрТип данныхОбязательный параметрОписание
userNameAN..30Да API-логин, переданный продавцу при регистрации в ПШ.
passwordAN..30Да Пароль от API-логина продавца, переданный продавцу при регистрации в ПШ.
orderNumberANS..32Да Уникальный номер (идентификатор) заказа в системе продавца.
description ANS..598Нет Описание заказа в свободной форме. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку.
language A2Нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
feeInput N..8Нет (см. описание) 

Сумма комиссии в минимальных единицах валюты.

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

additionalParameters См. описаниеНет 

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

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

Каждую новую пару имени и значения параметра следует отделять запятой.

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

preAuth booleanНет 

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

  • true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания);

  • false (ложь) - параметр выключен (списание происходит сразу) - значение по умолчанию.

Возможность проводить двухстадийные платежи предоставляется по отдельному запросу.

ipANS..39Да

IP-адрес пользователя, который оплачивал заказ (IPv4/IPv6).

Если IP не собирается на стороне продавца, то допустимо выставить 0.0.0.0

amountN..12ДаСумма платежа в минимальных единицах валюты.
currencyCodeN3НетЦифровой код валюты платежа ISO 4217.
emailANS..40Нет (см. описание)Электронная почта покупателя. Можно указать несколько адресов электронной почты через запятую и без пробелов - в этом случае чек будет отправлен на все указанные адреса.
phoneANS..12Нет (см. описание)

Номер телефона клиента. Если клиент из РФ, то номер можно вводить и с кодом, и без кода страны (+7). Например:

  • +79998887766;

  • 9998887766

Если при определении IP клиента, окажется, что он из любой другой страны, кроме РФ, то номер телефона вводится и возвращается с кодом страны (+380.../+56...и т. д.).

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

.
returnUrlANS..512Да

Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru/ вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. он не должен начинаться на "." и "/". В противном случае вернется ошибка 4: "URL возврата некорректен"

Например:

failUrlANS..512Нет

Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru/ вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. он не должен начинаться на "." и "/". В противном случае вернется ошибка 4: "URL возврата некорректен"

Например:

dynamicCallbackUrlANS..512Нет

Параметр для передачи динамического адреса, для получения "платежных" callback-уведомления по заказу, активированные для продавца (успешная авторизация, успешное списание, возврат, отмена, отклонение платежа по таймауту, отклонение card present платежа).

Не "платежные" callback-уведомления (включение/выключение связки, создание связки), будут отправляться на статический callback адрес.

billingPayerDataСм. описание нижеНетБлок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV.

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

НазваниеТипОбязательноОписание
billingCityAN...50Нет Город, зарегистрированный по конкретной карте у Банка Эмитента
billingCountryAN...50Нет Страна, зарегистрированная по конкретной карте у Банка Эмитента (ISO 3166-1, numeric)
billingAddressLine1AN...50

Нет

Обязательно, если у Мерчанта активирована пермиссия "Разрешено использование AVS/AVV".

 
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 1.
billingAddressLine2AN...50Нет Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 2.
billingAddressLine3AN...50Нет Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 3.
billingPostalCodeAN...9

Нет

Обязательно, если у Мерчанта активирована пермиссия "Разрешено использование AVS/AVV".

 
Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента
billingStateAN...50Нет Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2)

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

1{
2    "username":"test",
3    "password":"testPass",
4    "orderNumber": "UAF-203974-DE",
5    "language": "RU",
6    "preAuth": false,
7    "description" : "Test description",
8    "additionalParameters":
9    {
10        "firstParamName": "firstParamValue",
11        "secondParamName": "secondParamValue"
12    },
13    "ip" : "127.0.0.1",
14    "amount" : "230000",
15    "currencyCode" : 643,
16    "failUrl" : "https://test.ru"
17    "returnUrl" : "https://test_return.ru"
18  }
19}

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

ПараметрВложенный параметрТипОбязательный параметрОписание
successНе актуальноboolean Да

Указывает на успешность проведения платежа. Доступны следующие значения:

  • true (истина) - запрос обработан успешно;

  • false (ложь) - запрос не прошёл.

data (возвращается, только если запрос прошёл успешно)orderIdANS36 ДаНомер заказа в платёжной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа на удалась по причине ошибки.
data (возвращается, только если запрос прошёл успешно)redirectAN..512 Только если требуется авторизация клиента в системе AlfaPay

URL платёжной формы, на который надо перенаправить браузер клиента.

Не возвращается, если запрос отклонён по причине ошибки, детализированной в error.сode.

error (возвращается, только если запрос завершился с ошибкой)codeN..3 Да

URL платёжной формы, на который надо перенаправить браузер клиента.

Не возвращается, если запрос отклонён по причине ошибки, детализированной в error.сode.

Код ошибкиСообщение клиенту
1Заказ с таким номером уже обработан
1Неверный номер заказа
1Ошибка создания заказа
3Неизвестная валюта
4Номер заказа не может быть пуст
4Имя мерчанта не может быть пустым
4Отсутствует сумма
4URL возврата не может быть пуст
4Пароль не может быть пуст
4Отсутствует обязательный параметр запроса
5Логин продавца неверен
5Неверная сумма
5Неправильный параметр 'Язык'
5Пользователь должен сменить свой пароль
5[additionalParameters] неверен
5Доступ запрещён
5Пользователь отключён
7Системная ошибка
10Некорректное значение параметра [amount]
10Некорректное значение параметра [orderNumber]
10Некорректное значение параметра [returnUrl]
10Некорректное значение параметра [failUrl]
10Некорректное значение параметра [currencyCode]
10Некорректное значение параметра [ip]
error (возвращается, только если запрос завершился с ошибкой)messageAN..512 ДаПонятное описание ошибки - предназначено для отображения пользователю.

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

{
"success":true,
"data": {
    "orderId": "e757d0cf-a028-7bdc-acb9-44480008afa2"
    "redirect": "https://alfapay.com"
 }
}

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

{
"success": false,
"error": {
    "code": 7,
    "message": "Системная ошибка"
  }
}