ym88659208ym87991671
Оплата | Документация для разработчиков

Оплата

Обновлено 18 августа 2026

Расчет комиссии

Описание: предварительный расчет суммы комиссии от суммы платежа перед оформлением. Метод POST /api/transfer/fee. Является опциональным шагом перед оплатой и нужен, если партнер хочет отобразить клиенту сумму комиссии.

Последовательность шагов

  1. Отправить запрос через POST /api/transfer/fee с параметрами:
    • credentials (или заголовок Authorization) — способ передачи apiKey (предпочтительно в заголовке Authorization):
      • Вариант А (предпочтительный): в заголовке Authorization — передать apiKey партнера
      • Вариант Б: credentials:
        • loginsbertips
        • passwordapiKey партнера
    • amount — сумма платежа (минимум 500 минорных единиц)
    • qrCodeUuid — UUID QR-кода
  2. Получить ответ:
    • feeAmount — рассчитанная сумма комиссии

Альтернативные сценарии ошибок

Код ошибкиОписание
qrCode.notFound.errorQR-код не найден
client.blocked.errorКлиент заблокирован
merchant.authenticate.errorОшибка аутентификации мерчанта

Оплата на платежной форме СберЧаевых

Описание: оплата с редиректом на платежную форму СберЧаевых. Используется метод POST /api/transfer/secure/register. Партнер регистрирует транзакцию, получает URL для перенаправления клиента на страницу оплаты, где клиент вводит данные карты и подтверждает платеж.

Последовательность шагов

  1. Подготовить запрос — сформировать тело запроса с обязательными параметрами:
    • credentials (или заголовок Authorization) — способ передачи apiKey (предпочтительно в заголовке Authorization):
      • Вариант А (предпочтительный): в заголовке Authorization — передать apiKey партнера
      • Вариант Б: credentials:
        • loginsbertips
        • passwordapiKey партнера
    • transactionNumber — уникальный номер транзакции от партнера (до 32 символов)
    • qrUuid — UUID QR-кода
    • amount — сумма перевода в минорных единицах (6 знаков после запятой, минимум 500)
    • currency — код валюты (например, "643" для RUB)
    • binding (опционально) — данные привязки (bindingId + clientId)
    • feeSender (опционально) — true для оплаты комиссии отправителем, false для оплаты получателем
  2. Отправить запрос через POST /api/transfer/secure/register.
  3. Обработать успешный ответ:
    • mdOrder — уникальный идентификатор транзакции в PaymentGate
    • formUrl — URL перенаправления на страницу оплаты СберЧаевых
    • transactionState — состояние транзакции (CREATED — зарегистрирована)
  4. Перенаправить клиента на formUrl — клиент попадет на платежную форму СберЧаевых, где введет данные карты и подтвердит оплату.
  5. Периодически проверять статус транзакции через POST /api/transfer/status до момента получения финального статуса.

Альтернативные сценарии ошибок

Код ошибкиОписание
field.invalid.format.errorНекоторые параметры некорректны или не переданы
client.notActive.errorУ клиента нет активной карты
client.blocked.errorКлиент заблокирован
qrCode.notFound.errorQR-код для клиента не найден
merchant.authenticate.errorОшибка аутентификации мерчанта

Оплата по СБП

Описание: оплата через QR-код СБП (Система быстрых платежей) через POST /api/transfer/sbp/start.

Последовательность шагов

  1. Подготовить запрос с параметрами:
    • credentials (или заголовок Authorization) — способ передачи apiKey (предпочтительно в заголовке Authorization):
      • Вариант А (предпочтительный): в заголовке Authorization — передать apiKey партнера
      • Вариант Б: credentials:
        • loginsbertips
        • passwordapiKey партнера
    • transactionNumber — уникальный номер транзакции от партнера
    • qrUuid — UUID QR-кода
    • amount — объект с transactionAmount и currency
    • feeSender (опционально) — оплата комиссии отправителем
  2. Отправить запрос через POST /api/transfer/sbp/start.
  3. Обработать ответ:
    • mdOrder — уникальный ID транзакции в PaymentGate
    • qrId — уникальный идентификатор QR-кода СБП в системе НСПК
    • qrPayload — URL оплаты QR-кода СБП (показывает клиенту)
    • transactionStatus — статус транзакции:
      • CREATED — заказ зарегистрирован
      • DEPOSITED — заказ оплачен
      • REFUNDED — заказ возвращен
      • DECLINED — заказ отклонен
    • qrStatus — статус QR-кода СБП:
      • STARTED — QR-код зарегистрирован
      • ACCEPTED — QR-код оплачен
      • REJECTED — QR-код отклонен
      • REJECTED_BY_USER — QR-код отклонен пользователем
  4. Перенаправить клиента на qrPayload или отобразить клиенту QR-код, у которого в качестве payloadqrPayload.
  5. Периодически опрашивать статус транзакции через POST /api/transfer/status до момента получения финального статуса (DEPOSITED, REFUNDED, DECLINED).

