Инструменты страницы

Запрос регистрации заказа и его оплаты в рамках одного запроса

В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:

  • string – строка;
  • array - массив данных;
  • object - объект данных;
  • data - дата;
  • boolean - булевый (логический) тип данных;
  • int. (integer) - целочисленный тип данных;
  • amount - числовой тип данных (сумма).

Параметры запроса:

Параметр Тип Описание Пример заполнения

merchantOpenTokenId

string

Открытый ключ продавца.

8u144674veh8u9b8gnhdm5ua89

returnUrl

string

Объект данных для указания URL для возврата клиента.

https%3A%2F%2Fya.ru

amount

string

Объект данных о сумме оплаты.

Передаётся в виде строки и в мажорных единицах. Шаблон xxxx,xx - т.е. сумма передается в виде рублей + копейки; Например, 100,20 - 100 рублей 20 копеек.

10001

preAuth

string

Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счету клиента до их списания). Доступны следующие значения:

  • true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания);
  • false (ложь) - параметр выключен (списание происходит сразу).

Если параметр не указан в запросе, списание происходит сразу, если указан - необходимо отправить отдельный запрос на завершение.

false

bindingUuid

string

Идентификатор связки sbersafe.

pan

string

Номер платёжной карты.

При указании в запросе параметра seToken этот параметр не обязателен к передаче.

4276010013296064

expiry

string

Срок действия карты.

202412

cardholder

string

Имя держателя карты.

Integration+Tester

cvc

string

Код CVC/CVV2 на обратной стороне карты.

При указании в запросе параметра seToken этот параметр не обязателен к передаче.

555

phone

string

Номер телефона клиента без лидирующей «7». Параметр phone, передаваемый напрямую, не валидируется.

9886496412

email

string

Адрес электронной почты покупателя.

test@test.ru

deliveryAddress

string

Адрес доставки.

loyaltyId

string

Идентификатор программы лояльности.

sbrf_spasibo

loyaltyPointAmount

string

Сумма баллов «Спасибо» (в штуках баллов). При указании бонусов в запросе регистрации заказа, они списываются с суммы amount, а не дополняют ее.

100

loyaltyPayments

string

Блок, содержащий информацию об идентификаторе программы лояльности и суммы баллов.

«loyaltyId»:«sbrf_spasibo», «loyaltyPointAmount»:«200000»

externalBindingId

string

Связка шлюза (внешняя).

importExternalBindings

string

Флаг для импорта связок.

params

string

Дополнительные параметры.

В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

googlePaymentToken

string

Платёжный токен Google Pay.

samsungPaymentToken

string

Платёжный токен Samsung Pay.

applePaymentToken

string

Платёжный токен Apple Pay.

threeDSServerTransId

string

Идентификатор транзакции созданный на сервере 3DS.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

Пример запроса:

POST /order/instantPayment?merchantOpenTokenId=8u144674veh8u9b8gnhdm5ua89&returnUrl=https%3A%2F%2Fya.ru&amount=10001&preAuth=false&pan=4276010013296064&expiry=202412&cardholder=Integration+Tester&cvc=555&phone=9886496412&email=test@test.com&loyaltyPayments=[{%22loyaltyId%22:%22sbrf_spasibo%22,%20%22loyaltyPointAmount%22:%22100%22},%20{%22loyaltyId%22:%22sbrf_sbermiles%22,%20%22loyaltyPointAmount%22:%22100%22}] HTTP/1.1
Host: 3dsec.sberbank.ru/sbersafe
Content-Length: <content-lenght>

Параметры ответа:

Параметр Тип Описание Пример заполнения

errorCode

int

Код ошибки.

0

errorMessage

string Описание ошибки. «Недопустимая операция для текущего состояния заказа»

mdOrder

string

Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза.

de2ad073-79f5-7877-b600-69d00008e652

orderStatus

string

Состояние заказа в платёжной системе.

DEPOSITED

acsUrl

string

Адрес перенаправления на адрес сервера ACS.

"https://test.paymentgate.ru/acs/auth/start.do"

paReq

string

Параметр для передачи в ACS для прохождения аутентификации.

eJxVUk1zgjAQ/SsM95KEr1pnjUOLnXqgYxUvvVHYAVQ+DFDUX99EUeshM/t2N2/3vQSmXCV5mU70dfj+N

termUrl

string

Ссылка перенаправления плательщика после аутентификации.

"https://server/context/rest/finish3ds.do"

redirect

string Адрес возврата после оплаты. "http://ya.ru?orderId=eb49300c-95b7-4dcd-9739-eee6c61f2ac4"

is3DSVer2

boolean

Флаг, обозначающий то, что платёж/перевод будет проведён по протоколу 3DS версии 2.0. Доступны следующие значения:

  • true (истина) - платёж/перевод будет проведён по протоколу 3DS версии 2.0;
  • false (ложь) - платёж/перевод не будет проводиться по протоколу 3DS версии 2.0.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

packedCReq

string

Запакованные данные challenge request. Это значение следует использовать как значение параметра creq ссылки на ACS (acsUrl), для перенаправления клиента на ACS.

status

string

Указание на статус результата обработки запроса

SUCCESS

threeDSServerTransId

string

Идентификатор транзакции созданный на сервере 3DS.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodURL

string

URL-адрес ACS для сбора данных о браузере.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodURLServer

string

URL-адрес сервера 3DS для сбора данных о браузере для включения в запрос аутентификации AReq (Authentication Request) от сервера 3DS к серверу ACS.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodDataPacked

string

Данные CReq (Challenge Response) для отправки на сервер ACS, закодированные в Base64.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

Пример ответа:

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-cache
{"errorCode":0,"mdOrder":"b8419699-7f19-744d-800f-e8b00008e652","orderStatus":"DEPOSITED","redirect":"https://test.com/release/merchants/sbersafe/finish.html?orderId=b8419699-7f19-744d-800f-e8b00008e652&lang=ru","status":"SUCCESS"}