Инструменты страницы
Запрос оплаты заказа (paymentorder.do)
Для оплаты заказа используется запрос paymentorder.do
.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. |
MDORDER |
ANS..36 | Да |
Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза. |
$PAN |
N12…19 | Да |
Номер платёжной карты. При указании в запросе параметра seToken этот параметр не обязателен к передаче. |
$CVC |
N3 | Да |
Код CVC/CVV2 на обратной стороне карты. При указании в запросе параметра seToken этот параметр не обязателен к передаче. |
YYYY | N4 | Да | Год истечения срока действия карты. |
MM | N2 | Да | Месяц истечения срока действия карты. |
TEXT | A..512 | Да |
Имя держателя карты латиницей, если доступно. Длина поля ограничена 26 символами (латинские буквы, точка, пробел). |
|
A2 | Да |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
ANS..39 | Нет |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). |
|
ANS..40 | Нет |
Адрес электронной почты покупателя. |
|
булеан | Нет |
Возможные значения:
|
|
Строка | Нет |
Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}. При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет. В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
|
См. описание | Нет |
Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»). |
billingPayerData
Параметры блока billingPayerData
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..50 | Нет |
Город, зарегистрированный по конкретной карте у Банка Эмитента |
|
AN..50 | Нет |
|
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 1. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 2. |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 3. |
|
AN..50 | Нет |
Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2) |
** По умолчанию в процессинг банка передаются поля номер заказа orderNumber и его описание description (не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n)
При аутентификации по протоколу 3DS 2.0 также передаются следующие параметры:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..36 | См. описание |
Идентификатор транзакции созданный на сервере 3DS. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
AN..512 | Нет |
Адрес переадресации клиента после аутентификации на сервере ACS. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
AN..512 | Нет |
Адрес для отправки уведомления о прохождении проверки 3D Secure. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Да |
Код ошибки. |
|
|
Нет |
|
|
ANS..* | Нет |
При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже.
|
|
ANS..* | Нет |
При успешном ответе. В случае платежа без необходимости аутентификации на ACS – URL, на который производится переадресация после платежа. В случае 3DS-платежа – URL для возврата с ACS. |
|
AN..512 | Нет |
Ссылка перенаправления плательщика после аутентификации. Не используется при платежах, не требующих дополнительной аутентификации на ACS Банка-эмитента. |
|
AN..512 | Нет |
Адрес перенаправления на адрес сервера ACS. Не используется при платежах, не требующих дополнительной аутентификации на ACS Банка-эмитента. |
|
AN..512 | Нет |
Запрос аутентификации плательщика. Не используется при платежах, не требующих дополнительной аутентификации на ACS Банка-эмитента. |
При аутентификации по протоколу 3DS 2.0 при первичном запросе возвращаются следующие параметры:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
A..5 | Да |
Флаг, обозначающий то, что платёж/перевод будет проведён по протоколу 3DS версии 2.0. Доступны следующие значения:
Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
ANS..36 | Да |
Идентификатор транзакции созданный на сервере 3DS. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
ANS..512 | Нет |
URL-адрес ACS для сбора данных о браузере. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
ANS..512 | Да |
URL-адрес сервера 3DS для сбора данных о браузере для включения в запрос аутентификации AReq (Authentication Request) от сервера 3DS к серверу ACS. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
ANS..1024 | Нет |
Данные CReq (Challenge Response) для отправки на сервер ACS, закодированные в Base64. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
ANS..512 | Нет |
URL-адрес на метод Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
При аутентификации по протоколу 3DS 2.0 после повторного запроса на оплату и необходимости перенаправления клиента на ACS в ответе будут присутствовать следующие параметры.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..512 | Да, в случае необходимости перенаправления на ACS |
Адрес перенаправления на адрес сервера ACS. |
|
ANS..* | Да, в случае необходимости перенаправления на ACS |
Запакованные данные challenge request. Это значение следует использовать как значение параметра |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 | Обработка запроса прошла без системных ошибок |
5 | Использованы все попытки оплаты |
5 | Системная или внутренняя ошибка |
Пример первого запроса
MDORDER=0d4b02cb-5147-4232-9012-4d38c743ahr6&$PAN=5555555555555599&$CVC=123&YYYY=2015&MM=12&TEXT=Card Holder&language=ru
Пример ответа на первый запрос
{ "errorCode": 0, "is3DSVer2": true, "threeDSServerTransId": "f44d6d21-1874-45a5-aeb0-1c710dd6e134", "threeDSMethodURLServer": "https://test.com/3dsserver/gatherClientInfo?threeDSServerTransID=f44d6d21-1874-45a5-aeb0-1c710dd6e134" }
Пример второго запроса
MDORDER=0d4b02cb-5147-4232-9012-4d38c743ahr6&$PAN=5555555555555599&$CVC=123&YYYY=2015&MM=12&TEXT=Card Holder&language=ru&threeDSServerTransId=f44d6d21-1874-45a5-aeb0-1c710dd6e134&threeDSVer2FinishUrl=https:test.com
Пример ответа на повторный запрос
{ "info": "Ваш платёж обработан, происходит переадресация...", "errorCode": 0, "acsUrl": "https://test.com/acs2/acs/creq", "is3DSVer2": true, "packedCReq": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjVmMzEyMjdlLTljZmQtNDQwYi1hNDNjLTE4NjljMzNhNGI5YiIsImFjc1RyYW5zSUQiOiI5YTQyYzQ4ZC1hNWRiLTQ3NjEtYmI4Mi05ZmY5MmM0NzZiM2QiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDQiLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=" }
Если попытки оплаты заказа исчерпаны, то на последнюю попытку оплаты шлюз возвращает следующий ответ.
{"redirect":"false.html?login=test&orderId=85eb9a84-2a47-7cca-b0ae-662c000016d1&lang=ru","info":"Операция отклонена. Проверьте введенные данные, достаточность средств на карте и повторите операцию.<br>Происходит переадресация...","errorCode":0}
В качестве URL-адреса перенаправления указывается значение, переданное в параметре failUrl
(или returnUrl
, если failUrl
отсутствует).
На все последующие попытки оплаты платёжный шлюз вернёт следующий ответ.
{"redirect":"false.html?login=test&orderId=85eb9a84-2a47-7cca-b0ae-662c000016d1&lang=ru","info":"Происходит переадресация...","errorCode":0}
В качестве URL-адреса перенаправления указывается значение, переданное в параметре failUrl
(или returnUrl
, если failUrl
отсутствует).
При этом шлюз не будет возвращать ошибку.