Инструменты страницы
Запрос на оплату с помощью Google Pay (googlePay)
Для оплаты через Google Pay используется запрос googlePay
.
Для операций отмены, возврата и завершения платежа следует использовать стандартные запросы к платёжному шлюзу.
Разница в запросах между токенизированными и нетокенизированными картами отсутствует.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- 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..255 | Да |
Логин продавца в платёжном шлюзе. |
|||||||||
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы - до 30 символов. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно. |
|||||||||
|
AN..8192 | Да |
Токен, полученный от Google Pay и закодированный в Base64. |
|||||||||
|
ANS..39 | Да |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). |
|||||||||
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты. |
|||||||||
|
ANS..598 | Нет |
Описание заказа в свободной форме. В процессинг «Сбербанка» для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. |
|||||||||
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|||||||||
|
Не актуально | Нет |
Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Для каждого дополнительного параметра следует использовать блок
Ниже представлен пример использования.
<entry> <key>parameter_1</key> <value>value_1</value> </entry> <entry> <key>parameter_2</key> <value>value_2</value> </entry> Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека. В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
|||||||||
|
A..5 | Нет |
Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения:
Если параметр не указан в запросе, происходит одностадийная оплата. Возможность проводить двухстадийные платежи предоставляется по отдельному запросу. Этот параметр можно передавать как булевым значением (без кавычек), так и строкой (с кавычками). |
|||||||||
|
ANS..255 | Нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
|||||||||
|
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 операции. |
При аутентификации по протоколу 3DS 2.0 также передаются следующие параметры:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..36 | См. описание |
Идентификатор транзакции созданный на сервере 3DS. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
AN..512 | Нет |
Адрес переадресации клиента после аутентификации на сервере ACS. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
|
AN..512 | Нет |
Адрес для отправки уведомления о прохождении проверки 3D Secure. Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0. |
При аутентификации по протоколу 3DS 2.0 после повторного запроса на оплату и необходимости перенаправления клиента на ACS в ответе будут присутствовать следующие параметры.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..512 | Да, в случае необходимости перенаправления на ACS |
Адрес перенаправления на адрес сервера ACS. |
|
ANS..* | Да, в случае необходимости перенаправления на ACS |
Запакованные данные challenge request. Это значение следует использовать как значение параметра |
Пример первого запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://server/webservices/merchant"> <soapenv:Header/> <soapenv:Body> <mer:googlePay> <arg0> <merchant>OurBestMerchantLogin</merchant> <orderNumber>UAF-203974-DE</orderNumber> <language>RU</language> <preAuth>true</preAuth> <paymentToken>eyJhcHBsaWNhdGlvblByaW1hcnlBY2NvdW50TnVtYmVyIjoiNDExMTExMTExMTExMTExMSIsImFwcGxpY2F0aW9uRXhwaXJhdGlvbkRhdGUiOiIxOTEyMjAiLCJjdXJyZW5jeUNvZGUiOiI2NDMiLCJ0cmFuc2FjdGlvbkFtb3VudCI6MzY1MDAsImRldmljZU1hbnVmYWN0dXJlcklkZW50aWZpZXIiOiIwNDAwMTAwMzAyNzMiLCJwYXltZW50RGF0YVR5cGUiOiIzRFNlY3VyZSIsInBheW1lbnREYXRhIjp7Im9ubGluZVBheW1lbnRDcnlwdG9ncmFtIjoiQWtaTzVYUUFBMHJoQnhvYXVmYStNQUFCQUFBPSIsImVjaUluZGljYXRvciI6IjcifX0=/<paymentToken> <ip>127.0.0.1</ip> <amount>230000</amount> <currencyCode>643</currencyCode> <returnUrl>https://test.ru</returnUrl> </arg0> </mer:googlePay> </soapenv:Body> </soapenv:Envelope>
Пример повторного запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://server/webservices/merchant"> <soapenv:Header/> <soapenv:Body> <mer:googlePay> <arg0> <merchant>OurBestMerchantLogin</merchant> <orderNumber>UAF-203974-DE</orderNumber> <language>RU</language> <preAuth>true</preAuth> <paymentToken>eyJhcHBsaWNhdGlvblByaW1hcnlBY2NvdW50TnVtYmVyIjoiNDExMTExMTExMTExMTExMSIsImFwcGxpY2F0aW9uRXhwaXJhdGlvbkRhdGUiOiIxOTEyMjAiLCJjdXJyZW5jeUNvZGUiOiI2NDMiLCJ0cmFuc2FjdGlvbkFtb3VudCI6MzY1MDAsImRldmljZU1hbnVmYWN0dXJlcklkZW50aWZpZXIiOiIwNDAwMTAwMzAyNzMiLCJwYXltZW50RGF0YVR5cGUiOiIzRFNlY3VyZSIsInBheW1lbnREYXRhIjp7Im9ubGluZVBheW1lbnRDcnlwdG9ncmFtIjoiQWtaTzVYUUFBMHJoQnhvYXVmYStNQUFCQUFBPSIsImVjaUluZGljYXRvciI6IjcifX0=/<paymentToken> <ip>127.0.0.1</ip> <amount>230000</amount> <currencyCode>643</currencyCode> <returnUrl>https://test.ru</returnUrl> <threeDSServerTransId>f44d6d21-1874-45a5-aeb0-1c710dd6e134</threeDSServerTransId> <threeDSVer2FinishUrl>https:test.com</threeDSVer2FinishUrl> </arg0> </mer:googlePay> </soapenv:Body> </soapenv:Envelope>
Параметры ответа
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
A..5 | Да |
Указывает на успешность запроса. Доступны следующие значения:
|
Блок data (возвращается, только если запрос прошёл успешно) |
|||
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode. |
|
AN..512 | Только если используется дополнительная аутентификация на ACS банка-эмитента |
Ссылка перенаправления плательщика после аутентификации. |
|
AN..512 | Только если используется дополнительная аутентификация на ACS банка-эмитента |
Адрес перенаправления на адрес сервера ACS. |
|
AN..512 | Только если используется дополнительная аутентификация на ACS банка-эмитента |
Запрос аутентификации плательщика. |
|
AN..255 | Параметр возвращается, если используются связки |
Идентификатор связки, созданной ранее. |
Блок error (возвращается, только если запрос завершился с ошибкой) |
|||
|
N..2 | Да |
Код ошибки. |
description | ANS..512 | Да | Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю. |
|
|
Да |
|
При аутентификации по протоколу 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. |
Пример ответа на первый запрос
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:googlePayResponse xmlns:ns1="http://server/webservices/merchant"> <return> <success>true</success> <data> <orderId>12312312123</orderId> <is3DSVer2>true</is3DSVer2> <threeDSServerTransId>f44d6d21-1874-45a5-aeb0-1c710dd6e134</threeDSServerTransId> <threeDSMethodURLServer>https://test.com/3dsserver/gatherClientInfo?threeDSServerTransID=f44d6d21-1874-45a5-aeb0-1c710dd6e134</threeDSMethodURLServer> </data> <orderStatus errorCode="0"/> </return> </ns1:googlePayResponse> </soap:Body> </soap:Envelope>
Пример ответа на повторный запрос
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:googlePayResponse xmlns:ns1="http://server/webservices/merchant"> <return> <success>true</success> <data> <is3DSVer2>true</is3DSVer2> <acsUrl>https://test.com/acs2/acs/creq</acsUrl> <packedCReq>eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjVmMzEyMjdlLTljZmQtNDQwYi1hNDNjLTE4NjljMzNhNGI5YiIsImFjc1RyYW5zSUQiOiI5YTQyYzQ4ZC1hNWRiLTQ3NjEtYmI4Mi05ZmY5MmM0NzZiM2QiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDQiLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=</packedCReq> </data> <orderStatus errorCode="0"/> </return> </ns1:googlePayResponse> </soap:Body> </soap:Envelope>
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 | Недостаточно средств на карте |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
7 |
Системная ошибка. |
10 |
Некорректное значение параметра |
10 |
Некорректное значение параметра |
10 |
Некорректное значение параметра |
10 |
Некорректное значение параметра |
10 |
Расшифровка переданных данных неуспешна. |
10 | Отсутствует приватный ключ |