Альтернативные сценарии ошибок

Код ошибкиОписание
field.invalid.format.errorПараметры недействительны или отсутствуют
merchant.authenticate.errorОшибка аутентификации мерчанта
client.notActive.errorУ клиента нет активной карты
client.blocked.errorКлиент заблокирован
qrCode.notFound.errorQR-код не найден
payment.register.errorНе удалось зарегистрировать платеж

Оплата связками

Описание: оплата чаевых с использованием карточных и СБОЛ-связок (binding).

Оплата карточной связкой

Описание: оплата привязанной картой через POST /api/transfer/payment. Партнер передает bindingId и clientId карточной связки в поле source.binding.

Последовательность шагов

  1. Подготовить запрос на оплату с параметрами:
    • credentials (или заголовок Authorization) — способ передачи apiKey (предпочтительно в заголовке Authorization):
      • Вариант А (предпочтительный): в заголовке Authorization — передать apiKey партнера
      • Вариант Б: credentials:
        • loginsbertips
        • passwordapiKey партнера
    • transactionNumber — номер транзакции от партнера
    • qrUuid — UUID QR-кода
    • source.binding — данные привязки:
      • bindingId — уникальный ID привязки в PaymentGate
      • clientId — ID клиента для привязки в PaymentGate
    • amount — сумма и валюта перевода
    • feeSender (опционально) — оплата комиссии
  2. Отправить запрос через POST /api/transfer/payment.
  3. Обработать ответ:
    • transactionState — статус транзакции:
      • CREATED — заказ зарегистрирован
      • DEPOSITED — заказ оплачен
      • DECLINED — заказ отклонен
  4. Периодически проверять статус транзакции через POST /api/transfer/status до момента получения финального статуса.

Альтернативные сценарии ошибок

Код ошибкиОписание
transfer.source.notPresent.errorИсточник перевода не указан
transfer.source.ambiguous.errorИсточник неоднозначен (указано несколько)
binding.notFound.errorПривязка не найдена
client.blocked.errorКлиент заблокирован
qrCode.notFound.errorQR-код не найден
merchant.authenticate.errorОшибка аутентификации мерчанта

Оплата связкой СБОЛ

Описание: оплата через привязанную карту Сбербанка по СБОЛ через POST /api/transfer/sbol/start. В качестве источника используется привязка с bindingId и номером телефона клиента.

Последовательность шагов

  1. Подготовить запрос на оплату с параметрами:
    • credentials (или заголовок Authorization) — способ передачи apiKey (предпочтительно в заголовке Authorization):
      • Вариант А (предпочтительный): в заголовке Authorization — передать apiKey партнера
      • Вариант Б: credentials:
        • loginsbertips
        • passwordapiKey партнера
    • transactionNumber — уникальный номер транзакции от партнера
    • qrUuid — UUID QR-кода
    • sourceBinding — данные привязки СБОЛ:
      • bindingId — уникальный ID привязки в PaymentGate
      • mobilePhone — номер телефона клиента с ведущей цифрой "8"
    • amount — сумма и валюта перевода
    • feeSender (опционально) — оплата комиссии
  2. Отправить запрос через POST /api/transfer/sbol/start.
  3. Обработать ответ:
    • mdOrder — уникальный ID транзакции в PaymentGate
    • transactionState — состояние транзакции (CREATED)
  4. Периодически проверять статус транзакции через POST /api/transfer/status до момента получения финального статуса.

Альтернативные сценарии ошибок

Код ошибкиОписание
field.invalid.format.errorПараметры недействительны или отсутствуют
phone.invalid.errorТелефон не соответствует требованиям
client.notActive.errorУ клиента нет активной карты
client.blocked.errorКлиент заблокирован
qrCode.notFound.errorQR-код не найден
merchant.authenticate.errorОшибка аутентификации мерчанта
Заметили ошибку?
Выделите текст и нажмите
Ctrl
+
Enter
, чтобы сообщить нам об ошибке