Payment Docs
Платежи по странамРоссия

Россия

Оплата через СБП по QR-коду в RUB

Перед тем как начать

Этот способ оплаты доступен не всем мерчантам. Уточните доступность у вашего менеджера.

Обзор

ВалютаСпособ оплатыСхема
RUBСБП (QR-код)Вы запрашиваете QR-ссылку и сами показываете её плательщику

Если СБП включена на вашем терминале, платёжная страница предлагает её без дополнительных параметров. На этой странице описана схема host-to-host: вы получаете QR-ссылку СБП напрямую из API и отображаете её в собственном интерфейсе.

Требования к заказу

Для СБП доступны два варианта интеграции: с объектом customer и без него. Какой из них включён для вашего аккаунта, определяется настройками терминала.

Не уверены, какой вариант у вас? Уточните у менеджера.

Телефон и IP-адрес плательщика передаются в объекте customer, сумма — в целых рублях: заказ с копейками не получит QR-ссылку.

Поля объекта customer

ПолеТипОбязательноеОписание
phonestring✅ ДаТелефон плательщика в формате +79991234567
ipstring✅ ДаIP-адрес плательщика (реальный)

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

{
  "purpose": "Payment for order #1234",
  "amount": "9000",
  "currency": "RUB",
  "externalId": "external_id",
  "successUrl": "https://example.com/success",
  "failUrl": "https://example.com/fail",
  "callbackUrl": "https://example.com/webhooks/payments",
  "customer": {
    "phone": "+79991234567",
    "ip": "198.51.100.24"
  }
}

Объект customer не передаётся: отправьте обычный запрос на создание ордера с валютой RUB.

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

{
  "purpose": "Payment for order #1234",
  "amount": "9000",
  "currency": "RUB",
  "externalId": "external_id",
  "successUrl": "https://example.com/success",
  "failUrl": "https://example.com/fail",
  "callbackUrl": "https://example.com/webhooks/payments"
}

Схема работы

Создайте заказ

Создайте обычный заказ в RUB и сохраните его id.

Создание платежа

Запросите QR-ссылку

POST /v1/orders/{orderId}/h2h/sbp
curl -X POST "https://api.platinout.com/v1/orders/{orderId}/h2h/sbp" \
  -H "Content-Type: application/json" \
  -H "X-Api-Token: YOUR_API_TOKEN"

QR-ссылка генерируется на стороне банка. Установите таймаут запроса от 30 секунд.

Ответ:

{
  "qrLink": "https://qr.nspk.ru/..."
}

Если реквизиты выдать не удалось, API отвечает 503 с кодом NO_REQUISITES в сообщении. Создайте новый заказ.

Покажите QR-код

Отобразите qrLink в виде QR-кода или откройте его как ссылку на мобильных устройствах. Плательщик подтверждает перевод в приложении своего банка.

Дождитесь результата

Статус заказа меняется на COMPLETED, когда перевод подтверждён. Вы получаете webhook или можете опрашивать заказ по ID.

Статус заказа и webhook-уведомления

Статусы заказа

СтатусФинальныйОписание
CREATEDНетЗаказ создан, платёжная ссылка ещё не открыта
PENDINGНетОжидает оплаты
COMPLETEDДаПлатёж успешно завершён, средства получены
FAILEDУсловноОшибка оплаты
CANCELEDУсловноЗаказ отменён системой
EXPIREDУсловноСрок действия заказа истёк до оплаты
BLOCKEDУсловноТранзакция заблокирована банком
REFUNDДаПлатёж возвращён плательщику (например, завершён ваш возврат). Устанавливается после COMPLETED
CHARGEBACKДаПлатёж оспорен плательщиком и отменён банком. Устанавливается после COMPLETED

FAILED, CANCELED, EXPIRED и BLOCKED не являются строго финальными. Если банк позже подтверждает платёж из-за ошибки на своей стороне, заказ переходит в COMPLETED, и webhook-уведомление об этом отправляется автоматически. Будьте готовы получить COMPLETED по заказу, который вы уже отметили как неуспешный.

Смотрите также

На этой странице