Оплата
Расчет комиссии
Описание: предварительный расчет суммы комиссии от суммы платежа перед оформлением. Метод POST /api/transfer/fee. Является опциональным шагом перед оплатой и нужен, если партнер хочет отобразить клиенту сумму комиссии.
Последовательность шагов
- Отправить запрос через
POST /api/transfer/feeс параметрами:credentials(или заголовокAuthorization) — способ передачиapiKey(предпочтительно в заголовкеAuthorization):- Вариант А (предпочтительный): в заголовке
Authorization— передатьapiKeyпартнера - Вариант Б:
credentials:login—sbertipspassword—apiKeyпартнера
- Вариант А (предпочтительный): в заголовке
amount— сумма платежа (минимум 500 минорных единиц)qrCodeUuid— UUID QR-кода
- Получить ответ:
feeAmount— рассчитанная сумма комиссии
Альтернативные сценарии ошибок
| Код ошибки | Описание |
|---|---|
qrCode.notFound.error | QR-код не найден |
client.blocked.error | Клиент заблокирован |
merchant.authenticate.error | Ошибка аутентификации мерчанта |
Оплата на платежной форме СберЧаевых
Описание: оплата с редиректом на платежную форму СберЧаевых. Используется метод POST /api/transfer/secure/register. Партнер регистрирует транзакцию, получает URL для перенаправления клиента на страницу оплаты, где клиент вводит данные карты и подтверждает платеж.
Последовательность шагов
- Подготовить запрос — сформировать тело запроса с обязательными параметрами:
credentials(или заголовокAuthorization) — способ передачиapiKey(предпочтительно в заголовкеAuthorization):- Вариант А (предпочтительный): в заголовке
Authorization— передатьapiKeyпартнера - Вариант Б:
credentials:login—sbertipspassword—apiKeyпартнера
- Вариант А (предпочтительный): в заголовке
transactionNumber— уникальный номер транзакции от партнера (до 32 символов)qrUuid— UUID QR-кодаamount— сумма перевода в минорных единицах (6 знаков после запятой, минимум 500)currency— код валюты (например,"643"для RUB)binding(опционально) — данные привязки (bindingId+clientId)feeSender(опционально) —trueдля оплаты комиссии отправителем,falseдля оплаты получателем
- Отправить запрос через
POST /api/transfer/secure/register. - Обработать успешный ответ:
mdOrder— уникальный идентификатор транзакции в PaymentGateformUrl— URL перенаправления на страницу оплаты СберЧаевыхtransactionState— состояние транзакции (CREATED— зарегистрирована)
- Перенаправить клиента на
formUrl— клиент попадет на платежную форму СберЧаевых, где введет данные карты и подтвердит оплату. - Периодически проверять статус транзакции через
POST /api/transfer/statusдо момента получения финального статуса.
Альтернативные сценарии ошибок
| Код ошибки | Описание |
|---|---|
field.invalid.format.error | Некоторые параметры некорректны или не переданы |
client.notActive.error | У клиента нет активной карты |
client.blocked.error | Клиент заблокирован |
qrCode.notFound.error | QR-код для клиента не найден |
merchant.authenticate.error | Ошибка аутентификации мерчанта |
Оплата по СБП
Описание: оплата через QR-код СБП (Система быстрых платежей) через POST /api/transfer/sbp/start.
Последовательность шагов
- Подготовить запрос с параметрами:
credentials(или заголовокAuthorization) — способ передачиapiKey(предпочтительно в заголовкеAuthorization):- Вариант А (предпочтительный): в заголовке
Authorization— передатьapiKeyпартнера - Вариант Б:
credentials:login—sbertipspassword—apiKeyпартнера
- Вариант А (предпочтительный): в заголовке
transactionNumber— уникальный номер транзакции от партнераqrUuid— UUID QR-кодаamount— объект сtransactionAmountиcurrencyfeeSender(опционально) — оплата комиссии отправителем
- Отправить запрос через
POST /api/transfer/sbp/start. - Обработать ответ:
mdOrder— уникальный ID транзакции в PaymentGateqrId— уникальный идентификатор QR-кода СБП в системе НСПКqrPayload— URL оплаты QR-кода СБП (показывает клиенту)transactionStatus— статус транзакции:CREATED— заказ зарегистрированDEPOSITED— заказ оплаченREFUNDED— заказ возвращенDECLINED— заказ отклонен
qrStatus— статус QR-кода СБП:STARTED— QR-код зарегистрированACCEPTED— QR-код оплаченREJECTED— QR-код отклоненREJECTED_BY_USER— QR-код отклонен пользователем
- Перенаправить клиента на
qrPayloadили отобразить клиенту QR-код, у которого в качествеpayload—qrPayload. - Периодически опрашивать статус транзакции через
POST /api/transfer/statusдо момента получения финального статуса (DEPOSITED,REFUNDED,DECLINED).
Альтернативные сценарии ошибок
| Код ошибки | Описание |
|---|---|
field.invalid.format.error | Параметры недействительны или отсутствуют |
merchant.authenticate.error | Ошибка аутентификации мерчанта |
client.notActive.error | У клиента нет активной карты |
client.blocked.error | Клиент заблокирован |
qrCode.notFound.error | QR-код не найден |
payment.register.error | Не удалось зарегистрировать платеж |
Оплата связками
Описание: оплата чаевых с использованием карточных и СБОЛ-связок (binding).
Оплата карточной связкой
Описание: оплата привязанной картой через POST /api/transfer/payment. Партнер передает bindingId и clientId карточной связки в поле source.binding.
Последовательность шагов
- Подготовить запрос на оплату с параметрами:
credentials(или заголовокAuthorization) — способ передачиapiKey(предпочтительно в заголовкеAuthorization):- Вариант А (предпочтительный): в заголовке
Authorization— передатьapiKeyпартнера - Вариант Б:
credentials:login—sbertipspassword—apiKeyпартнера
- Вариант А (предпочтительный): в заголовке
transactionNumber— номер транзакции от партнераqrUuid— UUID QR-кодаsource.binding— данные привязки:bindingId— уникальный ID привязки в PaymentGateclientId— ID клиента для привязки в PaymentGate
amount— сумма и валюта переводаfeeSender(опционально) — оплата комиссии
- Отправить запрос через
POST /api/transfer/payment. - Обработать ответ:
transactionState— статус транзакции:CREATED— заказ зарегистрированDEPOSITED— заказ оплаченDECLINED— заказ отклонен
- Периодически проверять статус транзакции через
POST /api/transfer/statusдо момента получения финального статуса.
Альтернативные сценарии ошибок
| Код ошибки | Описание |
|---|---|
transfer.source.notPresent.error | Источник перевода не указан |
transfer.source.ambiguous.error | Источник неоднозначен (указано несколько) |
binding.notFound.error | Привязка не найдена |
client.blocked.error | Клиент заблокирован |
qrCode.notFound.error | QR-код не найден |
merchant.authenticate.error | Ошибка аутентификации мерчанта |
Оплата связкой СБОЛ
Описание: оплата через привязанную карту Сбербанка по СБОЛ через POST /api/transfer/sbol/start. В качестве источника используется привязка с bindingId и номером телефона клиента.
Последовательность шагов
- Подготовить запрос на оплату с параметрами:
credentials(или заголовокAuthorization) — способ передачиapiKey(предпочтительно в заголовкеAuthorization):- Вариант А (предпочтительный): в заголовке
Authorization— передатьapiKeyпартнера - Вариант Б:
credentials:login—sbertipspassword—apiKeyпартнера
- Вариант А (предпочтительный): в заголовке
transactionNumber— уникальный номер транзакции от партнераqrUuid— UUID QR-кодаsourceBinding— данные привязки СБОЛ:bindingId— уникальный ID привязки в PaymentGatemobilePhone— номер телефона клиента с ведущей цифрой"8"
amount— сумма и валюта переводаfeeSender(опционально) — оплата комиссии
- Отправить запрос через
POST /api/transfer/sbol/start. - Обработать ответ:
mdOrder— уникальный ID транзакции в PaymentGatetransactionState— состояние транзакции (CREATED)
- Периодически проверять статус транзакции через
POST /api/transfer/statusдо момента получения финального статуса.
Альтернативные сценарии ошибок
| Код ошибки | Описание |
|---|---|
field.invalid.format.error | Параметры недействительны или отсутствуют |
phone.invalid.error | Телефон не соответствует требованиям |
client.notActive.error | У клиента нет активной карты |
client.blocked.error | Клиент заблокирован |
qrCode.notFound.error | QR-код не найден |
merchant.authenticate.error | Ошибка аутентификации мерчанта |