Инструменты страницы
Запрос на оплату с помощью Google Pay (payment.do)
Для регистрации заказа используется запрос payment.do (см. ниже). |
https://3dsec.sberbank.ru/payment/google/payment.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.
Параметры запроса
Параметры запроса представлены в таблице ниже.
Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json
.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..255 | Да |
Логин продавца в платёжном шлюзе. |
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина. |
|
AN | Нет |
Версия протокола сообщения, получаемого от Google. Если данный параметр указан, то валидные значение следующие:
По умолчанию (в случае, если данный параметр не указан) работа будет идти по версии ECv1. |
|
ANS..512 | Нет |
Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. |
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
N..8 | Нет |
Сумма комиссии в минимальных единицах валюты. Параметр передается только при включении соответствующей пермиссии. |
|
Не актуально | Нет |
Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Каждую новую пару имени и значения параметра следует отделять запятой. Ниже представлен пример использования.
{ "firstParamName": "firstParamValue", "secondParamName": "secondParamValue" } Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека. В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
|
A..5 | Нет |
Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения:
Если параметр не указан в запросе, происходит одностадийная оплата. Возможность проводить двухстадийные платежи предоставляется по отдельному запросу. Этот параметр можно передавать как булевым значением (без кавычек), так и строкой (с кавычками). |
|
ANS..255 | Нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
|
AN..8192 | Да |
Токен, полученный от Google Pay и закодированный в Base64. |
|
ANS..39 | Нет |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). |
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты. |
|
N3 | Нет |
Цифровой код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию. |
|
ANS..40 | Обязателен, если у интернет-магазина настроена фискализация и не указан номер телефона. |
Адрес электронной почты покупателя. Можно указать несколько адресов электронной почты через запятую и без пробелов - в этом случае чек будет отправлен на все указанные адреса. |
|
NS..12 | Обязателен, если у интернет-магазина настроена фискализация и не указан адрес электронной почты. |
Номер телефона клиента. Примеры:
В случае передачи номера в отдельном параметре и в дополнительных параметрах, в качестве основного использоваться будет номер, указанный в настоящем параметре |
|
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 операции. |
|
См. описание | Нет |
Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»). |
|
A2 | Нет |
Параметр, указывающий на то, какой тип операции будет проводиться со стороны инициатора (мерчанта или клиента). |
|
A1 | Нет |
Индикатор совпадения адреса держателя карты для выставления счета и адреса доставки. Возможные значения:
Этот параметр используется для дальнейшей 3DS аутентификации клиента. |
|
См. описание | Нет |
Блок с данными доставки клиента. Используется для дальнейшей 3DS аутентификации клиента. |
|
См. описание | Нет |
Блок с данными о плательщике заказа. Используется для дальнейшей 3DS аутентификации клиента. |
|
См. описание | Нет |
Блок с данными предзаказа. Используется для дальнейшей 3DS аутентификации клиента. |
tii
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) |
shippingPayerData
Параметры блока shippingPayerData
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS…50 | Нет |
Город клиента (из адреса доставки). |
|
ANS…50 | Нет |
Страна клиента. |
|
ANS…50 | Нет |
Основной адрес клиента (из адреса доставки). |
|
ANS…50 | Нет |
Основной адрес клиента (из адреса доставки). |
|
ANS…50 | Нет |
Основной адрес клиента (из адреса доставки). |
|
ANS…16 | Нет |
ZIP или иной почтовый индекс клиента для доставки. |
|
ANS…50 | Нет |
Штат/регион клиента (из адреса доставки). |
|
N2 | Нет |
Индикатор способа доставки. Перечень возможных значений:
|
|
N2 | Нет |
Сроки доставки товара. Перечень возможных значений:
|
|
ANS…254 | Нет |
Целевой адрес электронной почты для доставки цифровой дистрибуции. |
orderPayerData
Параметры блока orderPayerData
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS…19 | Нет |
Домашний телефон держателя карты, с обязательным символом «+». |
|
ANS…19 | Нет |
Рабочий телефон держателя карты, c обязательным символом «+». |
|
ANS…19 | Нет |
Мобильный телефон держателя карты, c обязательным символом «+». |
preOrderPayerData
Параметры блока preOrderPayerData
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS8 | Нет |
Ожидаемая дата, когда будет доступна доставка (для предварительно заказанных покупок), в формате YYYYMMDD. |
|
N2 | Нет |
Индикатор размещения клиентом заказа на доступную или будущую доставку. Перечень возможных значений:
|
|
N2 | Нет |
Индикатор того, что клиент выполняет переоформляет ранее оплаченную доставку в рамках нового заказа. Перечень возможных значений:
|
Параметры ответа
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
A..5 | Да |
Указывает на успешность запроса. Доступны следующие значения:
|
Блок data (возвращается, только если запрос прошёл успешно) |
|||
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
AN..512 | Только если используется дополнительная аутентификация на ACS банка-эмитента |
Ссылка перенаправления плательщика после аутентификации. Этот параметр возвращается, только если в запросе передавались данные нетокенизированной карты. |
|
AN..512 | Только если используется дополнительная аутентификация на ACS банка-эмитента |
Адрес перенаправления на адрес сервера ACS. Этот параметр возвращается, только если в запросе передавались данные нетокенизированной карты. |
|
AN..512 | Только если используется дополнительная аутентификация на ACS банка-эмитента |
Запрос аутентификации плательщика. Этот параметр возвращается, только если в запросе передавались данные нетокенизированной карты. |
|
AN..255 | Параметр возвращается, если используются связки |
Идентификатор связки, созданной ранее. |
Блок error (возвращается, только если запрос завершился с ошибкой) |
|||
|
N..2 | Да |
Код ошибки. |
description | ANS..512 | Да | Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю. |
|
|
Да |
|
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 | Недостаточно средств на карте |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
7 |
Системная ошибка. |
10 |
Некорректное значение параметра |
10 |
Некорректное значение параметра |
10 |
Некорректное значение параметра |
10 |
Некорректное значение параметра |
10 |
Расшифровка переданных данных неуспешна. |
Пример запроса POST
{ "merchant": "OurBestMerchantLogin", "orderNumber": "UAF-203974-DE", "language": "RU", "preAuth": true, "description" : "Test description", "additionalParameters": { "firstParamName": "firstParamValue", "secondParamName": "secondParamValue" }, "paymentToken": "eyJtZXJjaGFudCI6ICJrdXBpdmlwIiwib3JkZXJOdW1iZXIiOiAyMDUxOTIzMzkxLCJwYXltZW50VG9rZW4iOiAie1wiZXBoZW1lcmFsUHVibGljS2V5XCI6XCJrZXlcIixcImVuY3J5cHRlZE1lc3NhZ2VcIjpcIm1lc3NhZ2VcIixcInRhZ1wiOlwidGFnXCJ9In0=", "ip" : "127.0.0.1", "amount" : "230000", "currencyCode": 643 "returnUrl": "https://test.ru" }
Пример ответа
Успешная оплата
{ "success":true, "data": { "orderId": "12312312123" } }
Неуспешная оплата
{ "error": { "code": 1, "description": "Processing Error", "message": "Недостаточно средств на карте" }, "success": false }