Использование функций или функциональности системы не описанных в настоящем документе не допустимо.
Для регистрации заказа используется запрос register.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
token | AN..30 | нет | Открытый ключ, который можно использовать для регистрации заказа. Если для аутентификации при регистрации заказа используются логин и пароль, параметр token передавать не нужно |
orderNumber | AN..32 | да | Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы |
amount | N..12 | да | Сумма платежа в копейках (или центах) |
currency | N3 | нет | Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли). |
returnUrl | AN..512 | да | Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца> .
|
failUrl | AN..512 | нет | Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца> .
|
description | ANS..512 | нет | Описание заказа в свободной форме |
ip | ANS..39 | нет | IP-адрес покупателя |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
pageView | ANS..20 | нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP. |
clientId | AN..255 | нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.
|
merchantLogin | AN..255 | нет | Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре. |
jsonParams | AN..1024 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции. |
sessionTimeoutSecs | N...9 | нет | Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается. |
expirationDate | ANS | нет | Дата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs . |
bindingId | AN..255 | нет | Идентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC. |
features | ANS..255 | нет | AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей. VERIFY - Если указать это значение после запроса на регистрацию заказа произойдёт верификация держателя карты без списания средств с его счёта, поэтому в запросе можно передавать нулевую сумму. |
dynamicCallbackUrl | AN..512 | нет | Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки. |
ANS..40 | нет | Электронная почта покупателя. | |
phone | ANS.12 | нет | Номер телефона покупателя. Если в телефон включён код страны, номер должен начинаться со знака плюс («+»). Если телефон передаётся без знака плюс («+»), то код страны указывать не следует. Таким образом, допустимы следующие варианты: +79998887766; 9998887766. |
По умолчанию в процессинг банка передаются поля:
Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
orderId | ANS36 | Нет | Номер заказа в платёжной системе. Уникален в пределах системы. Отсутствует если регистрация заказа на удалась по причине ошибки, детализированной в errorCode. |
formUrl | AN..512 | Нет | URL платёжной формы, на который надо перенаправить броузер клиента. Не возвращается если регистрация заказа не удалась по причине ошибки, детализированной в errorCode. |
errorCode | N3 | Нет | Код ошибки. |
errorMessage | AN..512 | нет | Описание ошибки на языке, переданном в параметре language в запросе. |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Заказ с таким номером уже обработан |
1 | Заказ с таким номером был зарегистрирован, но не был оплачен |
1 | Неверный номер заказа |
3 | Неизвестная валюта |
4 | Номер заказа не может быть пуст |
4 | Имя мерчанта не может быть пустым |
4 | Отсутствует сумма |
4 | URL возврата не может быть пуст |
4 | Пароль не может быть пуст |
5 | Логин продавца неверен |
5 | Неверная сумма |
5 | Неправильный параметр 'Язык' |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
5 | Доступ запрещён |
5 | jsonParams неверен |
7 | Системная ошибка |
13 | Использование обоих значений Features FORCETDS/FORCESSL и AUTO_PAYMENT недопустимо |
13 | Мерчант не имеет привилегии выполнять AUTO платежи |
13 | Мерчант не имеет привилегии выполнять проверочные платежи |
14 | Features указаны некорректно |
Пример запроса POST:
amount=100¤cy=810&language=ru&orderNumber=87654321&returnUrl=[https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&pageView=DESKTOP&](https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&pageView=DESKTOP&){jsonParams="param1":"value1","param2":"value2"}&expirationDate=2014-09-08T14:14:14&merchantLogin=merch_child&features=AUTO_PAYMENT
Пример ответа:
{"orderId":"70906e55-7114-41d6-8332-4609dc6590f4","formUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?mdOrder=70906e55-7114-41d6-8332-4609dc6590f4"}
Для запроса регистрации заказа с предавторизацией используется запрос registerPreAuth.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
token | AN..30 | нет | Открытый ключ, который можно использовать для регистрации заказа. Если для аутентификации при регистрации заказа используются логин и пароль, параметр token передавать не нужно |
orderNumber | AN..32 | да | Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы |
amount | N..12 | да | Сумма платежа в копейках (или центах) |
currency | N3 | нет | Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию. |
returnUrl | AN..512 | да | Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца> .
|
failUrl | AN..512 | нет | Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца> .
|
description | ANS..512 | нет | Описание заказа в свободной форме |
ip | ANS..39 | нет | IP-адрес покупателя |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language) |
pageView | ANS..20 | нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP. |
clientId | AN..255 | нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.
|
merchantLogin | AN..255 | нет | Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре. |
jsonParams | AN..1024 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции. |
sessionTimeoutSecs | N...9 | нет | Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается. |
expirationDate | ANS | нет | Дата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs . |
autocompletionDate | ANS..19 | нет | Дата и время автозавершения двухстадийного платежа в следующем формате: 2017-12-29T13:02:51 . Чтобы подключить эту функциональность, обратитесь в службу технической поддержки. |
bindingId | AN..255 | нет | Идентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC. |
features | ANS..255 | нет | AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей. VERIFY - Если указать это значение после запроса на регистрацию заказа произойдёт верификация держателя карты без списания средств с его счёта, поэтому в запросе можно передавать нулевую сумму. |
dynamicCallbackUrl | AN..512 | нет | Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки. |
ANS..40 | нет | Электронная почта покупателя. | |
phone | ANS.12 | нет | Номер телефона покупателя. Если в телефон включён код страны, номер должен начинаться со знака плюс («+»). Если телефон передаётся без знака плюс («+»), то код страны указывать не следует. Таким образом, допустимы следующие варианты: +79998887766; 9998887766. |
По умолчанию в процессинг банка передаются поля:
Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
orderId | ANS36 | Нет | Номер заказа в платёжной системе. Уникален в пределах системы. Отсутствует если регистрация заказа на удалась по причине ошибки, детализированной в errorCode. |
formUrl | AN..512 | Нет | URL платёжной формы, на который надо перенаправить броузер клиента. Не возвращается если регистрация заказа не удалась по причине ошибки, детализированной в errorCode. |
errorCode | N3 | Нет | Код ошибки. |
errorMessage | AN..512 | нет | Описание ошибки на языке, переданном в параметре language в запросе. |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Заказ с таким номером уже обработан |
1 | Заказ с таким номером был зарегистрирован, но не был оплачен |
1 | Неверный номер заказа |
3 | Неизвестная валюта |
4 | Номер заказа не может быть пуст |
4 | Имя мерчанта не может быть пустым |
4 | Отсутствует сумма |
4 | URL возврата не может быть пуст |
4 | Пароль не может быть пуст |
5 | Неверная сумма |
5 | Неправильный параметр 'Язык' |
5 | Логин продавца неверен |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
5 | Доступ запрещён |
5 | jsonParams неверен |
7 | Системная ошибка |
13 | Использование обоих значений Features FORCETDS/FORCESSL и AUTO_PAYMENT недопустимо |
13 | Мерчант не имеет привилегии выполнять AUTO платежи |
13 | Мерчант не имеет привилегии выполнять проверочные платежи |
14 | Features указаны некорректно |
Пример запроса POST:
amount=100¤cy=810&language=ru&orderNumber=87654321&returnUrl=https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&pageView=MOBILE&{jsonParams="param1":"value1","param2":"value2"}&merchantLogin=merch_child&features=AUTO_PAYMENT
Пример ответа:
{"orderId":"61351fbd-ac25-484f-b930-4d0ce4101ab7","formUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/mobile_payment_ru.html?mdOrder=61351fbd-ac25-484f-b930-4d0ce4101ab7"}
Для запроса завершения ранее предавторизованного заказа используется запрос deposit.do (см. раздел Координаты подключения).
Данную операцию можно осуществлять, если есть соответствующие права в системе.
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательность | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
orderId | ANS36 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
amount | N..12 | да | Сумма платежа в копейках (или центах) |
Если указать в параметре amount ноль, завершение произойдёт на всю предавторизованную сумму.
Параметры ответа:
Название | Тип | Обязательность | Описание |
---|---|---|---|
errorCode | N3 | Нет | Код ошибки. |
errorMessage | AN..512 | Нет | Описание ошибки на языке. |
Коды ошибок (поле errorCode):
Классификация:
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Ошибка значение параметра запроса |
6 | Незарегистрированный OrderId |
7 | Системная ошибка |
Расшифровка:
Значение | Описание |
---|---|
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
5 | Неверная сумма |
5 | Сумма депозита должна быть равной нулю или не менее одного рубля |
6 | Неверный номер заказа |
7 | Платёж должен быть в корректном состоянии |
7 | Ошибка системы |
Пример запроса POST:
amount=100¤cy=810&language=ru&orderId=e5b59d3d-746b-4828-9da4-06f126e01b68
Пример ответа:
{"errorCode":0}
Для получения текущего состояния заказа используется запрос getOrderStatus.do (см. раздел Координаты подключения).
Cтатус заказа необходимо определять по значению параметра OrderStatus. Поле authCode является устаревшим.
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательность | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
orderId | ANS36 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке. |
Параметры ответа:
Название | Тип | Обязательность | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OrderStatus | N2 | Нет | По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений приведён в таблице ниже. Отсутствует, если заказ не был найден. | ||||||||||||
ErrorCode | N3 | Нет | Код ошибки. | ||||||||||||
ErrorMessage | AN..512 | Нет | Описание ошибки на языке, переданном в параметре Language в запросе. | ||||||||||||
OrderNumber | AN..32 | Да | Номер (идентификатор) заказа в системе магазина | ||||||||||||
Pan | N..19 | нет | Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. | ||||||||||||
expiration | N6 | нет | Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа. | ||||||||||||
cardholderName | A..64 | нет | Имя держателя карты. Указан только после оплаты заказа. | ||||||||||||
Amount | N..12 | да | Сумма платежа в копейках (или центах) | ||||||||||||
currency | N3 | нет | Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли). | ||||||||||||
approvalCode | AN6 | нет | Код авторизации МПС. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. | ||||||||||||
authCode | N3 | нет | Это поле является устаревшим. Его значение всегда равно "2", независимо от состояния заказа и кода авторизации процессинговой системы. | ||||||||||||
Ip | AN..20 | нет | IP адрес пользователя, который оплачивал заказ | ||||||||||||
BindingInfo | - | нет |
Элемент состоит из параметров:
|
Поле OrderStatus может принимать следующие значения:
Номер состояния | Описание |
---|---|
0 | Заказ зарегистрирован, но не оплачен |
1 | Предавторизованная сумма захолдирована (для двухстадийных платежей) |
2 | Проведена полная авторизация суммы заказа |
3 | Авторизация отменена |
4 | По транзакции была проведена операция возврата |
5 | Инициирована авторизация через ACS банка-эмитента |
6 | Авторизация отклонена |
Коды ошибок (поле ErrorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
2 | Заказ отклонен по причине ошибки в реквизитах платежа |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
5 | orderId не указан |
6 | Неверный номер заказа |
7 | Системная ошибка |
Пример запроса POST:
orderId=b8d70aa7-bfb3-4f94-b7bb-aec7273e1fce&language=ru
Пример ответа:
{"expiration":"201512","cardholderName":"tr tr","depositAmount":789789,"currency":"810","approvalCode":"123456","authCode":2,"clientId":"666","bindingId":"07a90a5d-cc60-4d1b-a9e6-ffd15974a74f","ErrorCode":"0","ErrorMessage":"Успешно","OrderStatus":2,"OrderNumber":"23asdafaf","Pan":"411111**1111","Amount":789789}
Вы можете протестировать работу данного метода с помощью SWAGGER
Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.do (см. раздел Координаты подключения).
Параметры запроса:
Название | Тип | Обязательность | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
orderId | ANS36 | да* | Номер заказа в платёжной системе. Уникален в пределах системы. |
orderNumber | AN..32 | да* | Номер (идентификатор) заказа в системе магазина. |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке. |
В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId.
Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended, указанной в настройках продавца.
Название | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
orderNumber | AN..32 | да | Номер (идентификатор) заказа в системе магазина. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
orderStatus | N2 | нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений:
Отсутствует, если заказ не был найден. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
actionCode | N3 | да | Код ответа. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
actionCodeDescription | AN..512 | да | Расшифровка кода ответа на языке, переданном в параметре Language в запросе. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
errorCode | N3 | нет |
Код ошибки. Возможны следующие варианты:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
errorMessage | AN..512 | нет | Описание ошибки на языке, переданном в параметре Language в запросе. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
amount | N..12 | да | Сумма платежа в копейках (или центах) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currency | N3 | нет | Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
date | ANS | да | Дата регистрации заказа. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
orderDescription | AN..512 | нет | Описание заказа, переданное при его регистрации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ip | AN..20 | да | IP-адрес покупателя. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
merchantOrderParams | – | нет |
Присутствует в ответе, если в заказе содержатся дополнительные параметры продавца.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cardAuthInfo | – | нет |
В элементе лежит структура, состоящая из списка элемента secureAuthInfo и следующих параметров:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bindingInfo | - | нет |
Элемент состоит из параметров:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
paymentAmountInfo | - | нет |
Элемент состоит из параметров:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bankInfo | - | нет |
Элемент состоит из параметров:
|
Пример запроса 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"}
Для отмены оплаты заказа используется запрос reverse.do (см. раздел Координаты подключения).
Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в Банке.
Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдёт.
Данная функция доступна магазинам по согласованию с Банком. Для выполнения операции отмены пользователь должен обладать соответствующими правами.
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательность | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
orderId | ANS36 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
language | A2 | нет | Язык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта. |
jsonParams | AN..1024 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Тип данных: name ANS..255; value ANS..1024 |
Параметры ответа:
Название | Тип | Обязательность | Описание |
---|---|---|---|
errorCode | N3 | Нет | Код ошибки. |
errorMessage | AN..512 | Нет | Описание ошибки на языке. |
Коды ошибок (поле ErrorCode):
Классификация:
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Ошибка значение параметра запроса |
6 | Незарегистрированный OrderId |
7 | Системная ошибка |
Расшифровка:
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
5 | orderId не задан |
6 | Неверный номер заказа |
7 | Операция невозможна для текущего состояния платежа |
7 | Реверсал невозможен. Причина: неверные внутренние значения, проверьте суммы холда, депозита |
7 | Ошибка системы |
Пример запроса POST:
language=ru&orderId=9231a838-ac68-4a3e-bddb-d9781433d852
Пример ответа:
{"errorCode":"0","errorMessage":"Успешно"}
Для возврата средств используется запрос refund.do (см. раздел Координаты подключения).
По этому запросу средства по указанному заказу будут возвращены плательщику. Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны. Система позволяет возвращать средстваболее одного раза, но в общей сложности не более первоначальной суммы списания.
При выполнении возврата за оплаты жилищно-коммунальных услуг возможен только полный
возврат.
Для выполнения операции возврата необходимоналичие соответствующих права в системе.
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательность | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
orderId | ANS36 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
amount | N..12 | да | Сумма платежа в копейках (или центах) |
jsonParams | AN..1024 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Тип данных: name ANS..255; value ANS..1024 |
Параметры ответа:
Название | Тип | Обязательность | Описание |
---|---|---|---|
errorCode | N3 | Нет | Код ошибки. |
errorMessage | AN..512 | Нет | Описание ошибки на языке. |
Коды ошибок (поле errorCode):
Классификация:
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Ошибка значение параметра запроса |
6 | Незарегистрированный OrderId |
7 | Системная ошибка |
Расшифровка:
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
5 | orderId не задан |
6 | Неверный номер заказа |
7 | Платёж должен быть в корректном состоянии |
7 | Неверная сумма депозита (менее одного рубля) |
7 | Ошибка системы |
Пример запроса POST:
amount=500¤cy=810&language=ru&orderId=5e97e3fd-1d20-4b4b-a542-f5995f5e8208
Пример ответа:
{"errorCode":0}
Для проверки вовлечённости карты в 3DSиспользуется запрос verifyEnrollment.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательность | Описание |
---|---|---|---|
userName | AN..30 | да | Логин пользователя (API) |
password | AN..30 | да | Пароль пользователя (API) |
pan | N12...19 | да | Номер карты |
Параметры ответа:
Название | Тип | Обязательность | Описание |
---|---|---|---|
errorCode | N3 | нет | Код ошибки. |
errorMessage | AN..512 | нет | Описание ошибки. |
enrolled | A1 | нет | Признак вовлечённости карты в 3DS. Возможные значения: Y, N, U. |
emitterName | AN..160 | нет | Наименование банка-эмитента. |
emitterCountryCode | AN..4 | нет | Код страны банка-эмитента. |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Не указан номер карты |
1 | Номер карты должен быть числом, содержащим от 13 до 19 цифр |
5 | Пользователь должен изменить свой пароль. |
5 | Доступ запрещён |
6 | По заданному номеру карты информация не найдена. |
7 | Произошла системная ошибка. |
Пример запроса POST:
pan=4111111111111111
Пример ответа:
{"errorCode":"0","errorMessage":"Успешно","emitterName":"TEST CARD","emitterCountryCode":"RU","enrolled":"Y"}
Для добавления к заказу новых дополнительных параметров используется запрос addParams.do (см. раздел Координаты подключения).
Если в заказе уже существует дополнительный параметр, то при добавлении параметра с тем же именемв заказе сохранится последнее переданное значение.
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
orderId | ANS36 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
language | A2 | да | Язык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта. |
params | AN..1024 | да | Поля для передачи дополнительных параметров, вида {"param":"value","param2":"value2"}. |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N3 | да | Код ошибки. |
errorMessage | AN..512 | нет | Описание ошибки. Отсутствует при успешном выполнении запроса. |
Коды ошибок (поле ErrorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
6 | Не указан orderId |
6 | Неверный номер заказа |
7 | Произошла системная ошибка |
Пример запроса POST:
language=ru&orderId=769b8dad-2318-4c01-bfc4-94532522fa68¶ms={"addParams1":"value1","addParams2":"value2"}
Пример ответа:
{"errorCode":0}
Для получения статистики по платежам за определённый период используется запрос getLastOrdersForMerchants.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении. |
password | AN..30 | да | Пароль магазина, полученный при подключении. |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке. |
page | N | нет | При обработке запроса будет сформирован список, разбитый на страницы (с количеством записей size на одной странице). В ответе возвращается страница под номером, указанным в параметре page. Нумерация страниц начинается с 0. Если параметр не указан, будет возвращена страница под номером 0. |
size | N..3 | да | Количество элементов на странице (максимальное значение = 200). |
from | ANS | да | Дата и время начала периода для выборки заказов в формате YYYYMMDDHHmmss. |
to | ANS | да | Дата и время окончания периода для выборки заказов в формате YYYYMMDDHHmmss. |
transactionStates | A..9 | да | В этом блоке необходимо перечислить требуемые состояния заказов. Только заказы, находящиеся в одном из указанных состояний, попадут в отчёт. Несколько значений указываются через запятую. Возможные значения: CREATED, APPROVED, DEPOSITED, DECLINED, REVERSED, REFUNDED. |
merchants | ANS | да | Список Логинов мерчантов, чьи транзакции должны попасть в отчёт. Несколько значений указываются через запятую. Оставьте это поле пустым, чтобы получить список отчётов по всем доступным мерчантам (дочерним мерчантам и мерчантам, указанным в настройках пользователя). |
searchByCreatedDate | A..5 | нет | Возможные значения: · true – поиск заказов, дата создания которых попадает в заданный период. · false – поиск заказов, дата оплаты которых попадает в заданный период (таким образом, в отчёте не могут присутствовать заказы в статусе CREATED и DECLINED). Значение по умолчанию – false . |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N..2 | да | Код ошибки. Описание возможных кодов представлено ниже в таблице "Коды ошибок (поле errorCode)" |
errorMessage | AN..512 | нет | Описание ошибки. Присутствует только при наличии ошибки (errorCode не равно 0). |
orderStatuses | - | - | Блок, содержащий информацию о заказах, попавших в отчёт. См. ниже таблицу "Параметры блока orderStatuses". |
totalCount | N | да | Общее количество элементов во отчёте (на всех страницах). |
page | N | да | Номер текущей страницы (равный номеру страницы, переданному в запросе). |
pageSize | N..3 | да | Максимальное количество записей на странице (равно размеру страницы, переданному в запросе). |
Параметры блока orderStatuses:
Название | Тип | Обязательно | Описание |
---|---|---|---|
orderNumber | AN..32 | да | Номер (идентификатор) заказа в системе магазина. |
orderStatus | N..2 | да | Состояние заказа в платёжной системе. Возможные значения представлены ниже в таблице "Поле orderStatus:". |
actionCode | N..3 | да | Код ответа. |
actionCodeDescription | AN..512 | да | Расшифровка кода ответа. |
amount | N..12 | да | Сумма платежа в минимальных единицах валюты. |
currency | N3 | да | Код валюты платежа ISO 4217. Если не указан, считается равным валюте по умолчанию. |
date | ANS | да | Дата регистрации заказа. |
orderDescription | AN..512 | нет | Описание заказа, переданное при его регистрации |
ip | AN..20 | нет | IP адрес покупателя. Указан только после оплаты. |
errorCode | N..2 | да | Код ошибки. |
merchantOrderParams | - | нет | Тэг с атрибутами, в которых передаются дополнительные параметры мерчанта. См. ниже таблицу "Параметры блока merchantOrderParams". |
attributes | - | да | Атрибуты заказа в платёжной системе (номер заказа). См. ниже таблицу "Параметры блока attributes". |
cardAuthInfo | - | нет | Тэг с атрибутами платежа. См. ниже таблицу "Параметры блока cardAuthInfo". |
bindingInfo | - | нет | Тэг с информацией о связке, с помощью которой осуществлена оплата. См. ниже таблицу "Параметры блока bindingInfo". |
authDateTime | ANS | нет | Дата/время авторизации |
terminalId | AN..10 | нет | Id терминала |
authRefNum | AN..24 | нет | Reference number |
paymentAmountInfo | - | нет | Тэг с информацией о суммах подтверждения, списания, возврата. См. ниже таблицу "Параметры блока paymentAmountInfo". |
bankInfo | - | нет | Тэг с информацией о Банке-эмитенте. См. ниже таблицу "Параметры блока bankInfo". |
Параметры блока merchantOrderParams:
Название | Тип | Обязательно | Описание |
---|---|---|---|
name | AN..20 | да | Название дополнительного параметра мерчанта |
value | AN..1024 | да | Значение дополнительного параметра мерчанта |
Параметры блока attributes:
Название | Тип | Обязательно | Описание |
---|---|---|---|
name | A7 | да | Название атрибута - "mdOrder". |
value | ANS36 | да | Значение атрибута - номер заказа в платёжной системе (уникален в пределах системы). |
Параметры блока cardAuthInfo:
Название | Тип | Обязательно | Описание |
---|---|---|---|
pan | N..19 | нет | Маскированный номер карты, которая использовалась для оплаты. |
expiration | N6 | нет | Срок истечения действия карты в формате YYYYMM. |
cardholderName | A..64 | нет | Имя держателя карты. |
approvalCode | AN6 | нет | Код авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. |
Параметры блока bindingInfo:
Название | Тип | Обязательно | Описание |
---|---|---|---|
clientId | AN..255 | нет | Номер (идентификатор) клиента в системе магазина. |
bindingId | AN..255 | нет | Идентификатор связки, использованной для оплаты. |
Параметры блока paymentAmountInfo:
Название | Тип | Обязательно | Описание |
---|---|---|---|
paymentState | N..9 | нет | Состояние платежа |
approvedAmount | N..12 | нет | Сумма, подтверждённая к списанию. |
depositedAmount | N..12 | нет | Сумма списания с карты. |
refundedAmount | N..12 | нет | Сумма возврата. |
Параметры блока bankInfo:
Название | Тип | Обязательно | Описание |
---|---|---|---|
bankName | AN..200 | нет | Наименование Банка-эмитента. |
bankCountryCode | AN..4 | нет | Код страны Банка-эмитента |
bankCountryName | AN..160 | нет | Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан. |
Поле orderStatus может принимать следующие значения:
Значение | Описание |
---|---|
0 | Заказ зарегистрирован, но не оплачен |
1 | Предавторизованная сумма захолдирована (для двухстадийных платежей) |
2 | Проведена полная авторизация суммы заказа |
3 | Авторизация отменена |
4 | По транзакции была проведена операция возврата |
5 | Инициирована авторизация через ACS банка-эмитента |
6 | Авторизация отклонена |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Не заполнено одно из обязательных полей |
5 | Неверный формат параметра transactionStates |
5 | Доступ запрещён |
7 | Системная ошибка |
10 | Значение параметра size превышает максимально допустимое |
10 | Недостаточно прав для просмотра транзакций указанного мерчанта |
Пример запроса POST:
language=ru&page=0&size=100&from=20141009160000&to=20141111000000&transactionStates=DEPOSITED,REVERSED&merchants=SevenEightNine&searchByCreatedDate=false
Пример ответа:
{"errorCode":0,
"orderStatuses":[
{"errorCode":"0","orderNumber":"58drs0Pes459Hdsddd0567a0","orderStatus":2,"actionCode":0,"actionCodeDescription":"Запрос успешно обработан","amount":250000,"currency":"810","date":1414485649233,"orderDescription":"Opisanie","ip":"212.5.125.194","merchantOrderParams":[{"name":"registr1","value":"registr1"}],"attributes":[{"name":"mdOrder","value":"f1a3365b-542c-4c8d-b34c-e9a7ee8dbc9c"}],"cardAuthInfo":{"expiration":"201512","cardholderName":"Ivan","approvalCode":"123456","pan":"411111**1111"},"bindingInfo":{"clientId":"666","bindingId":"1eabfb8e-b90e-4dc8-bef6-14bd392b1cec"},"authDateTime":1414485661207,"terminalId":"111113","authRefNum":"111111111111","paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":250000,"depositedAmount":250000,"refundedAmount":0},"bankInfo":{"bankName":"TEST CARD","bankCountryCode":"RU","bankCountryName":"Россия"}},
{"errorCode":"0","orderNumber":"57drs0Pes459Hdsddd0567a0","orderStatus":2,"actionCode":0,"actionCodeDescription":"Запрос успешно обработан","amount":250000,"currency":"810","date":1414485277286,"orderDescription":"Opisanie","ip":"212.5.125.194","merchantOrderParams":[{"name":"registr1","value":"registr1"}],"attributes":[{"name":"mdOrder","value":"09489184-bc5e-44a7-b6c4-3ca1feb8ef69"}],"cardAuthInfo":{"expiration":"201512","cardholderName":"Ivan","approvalCode":"123456","pan":"411111**1111"},"bindingInfo":{"clientId":"666","bindingId":"1eabfb8e-b90e-4dc8-bef6-14bd392b1cec"},"authDateTime":1414485296046,"terminalId":"111113","authRefNum":"111111111111","paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":250000,"depositedAmount":250000,"refundedAmount":0},"bankInfo":{"bankName":"TEST CARD","bankCountryCode":"RU","bankCountryName":"Россия"}}],
"totalCount":2,"page":0,"pageSize":100}
Для оплаты заказа через внешнюю платёжную систему используется запрос paymentotherway.do (см. раздел Координаты подключения) со специальными параметрами. Возможен только запрос POST.
Данная операция доступна при наличии соответствующих прав в системе.
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
MDORDER | ANS36 | да | Номер заказа, полученный при регистрации заказа |
paymentWay | ANS..* | да | В этом параметре передаётся способ оплаты. Возможные значения: · ALFA_ALFACLICK – для оплаты с помощью "Альфа-Клик" (через систему PayByClik). · UPOP – для оплаты через систему UPOP, доступно для держателей карт China UnionPay. |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N1 | да | Код ошибки |
error | ANS..* | (при ошибке) | Сообщение об ошибке |
info | ANS..* | нет |
При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже:
|
redirect | ANS..* | нет | Адрес возврата после оплаты |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Способ оплаты не задан или указано неверное значение |
2 | Заказ не найден |
5 | Таймаут сесси |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
5 | Системная ошибка |
Пример запроса POST:
language=ru&MDORDER=c96a734c-e2c9-429c-8fda-aaa0030c8a92&paymentWay=ALFA_ALFACLICK
Пример ответа:
{"redirect":"http://testjmb.alfabank.ru/PayByClick/login.jsp?orderId=b37da970-e2b8-4729-a196-b4c2ab5bb401&backUrl=+","info":"Your
order is proceeded, redirecting...","errorCode":0}
Для проведения платежа по связкам используется запрос paymentOrderBinding.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER По истечении срока действия карты связка становиться недоступна для использования в оплате.
По истечении срока действия карты связка становиться недоступна для использования в оплате.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении. |
password | AN..30 | да | Пароль магазина, полученный при подключении. |
mdOrder | ANS36 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
bindingId | AN..255 | да | Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
ip | NS..15 | да | ip-адрес плательщика. |
cvc | N..3 | нет | CVC код. Этот параметр обязателен, если для мерчанта не выбрано разрешение "Может проводить оплату без подтверждения CVC". |
ANS..* | нет | Адрес электронной почты плательщика. | |
tii | A2 | нет | Параметр, указывающий на то, какой тип операции будет проводиться со стороны инициатора (мерчанта). Возможные значения:
|
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
redirect | ANS..* | нет | При успешном ответе в случае SSL-платежа. URL, на который производится переадресация после платежа. |
info | ANS..* | нет |
При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже:
|
errorCode | N1 | да | Код ошибки. |
errorMessage | AN..* | нет | При ответе с ошибкой. Сообщение об ошибке. |
error | AN..* | нет | При ответе с ошибкой. Сообщение об ошибке. |
processingErrorType | ANS..* | нет | Тип ошибки процессинга. Передаётся, когда ошибка происходит на стороне процессинга, а не в платёжном шлюзе, при том что попытки проведения платежа ещё не исчерпаны и переадресации на финальную страницу не происходит. Расшифровка ошибки передаётся в параметре error. |
acsUrl | ANS..* | нет | При успешном ответе в случае 3DS-платежа. URL для перехода на ACS. |
paReq | ANS..* | нет | При успешном ответе в случае 3DS-платежа. Payment Authentication Request. |
termUrl | ANS..* | нет | При успешном ответе в случае 3DS-платежа. URL для возврата с ACS. |
Коды ошибок (поле success):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Необходимо указать CVC2/CVV2, поскольку у мерчатна нет разрешения на проведение оплаты без CVC |
1 | Неверный формат CVC |
1 | Неверный язык |
2 | Связка не найдена |
2 | Заказ с таким номером не найден |
5 | Доступ запрещён |
5 | Пользователь, осуществляющий вызов сервиса, должен изменить свой пароль |
7 | Системная ошибка |
Пример запроса POST:
mdOrder=eb49300c-95b7-4dcd-9739-eee6c61f2ac4&bindingId=308042e8-2b28-484a-811e-f786c9776c3b&cvc=123
Пример успешного ответа при SSL-платеже:
{"redirect":"http://ya.ru?orderId=eb49300c-95b7-4dcd-9739-eee6c61f2ac4","info":"Ваш платёж обработан, происходит переадресация...","errorCode":0}
Пример успешного ответа при 3DS-платеже:
{"info":"Ваш платёж обработан, происходит переадресация...","acsUrl":"https://alfa.rbsuat.com/payment/acs/auth/start.do","paReq":"eJxVUdtugkAQ/RXCOy7LRdQMa2ixKU28pGrfyTICqSzKpcW/765AbR8mOWcyOWfmDCy74qx9YVXn\npfB1OjF1DQUvk1ykvn48vBgzfcngkFWI4R55WyGDNdZ1nKKWJ74+TVz05tPE8NyZbThOfDJmFjcN\ni55Mz+MJzu25zmAXvOOVwWDEpM/EAjJSqVjxLBYNg5hfn6INcyxvappABgoFVlHIPCA9ABEXyPb4\nhWKVp1mzyQUCuTeBl61oqhubOjaQkUBbnVnWNJcFId5sPuFlAUT1gDy8d61CtdTo8oStw+C7r5W5\nCVNZx9v6ENmyfCBqApK4QWaZ1KXUcjVqLVx7Ycu77n2IC2XOqDqjh3BRDsGj/5eDDLeS2Y+bjwyw\nu5QC5YRU/sVAHts+v6rceCODyfbb7m3bfmzD22dnlycaFHF+DGl0y6hK8z6kFHMZity7l1QEiJIh\nw6PI8GOJ/v3+BweMtyE=","termUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/finish3ds.do","errorCode":0}
Пример ответа с ошибкой:
{"error":"Access denied","errorCode":5,"errorMessage":"Access denied"}
Для того чтобы сделать существующую связку неактивной используется запрос unBindCard.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении. |
password | AN..30 | да | Пароль магазина, полученный при подключении. |
bindingId | AN..255 | да | Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N3 | нет | Код ошибки. |
errorMessage | AN..512 | нет | Описание ошибки. |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
2 | Неверное состояние связки (при попытке деактивировать неактивную связку) |
2 | Связка не найдена |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
7 | Системная ошибка |
Пример запроса POST:
bindingId=fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc
Пример ответа:
{"errorCode":"2","errorMessage":"Binging isn't active"}
Для активации деактивированной ранее связки используется запрос bindCard.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении. |
password | AN..30 | да | Пароль магазина, полученный при подключении. |
bindingId | AN..255 | да | Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N3 | нет | Код ошибки. |
errorMessage | AN..512 | нет | Описание ошибки. |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
2 | Неверное состояние связки (при попытке активировать активную связку) |
2 | Связка не найдена |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
7 | Системная ошибка |
Пример запроса POST:
bindingId=fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc
Пример ответа:
{"errorCode":"2","errorMessage":"Binding is active"}
Для продления срока действия связки используется запрос extendBinding.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении. |
password | AN..30 | да | Пароль магазина, полученный при подключении. |
bindingId | ANS36 | да | Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. |
newExpiry | N6 | да | Новая дата (год и месяц) окончания срока действия связки в формате YYYYMM. |
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language). |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N1 | да | Код завершения |
errorMessage | ANS..* | (при ошибке) | Сообщение об ошибке |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Не указан или неверно указан один или несколько обязательных параметров |
2 | Связка не найдена |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
7 | Системная ошибка |
Пример запроса POST:
bindingId=1eabfb8e-b90e-4dc8-bef6-14bd392b1cec&newExpiry=201612&language=ru
Пример ответа:
{"errorCode":"0","errorMessage":"Успешно"}
Для получения списка связок по идентификатору клиента используется запрос getBindings.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении. |
password | AN..30 | да | Пароль магазина, полученный при подключении. |
clientId | AN..255 | да | Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N1 | да | Код завершения |
errorMessage | ANS..* | (при ошибке) | Сообщение об ошибке |
Элемент binding (состоит из bindingId, maskedPan и expiryDate):
Название | Тип | Обязательно | Описание |
---|---|---|---|
bindingId | AN..255 | нет | Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. |
maskedPan | N..19 | нет | Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. |
expiryDate | N6 | нет | Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа. |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | clientId не задан |
2 | Информация не найдена |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
7 | Системная ошибка |
Пример запроса POST:
clientId=client
Пример ответа:
{"bindings":[{"bindingId":"fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc","maskedPan":"4000 00** **** **02","expiryDate":"201512"}],"errorCode":"0","errorMessage":"Успешно"}
Для получения списка связок банковской карты используется метод getBindingsByCardOrId.do (см. раздел Координаты подключения).
При наличии соответствующих разрешений магазин может запросить список всех связок, относящихся к определённой банковской карте. Сделать это можно по номеру карты или по известному идентификатору связки.При наличии соответствующих разрешений магазин может запросить список всех связок, относящихся к определённой банковской карте. Сделать это можно по номеру карты или по известному идентификатору связки.
В ответе возвращаются все связки, доступные мерчанту в соответствии с его настройками.
Вы можете протестировать работу данного метода с помощью SWAGGER
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
userName | AN..30 | да | Логин магазина, полученный при подключении |
password | AN..30 | да | Пароль магазина, полученный при подключении |
pan | N..19 | нет | Номер карты. Обязательно, если не указан bindingId. Поиск по полному номеру карты доступен магазинам только при наличии соответствующего разрешения. |
bindingId | AN..255 | нет | Идентификатор связки. Обязательно, если не указан pan. Если в запросе передаётся pan, то значение bindingId игнорируется. |
showExpired | boolean | нет | Параметр определяет необходимость отображать связки с истёкшим сроком действия карты. Возможные значения: true, false. По умолчанию параметр принимает значение false. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
errorCode | N1 | да | Код завершения. |
errorMessage | ANS..* | да | Описание кода завершения. |
Элемент bindings (содержит блоки, состоящие из параметров bindingId, maskedPan, expiryDate и clientId):
Название | Тип | Обязательно | Описание |
---|---|---|---|
bindingId | AN..255 | нет | Идентификатор связки. |
maskedPan | N..19 | нет | Маскированный номер карты, которая использовалась для оплаты. |
expiryDate | N6 | нет | Срок истечения действия карты в формате YYYYMM. |
clientId | AN..255 | нет | Номер (идентификатор) клиента в системе мерчанта. |
Коды ошибок (поле errorCode):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок. |
1 | Не указан ни номер карты, ни идентификатор связки. |
2 | Информация не найдена. |
5 | Доступ запрещён. |
5 | Пользователь должен сменить свой пароль. |
7 | Системная ошибка. |
Пример запроса:
https://alfa.rbsuat.com/payment/rest/getBindingsByCardOrId.do?userName=login&password=password&pan=4111111111111111
Параметры ответа:
{"errorCode":"0","errorMessage":"Успешно","bindings":[{"bindingId":"0b8edeb2-8380-4092-bf7e-1e1a78f2b15e","maskedP
an":"411111**1111","expiryDate":"201912","clientId":"12"},{"bindingId":"6a8c0738-cc88-4200-acf6-afc264d66cb0","mas
kedPan":"411111**1111","expiryDate":"201912","clientId":"666"},{"bindingId":"97a70989-c1fb-49f7-8a42-27c19dc160dw"
,"maskedPan":"411111**1111","expiryDate":"201512","clientId":"666"}]}
Для регистрации заказа используется запрос payment.do (см. раздел Координаты подключения).
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.
Вы можете протестировать работу данного метода с помощью SWAGGER
Пример запроса POST
{"merchant":"merchant_name","orderNumber":"applepay123456794","description":"descritpion_text", "paymentToken":"eyJ2ZXJzaW9uIjoiRUNfdjEiLCJkYXRhIjoiNTFhUTNGOXl0Q1YwYTdpQS9mMUh0RGc1TnBvSVZtc2RFa1FvTlpoOW95ZVA3eGgvVDk4dXJkenJDN0dOQ3o4c1FodXpXOVZNWUhGU25DTytTWXo0eDYrTnZwZjdCUzhOcnlUWk1Keldtcml0VUZJVytwVjNvNWY4M0F3OU55c1BCMlAxZGZicS9hZDVzV1RwZTMwTnV2UDltRGhaUStET1M3RzB6MDZSNHRXY0R0VFErT0U5YlI1OHFQRUdnTTRiSmRmUklZb25oQlJrdWY2cGw4aU9PQ0VvS01QN2lRck84Z2IrVGNnSjVZSDdDL3J3enBDUVZjMGQxNWJuME9wbE1SOGwxMDcrMDR4ZVVWT3BUMGI3cHRmYnA3VmVaeHVXaHhSTTlHYlF5QmVkVlJHQ2toN3kyREtZY3BRdjJqM1h2L0NjNzRKaVBZM09DTFVEMEIvS0UwUFo1TnJvUEJFUmZ2a1B4WUFzV1ZmM1E3UUtTcTk4Z3p5UXlrWEpwTmFwcEt6cENDMkNKU09XdzVkenNPWjAiLCAic2lnbmF0dXJlIjoiTUlBR0NTcUdTSWIzRFFFSEFxQ0FNSUFDQVFFeER6QU5CZ2xnaGtnQlpRTUVBZ0VGQURDQUJna3Foa2lHOXcwQkJ3RUFBS0NBTUlJRDVqQ0NBNHVnQXdJQkFnSUlhR0QybWRuTXB3OHdDZ1lJS29aSXpqMEVBd0l3ZWpFdU1Dd0dBMVVFQXd3bFFYQndiR1VnUVhCd2JHbGpZWFJwYjI0Z1NXNTBaV2R5WVhScGIyNGdRMEVnTFNCSE16RW1NQ1FHQTFVRUN3d2RRWEJ3YkdVZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRFMk1EWXdNekU0TVRZME1Gb1hEVEl4TURZd01qRTRNVFkwTUZvd1lqRW9NQ1lHQTFVRUF3d2ZaV05qTFhOdGNDMWljbTlyWlhJdGMybG5ibDlWUXpRdFUwRk9SRUpQV0RFVU1CSUdBMVVFQ3d3TGFVOVRJRk41YzNSbGJYTXhFekFSQmdOVkJBb01Da0Z3Y0d4bElFbHVZeTR4Q3pBSkJnTlZCQVlUQWxWVE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRWdqRDlxOE9jOTE0Z0xGRFptMFVTNWpmaXFRSGRiTFBnc2MxTFVtZVkrTTlPdmVnYUphakNIa3d6M2M2T0twYkM5cStoa3dORnhPaDZSQ2JPbFJzU2xhT0NBaEV3Z2dJTk1FVUdDQ3NHQVFVRkJ3RUJCRGt3TnpBMUJnZ3JCZ0VGQlFjd0FZWXBhSFIwY0RvdkwyOWpjM0F1WVhCd2JHVXVZMjl0TDI5amMzQXdOQzFoY0hCc1pXRnBZMkV6TURJd0hRWURWUjBPQkJZRUZBSWtNQXVhN3UxR01aZWtwbG9wbmtKeGdoeEZNQXdHQTFVZEV3RUIvd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVJL0pKeEUrVDVPOG41c1QyS0d3L29ydjlMa3N3Z2dFZEJnTlZIU0FFZ2dFVU1JSUJFRENDQVF3R0NTcUdTSWIzWTJRRkFUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TURRR0ExVWRId1F0TUNzd0thQW5vQ1dHSTJoMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsWVdsallUTXVZM0pzTUE0R0ExVWREd0VCL3dRRUF3SUhnREFQQmdrcWhraUc5Mk5rQmgwRUFnVUFNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUNJUURhSEdPdWkrWDJUNDRSNkdWcE43bTJuRWNyNlQ2c01qT2haNU51U28xZWd3SWhBTDFhKy9ocDg4REtKMHN2M2VUM0Z4V2NzNzF4bWJMS0QvUUozbVdhZ3JKTk1JSUM3akNDQW5XZ0F3SUJBZ0lJU1cwdnZ6cVkycGN3Q2dZSUtvWkl6ajBFQXdJd1p6RWJNQmtHQTFVRUF3d1NRWEJ3YkdVZ1VtOXZkQ0JEUVNBdElFY3pNU1l3SkFZRFZRUUxEQjFCY0hCc1pTQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRFVE1CRUdBMVVFQ2d3S1FYQndiR1VnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk13SGhjTk1UUXdOVEEyTWpNME5qTXdXaGNOTWprd05UQTJNak0wTmpNd1dqQjZNUzR3TEFZRFZRUUREQ1ZCY0hCc1pTQkJjSEJzYVdOaGRHbHZiaUJKYm5SbFozSmhkR2x2YmlCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUd0Z4R0VHZGRraGRVYVhpV0JCM2JvZ0tMdjNudXVUZUNOL0V1VDRUTlcxV1piTmE0aTBKZDJEU0pPZTdvSS9YWVh6b2pMZHJ0bWNMN0k2Q21FLzFSRm80SDNNSUgwTUVZR0NDc0dBUVVGQndFQkJEb3dPREEyQmdnckJnRUZCUWN3QVlZcWFIUjBjRG92TDI5amMzQXVZWEJ3YkdVdVkyOXRMMjlqYzNBd05DMWhjSEJzWlhKdmIzUmpZV2N6TUIwR0ExVWREZ1FXQkJRajhrbkVUNVBrN3lmbXhQWW9iRCtpdS8wdVN6QVBCZ05WSFJNQkFmOEVCVEFEQVFIL01COEdBMVVkSXdRWU1CYUFGTHV3M3FGWU00aWFwSXFaM3I2OTY2L2F5eVNyTURjR0ExVWRId1F3TUM0d0xLQXFvQ2lHSm1oMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsY205dmRHTmhaek11WTNKc01BNEdBMVVkRHdFQi93UUVBd0lCQmpBUUJnb3Foa2lHOTJOa0JnSU9CQUlGQURBS0JnZ3Foa2pPUFFRREFnTm5BREJrQWpBNnozS0RVUmFac1liN05jTld5bUsvOUJmdDJROTFUYUtPdnZHY2dWNUN0NG40bVBlYldaK1kxVUVOajUzcHd2NENNREl0MVVRaHNLTUZkMnhkOHpnN2tHZjlGM3dzSVcyV1Q4WnlhWUlTYjFUNGVuMGJtY3ViQ1lraFlRYVpEd21TSFFBQU1ZSUJYekNDQVZzQ0FRRXdnWVl3ZWpFdU1Dd0dBMVVFQXd3bFFYQndiR1VnUVhCd2JHbGpZWFJwYjI0Z1NXNTBaV2R5WVhScGIyNGdRMEVnTFNCSE16RW1NQ1FHQTFVRUN3d2RRWEJ3YkdVZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRBZ2hvWVBhWjJjeW5EekFOQmdsZ2hrZ0JaUU1FQWdFRkFLQnBNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERURTJNVEV3TVRBNU5UY3dObG93THdZSktvWklodmNOQVFrRU1TSUVJQWpSdk9nWkxDa0w5ZmNCZjdOSm5RY3hsd2ltL09ieHkrcEltZ1M0TGRUYU1Bb0dDQ3FHU000OUJBTUNCRWN3UlFJZ1BKaHlkTXE5UDdTaHJFT2RxVk5KUk84QnN1MC93SXNCS0Y1cnlFR0JPSDRDSVFEeWo4Wml3VVV5alRJUFRUZDBKTTlaMExIdGZTQVhOWVN2T0t4eGN3MTlod0FBQUFBQUFBPT0iLCJoZWFkZXIiOnsiZXBoZW1lcmFsUHVibGljS2V5IjoiTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNUdmb2t2U2Z3WnV3aXYwSGxKVE1MS0dlMS96dWtjejczSFlvVjh5cjNGNWdmZmthVmNQTmptNjFhdFNOZm9UZUxiSnQ1aHBLWkJuSWlwZlVXSXZxMmc9PSIsInB1YmxpY0tleUhhc2giOiJLMG9KcmJiYURVUDh6YitSUEZhTmxVUTdTU2I3T1FEWERVeU9vM0JXdDJzPSIsInRyYW5zYWN0aW9uSWQiOiIyYTNkZjhjNDg0Y2JmMDg1OTgyN2Y0ZDBkZjhkYjY4YjYyNjBlNTIxYWUwZmI4YjI1NDRmNzNiM2RlMDVlYjE5In19","language":"ru","additionalParameters":{},"preAuth":"true"}
Описание параметров запроса приведено в таблице ниже.
Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json.
Параметр | Тип данных | Обязательный параметр | Описание |
---|---|---|---|
merchant | AN..30 | Да | Имя входа продавца в системе платёжного шлюза. |
orderNumber | AN..32 | Да | Уникальный номер заказа на стороне продавца. |
description | ANS..512 | Нет | Описание заказа. |
language | A2 | Нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
additionalParameters | AN..1024 | Нет | Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Дополнительные параметры следует указывать в следующем формате. "имяпараметра": "значениепараметра" Каждую новую пару имени и значения параметра следует отделять запятой. |
clientId | ANS..255 | Нет | Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей. |
preAuth | A..5 | Нет | Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения: · true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания); · false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу. |
paymentToken | AN..8192 | Да |
Параметр paymentToken должен содержать закодированное в Base64 значение свойства paymentData, полученного из объекта PKPaymentToken Object от системы Apple Pay (подробнее см. документацию Apple Pay).
|
dynamicCallbackUrl | AN..512 | нет | Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки. |
Пример получаемого продавцом от Apple PKPaymentToken Object выглядит следующим образом:
{
"paymentData": {
"data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN/aQQEThe2pQ0c7hgzzZlA6TpkIR/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwXp6mOwJZ6ZFO/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1/dFvQJjDYbMorKQ8GJbWtlsVbKsy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7/404kMGpnHgkNVqFc/4SN0U2XQ5rrb14DM8M69w=",
"signature": "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4jCCA4igAwIBAgIIJEPyqAad9XcwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDkyNTIyMDYxMVoXDTE5MDkyNDIyMDYxMVowXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O/0komJPnwPE6OCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDEwHQYDVR0OBBYEFJRX22\/VdIGGiYl2L35XhQfnm1gkMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUI/JJxE+T5O8n5sT2KGw/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0gAMEUCIHKKnwSoyq5mXQr1V62c0BXKpaHodYu9TWXEPUWPpbpAiEAkTecfW6+W5l0r0ADfzTCPq2YtbS39w01XIayqBNy8bEwggLuMIICdaADAgECAghJbS+/OpjalzAKBggqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNDA1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEYQZ12SF1RpeJYEHduiAou\/ee65N4I38S5PhM1bVZls1riLQl3YNIk57ugj9dhfOiMt2u2ZwvsjoKYT/VEWjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7\/S5LMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC/gIwMi3VRCGwowV3bF3zODuQZ/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiSFhBpkPCZIdAAAxggGMMIIBiAIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCCRD8qgGnfV3MA0GCWCGSAFlAwQCAQUAoIGVMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDMxNzEwMzgzOVowKgYJKoZIhvcNAQk0MR0wGzANBglghkgBZQMEAgEFAKEKBggqhkjOPQQDAjAvBgkqhkiG9w0BCQQxIgQgvL+q07/reM0N/5b0hwWT7TJReVTdS9QX5SPhiqeie+cwCgYIKoZIzj0EAwIERzBFAiEAttC68Xyzs6I0+tAKmg6x+0UrqmkQN/V5c8RMMIEJHooCIHIgUHbAt2p5WrFHQKrAVL4c7nohRplZWVbVu6wbBeCgAAAAAAAA",
"header": {
"publicKeyHash": "fpvAnSDwQFX4NX4pghdjpNwUFhoTH/DDGhew94uJaRA=",
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==",
"transactionId": "38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2"
},
"version": "EC_v1"
},
"transactionIdentifier": "38E4C267EF1DE62A343D0ECCADA3F7E19F6B22FFC7EDE899C039865432BA6AA2",
"paymentMethod": {
"network": "Visa",
"type": "debit",
"displayName": "Visa5223"
}
}
Значение свойства paymentData (из примера выше), которое нужно закодировать в Base64 и передать в запросе на оплату в платёжный шлюз, выглядит следующим образом:
{
"data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN\/aQQEThe2pQ0c7hgzzZlA6TpkIR\/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwX+p6mOwJZ6ZFO\/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1\/dFvQJjDYbMorKQ8+GJbWtlsVb+Ksy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7\/404kMGpnHgkNVqFc\/4SN0U2XQ5rrb14DM8M69w=","signature":"MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4jCCA4igAwIBAgIIJEPyqAad9XcwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDkyNTIyMDYxMVoXDTE5MDkyNDIyMDYxMVowXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O\/0komJPnwPE6OCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDEwHQYDVR0OBBYEFJRX22\/VdIGGiYl2L35XhQfnm1gkMAwGA1UdEwEB\/wQCMAAwHwYDVR0jBBgwFoAUI\/JJxE+T5O8n5sT2KGw\/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB\/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB\/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0gAMEUCIHKKnw+Soyq5mXQr1V62c0BXKpaHodYu9TWXEPUWPpbpAiEAkTecfW6+W5l0r0ADfzTCPq2YtbS39w01XIayqBNy8bEwggLuMIICdaADAgECAghJbS+\/OpjalzAKBggqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNDA1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEYQZ12SF1RpeJYEHduiAou\/ee65N4I38S5PhM1bVZls1riLQl3YNIk57ugj9dhfOiMt2u2ZwvsjoKYT\/VEWjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7\/S5LMA8GA1UdEwEB\/wQFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH\/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr\/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC\/gIwMi3VRCGwowV3bF3zODuQZ\/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiSFhBpkPCZIdAAAxggGMMIIBiAIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCCRD8qgGnfV3MA0GCWCGSAFlAwQCAQUAoIGVMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDMxNzEwMzgzOVowKgYJKoZIhvcNAQk0MR0wGzANBglghkgBZQMEAgEFAKEKBggqhkjOPQQDAjAvBgkqhkiG9w0BCQQxIgQgvL+q07\/reM0N\/5b0hwWT7TJReVTdS9QX5SPhiqeie+cwCgYIKoZIzj0EAwIERzBFAiEAttC68Xyzs6I0+tAKmg6x+0UrqmkQN\/V5c8RMMIEJHooCIHIgUHbAt2p5WrFHQKrAVL4c7nohRplZWVbVu6wbBeCgAAAAAAAA",
"header": {
"publicKeyHash":"fpvAnSDwQFX4NX4pghdjpNwUFhoTH\/DDGhew94uJaRA=",
"ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB\/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==",
"transactionId":"38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2"
},
"version":"EC_v1"
}
Примеры и описание ответа
Успешная оплата
{
"success":true,
"data": {
"orderId": "12312312123"
}
}
Неуспешная оплата
{
"error": {
"code": 1,
"description": "Processing Error",
"message": "Недостаточно средств на карте"
},
"success": false
}
Описание параметров ответа приведено в таблице ниже.
Параметр | Вложенный параметр | Тип данных | Обязательный параметр | Описание |
---|---|---|---|---|
success | Не актуально | A..5 | Да | Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - запрос успешно обработан; false (ложь) - запрос не прошёл. |
data (возвращается, только если платёж прошёл успешно) | orderId | ANS36 | Да | Уникальный для продавца номер заказа в платёжной системе. |
error (возвращается, только если платёж не прошёл) | code | N..2 | Да | Код ошибки. |
description | ANS..512 | Да | Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю. | |
message | AN..512 | Да | Понятное описание ошибки - предназначено для отображения пользователю. | |
orderStatus (Содержит параметры состояния заказа и возвращается, только если платёж шлюз признал все параметры запроса верными.) | errorCode | N3 | Нет | Код ошибки. |
orderNumber | AN..32 | Нет | Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. | |
orderStatus | N..2 | Нет | По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Возможны следующие значения: 0 - заказ зарегистрирован, но не оплачен; 1 - предавторизованная сумма захолдирована (для двухстадийных платежей); 2 - проведена полная авторизация суммы заказа; 3 - авторизация отменена; 4 - по транзакции была проведена операция возврата; 5 - инициирована авторизация через ACS банка-эмитента; 6 - авторизация отклонена. |
|
actionCode | N..5 | Нет | Коды ответа - цифровое обозначение результата, к которому привело обращение к системе со стороны пользователя. | |
actionCodeDescription | AN..512 | Нет | Расшифровка кода ответа на языке, переданном в параметре запроса language. | |
amount | N..20 | Нет | Сумма платежа в минимальных единицах валюты (например, в копейках или центах). | |
currency | N3 | Нет | Валюта платежа. | |
date | ANS | Нет | Дата регистрации заказа в формате UNIX-времени (POSIX-времени). | |
ip | AN..20 | Нет | IP-адрес пользователя, который оплачивал заказ. IPv6 поддерживается во всех запросах. | |
merchantOrderParams | AN..1024 | Нет | Параметр, содержащий атрибуты, в которых передаются дополнительные параметры продавца: name - название дополнительного параметра; value - значение дополнительного параметра. | |
attributes | AN..1024 | Нет | Атрибуты заказа в платёжной системе (номер заказа): name - название атрибута, всегда принимает значение mdOrder; value - номер заказа в платёжной системе (уникален в пределах системы). | |
cardAuthInfo | - | Нет | Данные о платёжной карте покупателя: expiration (ANS) - год и месяц истечения срока действия платёжной карты; cardholderName (A..64) - имя держателя карты, если доступно; approvalCode (AN6) - код авторизации платежа, может содержать цифры и латинские буквы; pan (NS..19) - маскированный DPAN: номер, привязанный к мобильному устройству покупателя и выполняющий функции номера платёжной карты в системе Apple Pay. |
|
authDateTime | ANS | Нет | Дата и время авторизации в формате UNIX-времени (POSIX-времени). | |
terminalId | AN..10 | Нет | Идентификатор терминала в процессинге, через который осуществлялась оплата. | |
authRefNum | AN..24 | Нет | Учётный номер авторизации, который присваивается при регистрации платежа. | |
paymentAmountInfo | - | Нет | Параметр, содержащий вложенные параметры с информацией о суммах подтверждения, списания, возврата: paymentState (A..10) - состояние платежа; approvedAmount (N..12) - сумма, подтверждённая к списанию; depositedAmount (N..12) - сумма списания с карты; refundedAmount (N..12) - сумма возврата. totalAmount (N..12) - сумма заказа + fee (комиссия, если она была использована в заказе). |
|
bankInfo | - | Нет | Содержит вложенный параметр bankCountryName (AN..160) - если доступно, в параметре передаётся наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан. |
Данный функционал поддерживает рекуррентные платежи по картам MasterCard и Visa
Для регистрации заказа используется запрос recurrentPayment.do (см. раздел Координаты подключения).
Вы можете протестировать работу данного метода с помощью SWAGGER
Пример запроса POST
{
"userName": "userName",
"password": "password",
"orderNumber": "UAF-203974-DE-12",
"language": "RU",
"bindingId": "binding_id",
"amount": 12300,
"currency": "810",
"description" : "Test description",
"additionalParameters": {
"firstParamName": "firstParamValue",
"secondParamName": "secondParamValue"
}
}
Описание параметров представлено в таблице ниже.
Параметр | Обязательно | Описание |
---|---|---|
userName | Да | Имя пользователя с доступом к API платёжного шлюза. |
password | Да | Пароль пользователя с доступом к API платёжного шлюза. |
orderNumber | Да | Номер заказа. |
language | Нет | Двухбуквенный код языка. |
bindingId | Да | Идентификатор связки. |
amount | Да | Сумма заказа в минимальных единицах валюты (например, в копейках). |
currency | Нет | Цифровой код валюты ISO 4217. |
description | Нет | Описание заказа. |
additionalParameters | Нет | "имя параметра 1": "значение параметра 1", "имя параметра 2": "значение параметра 2" |
Примеры и описания ответа
Ниже представлен пример успешной оплаты.
{"success":true,"data":{"orderId":"f7beebe4-7c9a-43cf-8e26-67ab741f9b9e"},"orderStatus":{"errorCode":"0","orderNumber":"UAF-203974-DE-12","orderStatus":2,"actionCode":0,"actionCodeDescription":"","amount":12300,"currency":"810","date":1491333938243,"orderDescription":"Test description","merchantOrderParams":[{"name":"firstParamName","value":"firstParamValue"},{"name":"secondParamName","value":"secondParamValue"}],"attributes":[],"cardAuthInfo":{"expiration":"201912","cardholderName":"sdf sdf","approvalCode":"123456","paymentSystem":"VISA","pan":"411111**1111"},"authDateTime":1491333939454,"terminalId":"11111","authRefNum":"111111111111","paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":12300,"depositedAmount":12300,"refundedAmount":0},"bankInfo":{"bankCountryName":"<Неизвестно>"},"chargeback":false,"operations":[{"amount":12300,"cardHolder":"sdf sdf","authCode":"123456"}]}}
Ниже представлен пример неуспешной оплаты.
{
"error": {
"code": "10",
"description": "Заказ с таким номером уже зарегистрирован.",
"message": "Заказ с таким номером уже зарегистрирован."
},
"success": false
}
Описание параметров ответа приведено в таблице ниже.
Параметр | Вложенный параметр | Обязательный параметр | Описание |
---|---|---|---|
success | Не актуально | Да | Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - запрос успешно обработан; false (ложь) - запрос не прошёл. |
data (возвращается, только если платёж прошёл успешно) | orderId | Да | Уникальный для продавца номер заказа в платёжной системе. |
error (возвращается, только если платёж не прошёл) | code | Да | Код ошибки. |
description | - | Да | Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю. |
message | - | Да | Понятное описание ошибки - предназначено для отображения пользователю. |
Коды ошибок
Код ошибки | Сообщение |
---|---|
0 | Обработка прошла без системных ошибок. |
1 | Неверные данные платежа. |
1 | Невозможно использовать связку для повторяющихся платежей. |
1 | Неверные параметры платежа. |
1 | Неверный номер заказа. |
4 | Неверный идентификатор связки. |
5 | Возможность использования связок отключена. |
5 | Неверная сумма. |
5 | Неверное имя пользователя. |
5 | Неверный пароль. |
5 | Ошибка аутентификации. |
5 | Ошибка аутентификации. |
10 | Заказ с таким номером уже зарегистрирован. |
Для регистрации заказа используется запрос payment.do (см. раздел Координаты подключения).
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.
Вы можете протестировать работу данного метода с помощью SWAGGER
Описание параметров представлено в таблице ниже.
Параметр | Обязательно | Описание |
---|---|---|
merchant | Да | Имя входа продавца в системе платёжного шлюза. |
orderNumber | Да | Уникальный номер заказа на стороне продавца. |
description | Нет | Описание заказа. |
language | Нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
additionalParameters | Нет |
Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Дополнительные параметры следует указывать в следующем формате.
Каждую новую пару имени и значения параметра следует отделять запятой. |
preAuth | Нет | Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счету клиента до их списания). Доступны следующие значения: - true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания);- false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу. |
clientId | Нет | Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей. |
paymentToken | Да | Токен, полученный от Google Pay и закодированный в Base64. |
ip | Да | IP-адрес плательщика. |
amount | Да | Сумма платежа в минимальный единицах валюты (например, в копейках). |
currencyCode | Нет | Цифровой код валюты платежа ISO 4217. Если не указан, считается равным 643 (российский рубль). |
Нет (см. описание) | Адрес электронной почты. Обязателен, если у интернет-магазина настроена фискализация и не указан номер телефона. | |
phone | Нет (см. описание) | Номер телефона. Обязателен, если у интернет-магазина настроена фискализация и не указан адрес электронной почты. |
failUrl | Нет | на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес платёжного шлюза>/<адрес продавца>.
|
returnUrl | Да | Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес платёжного шлюза>/<адрес продавца>.
|
dynamicCallbackUrl | нет | Параметр позволяет воспользоваться функциональностью динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все "платежные" callback-уведомления, активированные для мерчанта. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Необходимо обратиться в тех поддержку для настройки. |
Ниже представлен пример запроса на оплату.
Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json.
{
"merchant": "OurBestMerchantLogin",
"orderNumber": "UAF-203974-DE",
"language": "RU",
"preAuth": true,
"returnUrl":"https://test.ru",
"description" : "Test description",
"additionalParameters":
{
"firstParamName": "firstParamValue",
"secondParamName": "secondParamValue"
},
"paymentToken": "eyJtZXJjaGFudCI6ICJrdXBpdmlwIiwib3JkZXJOdW1iZXIiOiAyMDUxOTIzMzkxLCJwYXltZW50VG9rZW4iOiAie1wiZXBoZW1lcmFsUHVibGljS2V5XCI6XCJrZXlcIixcImVuY3J5cHRlZE1lc3NhZ2VcIjpcIm1lc3NhZ2VcIixcInRhZ1wiOlwidGFnXCJ9In0=",
"ip" : "127.0.0.1",
"amount" : "230000",
"currencyCode" : 643
}
Описание параметров ответа приведены в таблице ниже.
Параметр | Вложенный параметр | Обязательный параметр | Описание |
---|---|---|---|
success | Не актуально | Да | Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - запрос успешно обработн; false (ложь) - запрос не прошёл. |
data (возвращается, только если платёж прошёл успешно) | orderId | Да | Уникальный для продавца номер заказа в платёжной системе. |
error (возвращается, только если платёж не прошёл) | code | Да | Код ошибки. |
error | description | Да | Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю. |
error | message | Да | Понятное описание ошибки - предназначено для отображения пользователю. |
termUrl | Не актуально | Нет | Не используется при платежах, не требующих дополнительной аутентификации на ACS банка-эмитента. |
acsUrl | Не актуально | Нет | Не используется при платежах, не требующих дополнительной аутентификации на ACS банка-эмитента. |
paReq | Не актуально | Нет | Не используется при платежах, не требующих дополнительной аутентификации на ACS банка-эмитента. |
Примеры и описание ответа
Успешная оплата
{
"success":true,
"data": {
"orderId": "12312312123"
}
Не успешная оплата
{
"error": {
"code": 1,
"description":
"Processing Error",
"message":
"Недостаточно средств на карте"
},
"success": false
}
Описание возможных кодов ошибок представлено в таблице ниже.
Код ошибки | Сообщение об ошибке |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Недостаточно средств на карте |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
7 | Системная ошибка |
10 | Некорректное значение параметра paymentToken |
10 | Некорректное значение параметра orderNumber |
10 | Некорректное значение параметра merchant |
10 | Некорректное значение параметра ip |
10 | Расшифровка переданных данных неуспешна |
10 | Отсутствует приватный ключ |
Для регистрации заказа в Samsung Pay используется запрос payment.do (см. раздел Координаты подключения).
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.
Вы можете протестировать работу данного метода с помощью SWAGGER
Ниже представлен Пример запроса на оплату через Samsung Pay.
Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json.
{
"merchant": "OurBestMerchantLogin",
"orderNumber": "UAF-203974-DE",
"language": "RU",
"preAuth": true,
"description" : "Test description",
"additionalParameters":
{
"firstParamName": "firstParamValue",
"secondParamName": "secondParamValue"
},
"paymentToken": "ew0KICB7DQoJICAidmVyc2lvbiI6ICJSU0FfdjEiLA0KCSAgInNpZ25hdHVyZSI6ICJabUZyWlNCemFXZHVZWFIxY21VPSIsDQoJICAiaGVhZGVyIjogew0KCQkiZXBoZW1lcmFsUHVibGljS2V5IjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRW14Q2hDcGpLemY5YVh6MjZXVDZaVE4yekUzaUdYUWpjWlJZWUFkUUlURFgyUmtBTmJ0N2s5cmFoRjFoempqbWVWVHhjZ0NvZkg4MXprMkdOVFozZHRnPT0iICAgICAgIA0KCQkid3JhcHBlZEtleSI6ICJYejI2V1Q2WlROMnpFM2lHWFFqYz0iDQoJCSJwdWJsaWNLZXlIYXNoIjogIk9yV2dqUkdrcUVXamRrUmRVclhmaUxHRDBoZS96cEV1NTEyRkpXckdZRm89IiwNCgkJInRyYW5zYWN0aW9uSWQiOiAiYXBwbGUtMTIzNDU2Nzg5MEFCQ0RFRiINCgkgIH0sDQoJICAiZGF0YSI6ICIxZFhFMTNrdnpUVlA2bldFTjhEMnBoclBsZlFjR3I4VzN5ajJTSFlZai9QeWNIV1RqbnBWN3ovRXI3OGJyaT09Ig0KICB9DQp9",
"ip" : "127.0.0.1"
}
Описание параметров приведено в таблице ниже.
Название | Обязательно | Описание |
---|---|---|
merchant | Да | Имя входа продавца в системе платёжного шюлза. |
orderNumber | Да | Уникальный номер заказа на стороне продавца. |
description | Нет | Описание заказа. |
language | Нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
additionalParameters | Нет | Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Дополнительные параметры следует указывать в следующем формате. "имяпараметра": "значениепараметра" Каждую новую пару имени и значения параметра следует отделять запятой. |
preAuth | Нет | Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения: · true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания); · false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу. |
clientId | Нет | Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей. |
paymentToken | Да | Содержимое параметра 3ds.data из ответа, полученного от Samsung Pay. |
ip | Да | IP-адрес плательщика. |
currencyCode | Нет | Цифровой код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию. |
Примеры и описание ответа
Успешная оплата
{
"success":true,
"data": {
"orderId": "12312312123"
}
}
Не успешная оплата
{
"error": {
"code": 1,
"description": "Processing Error",
"message": "Недостаточно средств на карте"
},
"success": false
}
Описание параметров ответа представлено в таблице ниже.
Параметр | Вложенный параметр | Обязательно | Описание |
---|---|---|---|
success | Не актуально | Да | Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - запрос успешно обработан; false (ложь) - запрос не прошёл. |
data (возвращается, только если платёж прошёл успешно) | orderId | Да | Уникальный для продавца номер заказа в платёжной системе. |
error (возвращается, только если платёж не прошёл) | code | Да | Код ошибки. |
description | - | Да | Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю. |
message | - | Да | Понятное описание ошибки - предназначено для отображения пользователю. |
Описание возможных кодов ошибок представлено в таблице ниже.
Код | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Недостаточно средств на карте |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
7 | Системная ошибка |
10 | Некорректное значение параметра paymentToken |
10 | Некорректное значение параметра orderNumber |
10 | Некорректное значение параметра merchant |
10 | Некорректное значение параметра ip |
10 | Некорректное значение параметра paymentToken.header.alg |
10 | Некорректное значение параметра paymentToken.header.enc |
10 | Некорректное значение параметра paymentToken.header.typ |
10 | Некорректное значение параметра paymentToken.header.channelSecurityContext |
10 | Некорректное значение параметра paymentToken.header.kid |
10 | Расшифровка переданных данных неуспешна |