Инструменты страницы
Запрос на оплату с помощью Mir Pay (paymentDirect.do)
Для регистрации и оплаты заказа посредством MirPay с расшифровкой данных на стороне продавца используется запрос /mir/paymentDirect.do (см. ниже). |
|
https://3dsec.sberbank.ru/payment/mir/paymentDirect.do |
Вызов метода доступен мерчанту при наличии пермиссий «Разрешена оплата MirPay» и «Разрешена оплата расшифрованными токенами».
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- 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.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/json'.
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
|
|
AN..255 | Да (при авторизации через userName и password) |
Логин служебной учётной записи продавца. |
|
|
AN..200 | Да (при авторизации через userName и password) |
Логин продавца в платёжном шлюзе. |
|
|
AN..255 | Да (при авторизации через merchant) |
Логин продавца в платёжном шлюзе. |
|
|
ANS..255 | Нет |
Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей. |
|
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина. |
|
|
ANS..512 | Нет |
Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. |
|
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
|
Не актуально | Нет |
Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Каждую новую пару имени и значения параметра следует отделять запятой. Ниже представлен пример использования.
{
"firstParamName": "firstParamValue",
"secondParamName": "secondParamValue"
}
Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека. В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
При создании связки в этом тэге могут быть переданы параметры, определяющие тип создаваемой связки. См. описание ниже; |
|
|
A..5 | Нет |
Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения:
Если параметр не указан в запросе, происходит одностадийная оплата. Возможность проводить двухстадийные платежи предоставляется по отдельному запросу. Этот параметр можно передавать как булевым значением (без кавычек), так и строкой (с кавычками). |
|
|
AN..8192 | Да |
|
|
|
ANS..39 | Да |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). |
|
|
A2 | Нет |
Параметр, указывающий на то, какой тип операции будет проводиться со стороны инициатора (мерчанта или клиента).
Для создания связок Mir Pay используются значения |
Параметры, определяющие тип создаваемой связки
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
|
|
N..2 | См. описание |
Максимальное количество разрешенных авторизаций для платежей в рассрочку. Указывается в случае создания связки для выполнения платежей в рассрочку. |
|
|
N..2 | См. описание |
Минимальное количество дней между авторизациями. Целое положительное число от 1 до 28 включительно. Указывается в случае создания связки для выполнения рекуррентных платежей. |
|
|
N8 | См. описание |
Дата, после которой дальнейшие авторизации не должны выполняться. Формат: YYYYMMDD, где YYYY - год, MM (01-12) - месяц, DD (01-31) - день обозначенной выше даты. Указывается в случае создания связки для выполнения рекуррентных платежей. |
tii
Параметры блока tii
| Значение | Описание | Тип транзакции | Инициатор транзакции | Данные карты | Данные сохраняются |
|---|---|---|---|---|---|
| CI | Первоначальный общий CIT (customer initiated transaction) | Инициирование | Клиент | Вводятся клиентом | Да |
| II | Первоначальный взнос CIT (customer initiated transaction) | Инициирование | Клиент | Вводятся клиентом | Да |
| RI | Первичный Рекуррентный CIT (customer initiated transaction) | Инициирование | Клиент | Вводятся клиентом | Да |
| F | Внеплановый CIT (customer initiated transaction) | Последующий | Клиент | Клиент выбирает карту вместо ручного ввода | Нет |
| U | Внеплановый MIT (merchant initiated transaction) | Последующий | Мерчант | Нет ручного ввода, мерчант передает данные | Нет |
| R | Рекуррентный MIT (merchant initiated transaction) | Последующий | Мерчант | Нет ручного ввода, мерчант передает данные | Нет |
| I | Рассрочка MIT (merchant initiated transaction) | Последующий | Мерчант | Нет ручного ввода, мерчант передает данные | Нет |
Параметры ответа
Параметры ответа представлены в таблице ниже.
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
|
|
A..5 | Да |
Указывает на успешность запроса. Доступны следующие значения:
|
Блок data (возвращается при успешной регистрации заказа) |
|||
|
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
|
AN..255 | Да |
Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если продавцу разрешено создание связок. |
Блок error (возвращается, только если запрос завершился с ошибкой) |
|||
|
|
N..2 | Да |
Код ошибки. |
| description | ANS..512 | Да | Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю. |
|
|
| Да |
|
Коды ошибок
| Код ошибки | Текст ошибки |
|---|---|
| 0 |
Обработка запроса прошла без системных ошибок. |
| 1 | Недостаточно средств на карте |
| 5 |
Доступ запрещён. |
| 5 |
Пользователь должен сменить свой пароль. |
| 7 |
Системная ошибка. |
| 10 |
Некорректное значение параметра |
| 10 |
Некорректное значение параметра |
| 10 |
Некорректное значение параметра |
| 10 |
Расшифровка переданных данных неуспешна. |
Пример запроса POST
{
"username": "<username>",
"password": "<password>",
"orderNumber": 3229,
"description": "description",
"language": "RU",
"tii" : "II",
"clientId":"202403122",
"additionalParameters": {
"installments": "5",
"recurringFrequency": "5",
"recurringExpiry": "20241004"
},
"preAuth": false,
"paymentToken": "ewogICAgInRhbiI6ICIyMjAxNTUwMjAwMDAwMDAzNDQ0IiwKICAgICJjYXYiOiAiMDBERUUxRkE0NEMwREE5Mjc2MDAzMDdGMTQ4RDJDMjMxODAxQjYiLAogICAgInRleSI6IDI0LAogICAgInRlbSI6IDEyLAogICAgInRyYW5zSWQiOiAiMWVkZDkxMjAtZDkyZC02NzNiLTgwMDAtYTAwMDAwMDAwMDAxIiwKICAgICJtSWQiOiAiMDAwMDAwMDExMDIwMDAwIiwKICAgICJteDVjIjogIk1JSURiRENDQWxRQ0FoQUVNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1IWXhIREFhQmdOVkJBTU1FM0JoZVcxbGJuUXVZV3htWVdKaGJtc3VjblV4Q3pBSkJnTlZCQVlUQWxKVk1ROHdEUVlEVlFRSERBWk5iM05qYjNjeER6QU5CZ05WQkFnTUJrMXZjMk52ZHpFV01CUUdBMVVFQ2d3TlNsTkRJRUZNUmtFdFFrRk9TekVQTUEwR0ExVUVDd3dHUWpFd01ERTFNQjRYRFRJek1EUXdNekE0TlRrek5sb1hEVEkzTURVeE1qQTROVGt6Tmxvd2dZQXhIREFhQmdOVkJBTU1FM0JoZVcxbGJuUXVZV3htWVdKaGJtc3VjblV4Q3pBSkJnTlZCQVlUQWxKVk1ROHdEUVlEVlFRSERBWk5iM05qYjNjeER6QU5CZ05WQkFnTUJrMXZjMk52ZHpFV01CUUdBMVVFQ2d3TlNsTkRJRUZNUmtFdFFrRk9TekVaTUJjR0ExVUVDd3dRVFRBd01EQXdNREF4TVRBeU1EQXdNRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFPb2NHMngvWmNlT2JoQXZWUFJmZFVOS0Rjb0pXUXJHOW0yczJIZVVVUDlwQTF1Misyc1l1RzdudjNxZWhlNU9lYVRJN2tzUjllVVVLaUJYRXM5TnJvWm1DV1MybkpVbjNLMENqTUo2STViTkNtVURsSHY2SUZxNlZWL2t4WlVId2JrVGJwcW11TEE3ZGZ2NGRpY1BobCt1NkR2NmV1Y0JMYk9TVjdVR24rWlNzSXZvemVFdG5nalo0OGdKSitySWRlQUhBL1k4T3FnQnVEWThveGFyZjBRemZEUlpmZDVrVXR1NFpETzhLVXZyV0dOSkduTW0xRXJCZ3VxT3pGYWg5VU84UTN2bFpQTmlPQkJUdzRuYTNYV29ub01neXUvK1B6YUwxcksrT1F0Z1lnYSszN0pPbHN3cUxOVXZTRnpUK0RuZzNPR0Q5MjdzZVNtbGtJWE5JZmNDQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFYUUR6WUNpUXpCNzFVREJaT2JYdE9YVzBqZTh0SUhOUldSS1lpQzlka0llQXBNdTJGTTd4MW16QzFYcHhZaTZjN0lnSVgwYzBJYU5OQmFmY0ZxTDlGM1NpZ0F4TThyQStWOHZhUCs2cGttZzRGWUFYQ0g0bEIvaCtGUmZmdDl3aENCeEZaMFM5cU5YZEoyYU5wRXdwem1aUlBqNEFtV1V5NkpNYnBPa09NamZTT1YvbFVFblVSWEdHS0xzL0krU05GTXpZZGNBSUhHN3ZybWRzUVZ4NWhGOGo3TnZHZ3BMeXFvWDRjanA5SlF1cDJRNG1rUVQ1N1JSTVhudzhYdGlYVTR4OVZXMFJRMXJEcjdoUWp5K2pKKzJqWmRKS0F1RGlBeXc2YUtjaXgyTTA4UkhrdmJiMEJMSk90OUU3ZTNUQWl1WjRZQmpWRzZVOVpWSzV4VHkvakE9PSIsCiAgICAib3JkZXJJZCI6ICIwMmZiOThmMi1hZjk5LTdjYjgtYWRmOS1iMGE3MDBhODI2ZTAiLAogICAgInN1bSI6IDUwMCwKICAgICJjdXIiOiA2NDMsCiAgICAibWVkaWEiOiAiVUwiCn0=",
"ip": "127.0.0.1"
}
Пример ответа
Успешная оплата
{
"success": true,
"data": {
"orderId": "243ec139-4b5a-7859-b409-bbcb4806bc81",
"bindingId": "7c1d7969-bf01-7f34-be04-c6904806bc81"
}
}
Неуспешная оплата
{
"error": {
"code": 1,
"description": "Processing Error",
"message": "Недостаточно средств на карте"
},
"success": false
}