Инструменты страницы
Запрос регистрации заказа с предавторизацией (registerOrderPreAuth)
Для запроса регистрации заказа с предавторизацией используется метод registerOrderPreAuth
.
Для подключения к тестовой службе (WSDL) используйте следующий адрес:
https://3dsec.sberbank.ru/payment/webservices/merchant-ws?wsdl.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- 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.
Параметры запроса
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ANS..32 | См. описание |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно. |
|||||||||
|
ANS..512 | Нет |
Описание заказа в свободной форме. В процессинг «Сбербанка» для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. |
|||||||||
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты. |
|||||||||
|
N3 | Нет |
Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. |
|||||||||
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|||||||||
|
N..8 | Нет |
Сумма комиссии в минимальных единицах валюты. Параметр передается только при включении соответствующей пермиссии. |
|||||||||
|
ANS..20 | Нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможны следующие значения.
Где:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается |
|||||||||
|
N..9 | Нет |
Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается. |
|||||||||
|
AN..255 | Нет |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
|||||||||
|
ANS | Нет |
Дата и время окончания жизни заказа. Формат:
Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется |
|||||||||
|
ANS..512 | Да |
Адрес, на который требуется перенаправить пользователя в случае успешной оплаты, а также в случае неуспешной оплаты (при отсутствии переданного параметра Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
|
|||||||||
|
ANS..512 | Нет |
Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>. Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
Параметр необязательный. В таком случае при неуспешной оплате, так же как и при успешной оплате, будет происходить переход на |
|||||||||
|
ANS..512 | Нет |
Параметр позволяет воспользоваться функциональность динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все «платежные» callback-уведомления, активированные для продавца. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, платеж cardpresent отклонен, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Для использования функциональности динамической отправки callback-уведомлений необходимо, чтобы у мерчанта была выставлена соответствующая настройка: Тип callback-а: Динамический (CALLBACK_TYPE = DYNAMIC). Чтобы мерчант мог получать callback-уведомления, для него необходима активация пермиссии: Разрешено выполнять callback операции. |
|||||||||
|
См. столбец с описанием. | Нет |
Дополнительный тег с атрибутами для передачи дополнительных параметров. Поля дополнительной информации для последующего хранения. Данные поля могут быть переданы на обработку банком для последующего отображения в реестрах. По умолчанию на обработку банком передаются поля номер заказа orderNumber и его описание orderDescription (не более 99 символов, запрещены к использованию «%» (процент), «+» (плюс), «\r» (конец строки) и «\n» (перенос строки)).
Включение данного функционала возможно по согласованию с банком в период интеграции. Для передачи N параметров, в запросе должно находиться N тегов
При сценарии оплаты app2app, back2app и mWeb2App, а также при проведении первоначального платежа рекуррентных платежей, передаются также следующие параметры. В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
|||||||||
|
ANS..255 | Нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
|||||||||
|
ANS..255 | Нет |
Чтобы зарегистрировать заказ от имени дочернего продавца, укажите его логин в этом параметре. |
|||||||||
|
AN..255 | Нет |
Контейнер для параметра
Ниже представлен пример использования.
<features> <feature>AUTO_PAYMENT</feature> </features> |
|||||||||
|
ANS..19 | Нет |
Дата и время автозавершения двухстадийного платежа в следующем формате
Чтобы подключить эту функциональность, обратитесь в службу технической поддержки. |
|||||||||
|
ANS..19 | Нет |
Дата и время автоотмены авторизации (двухстадийного платежа) в следующем формате
Чтобы подключить эту функциональность, обратитесь в службу технической поддержки. |
|||||||||
|
ANS..40 | Нет |
Адрес электронной почты покупателя. |
|||||||||
|
NS..12 | Нет |
Номер телефона клиента. Примеры:
В случае передачи номера в отдельном параметре и в дополнительных параметрах, в качестве основного использоваться будет номер, указанный в настоящем параметре |
|||||||||
|
См. описание | Нет |
Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»). |
По умолчанию в процессинг банка передаются поля:
orderNumber
– номер заказа в системе магазина;description
– описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).
Параметры блока 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) |
Параметры при сценарии оплаты app2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
Булевое значение | Нет |
Атрибут, указывающий на способ оплаты через приложение СБОЛ (app2app). Возможны следующие значения:
Для использования этого параметра у мерчанта должна быть включена соответствующая пермиссия. |
|
ANS..32 | См. описание |
Тип ОС. Возможные значения:
Обязательно, только если |
|
ANS..255 | См. описание |
Ссылка на приложение мерчанта для возврата с успешной оплатой.
Обязательно, только если |
Параметры при сценарии оплаты back2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
булевое значение | Нет |
Атрибут, указывающий на способ оплаты по сценарию |
Параметры при сценарии оплаты mWeb2App
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..255 | Нет |
Данные для возврата в мобильное приложение Мерчанта, при успешной оплате {"sberpay.backurl":"https://test.ru","mWeb2App":"true"} |
Передача признака изменения средства оплаты SberPay
Для передачи признака изменения средства оплаты SberPay необходимо здесь передать следующий параметр:
Параметр | Тип | Обязательно | Описание |
---|---|---|---|
sberpay.paymentSourceChange | boolean | Нет | Признак, позволяющий мерчанту указать на то, что происходит изменение средства оплаты SberPay, а не создание новой связки. Возможные значения: true/false . |
Параметры рекуррентных платежей
В первоначальном платеже рекуррентных платежей передаются параметры, указанные ниже.
recurringFrequency
– период рекуррентных платежей в днях (натуральное число в пределах от 1 до 28).recurringExpiry
– дата прекращения действия рекуррентных платежей (формат YYYYMMDD).
Если в запросе будет присутствовать только один параметр или хотя бы один параметр не будет соответствовать формату, выполнение запроса завершится ошибкой.
Параметры ответа
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS36 | Нет |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode. |
|
AN..512 | Нет |
URL-адрес платёжной формы, на который нужно перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в Чтобы получить возможность принимать оплату этим способом, у вас должны быть соответствующие полномочия в системе. В случае сомнений оставить обращение и получить быстрое решение можно в личном кабинете в разделе «Поддержка». |
|
N..2 | Нет |
Код ошибки. |
|
|
Нет |
|
|
См. описание | Нет |
Блок пар key (ключ) - value (значение), который возвращается при оплате по схемам app2app и back2app. Допустимо использовать следующие параметры (см. таблицу ниже). Ниже представлен пример ответа с блоком externalParams.
<ns1:registerOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> <return orderId="79cdbadf-4ec9-78e0-8c22-62f700a20c60" errorCode="0" errorMessage="Успешно"> <formUrl>https://host/payment/merchants/rbs/payment_ru.html?mdOrder=79cdbadf-4ec9-78e0-8c22-62f700a20c60</formUrl> <externalParams> <entry> <key>sbolBankInvoiceId</key> <value>79cdbadf-4ec9-78e0-8c22-62f700a2</value> </entry> <entry> <key>sbolDeepLink</key> <value>https://test.ru</value> </entry> </externalParams> </return> </ns1:registerOrderResponse> |
Параметры externalParams при сценарии оплаты app2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..1024 | Нет |
Ссылка на приложение Банка для завершения оплаты. |
|
ANS..1024 | Нет |
Уникальный идентификатор заказа, сгенерированный Банком. |
|
Булевое значение | Нет |
Атрибут, информирующий о проходящих регламентных работах.
Значение
Значение
Параметр может возникать, если у мерчанта включена соответствующая пермиссия, и |
Параметры externalParams при сценарии оплаты back2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
Булевое значение | Нет |
Атрибут, информирующий о проходящих регламентных работах
Значение
Значение |
|
ANS..1024 | Нет |
Уникальный идентификатор заказа, сгенерированный Банком. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
Неверный номер заказа. |
1 |
Заказ с таким номером уже обработан. |
3 |
Неизвестная валюта. |
4 |
Отсутствует сумма. |
4 |
Номер заказа не может быть пуст. |
4 |
URL возврата не может быть пуст. |
5 |
Платежи с предавторизацией не разрешены. |
5 |
Неверно указано значение одного из параметров. |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
7 |
Системная ошибка. |
13 |
Мерчант не имеет привилегии выполнять проверочные платежи. |
14 |
|
Примеры
Пример запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> <soapenv:Header/> <soapenv:Body> <mer:registerOrderPreAuth> <order merchantOrderNumber="asuaakdfadsfasdfasdd5" description=" " amount="10000" currency=" " language="ru" pageView="DESKTOP" sessionTimeoutSecs=" " bindingId=" " expirationDate="2014-09-08T14:14:14"> <returnUrl>https://server/applicaton_context/finish.html</returnUrl> <params name="param1" value="paramValue1"/> <params name="param2" value="paramValue2"/> <clientId>7777</clientId> <merchantLogin> </merchantLogin> <features> <feature>AUTO_PAYMENT</feature> </features> </order> </mer:registerOrderPreAuth> </soapenv:Body> </soapenv:Envelope>
Пример ответа
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:registerOrderPreAuthResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> <return orderId="5e5dc6bd-dee3-4c96-849a-09f3f575f4b6" errorCode="0" errorMessage="Успешно"> <formUrl> https://server/merchants/rbs/payment_ru.html?mdOrder=5e5dc6bd-dee3-4c96-849a-09f3f575f4b6 </formUrl> </return> </ns1:registerOrderPreAuthResponse> </soap:Body> </soap:Envelope>