Перейти к содержанию

Платёжный API · v1

Принимайте оплату по СБП и по карте через один API

Вы создаёте заявку — API выдаёт реквизиты для перевода, следит за оплатой и присылает подписанный callback, когда деньги пришли.

Быстрый старт за 15 минут Подпись запросов

Интеграция за пять шагов

  1. Проект и токенСоздайте проект в кабинете и выпустите токен API.
  2. Ключ подписиСгенерируйте ключ Ed25519 и загрузите публичную часть в кабинет.
  3. CallbackУкажите адрес для уведомлений и выпустите секрет подписи.
  4. ЗаявкаСоздайте подписанный POST /api/v1/payments и покажите плательщику реквизиты.
  5. РезультатПримите callback, проверьте подпись и отметьте заказ оплаченным.
  1. Ваш сервер → APIPOST /api/v1/payments, подпись Ed25519
  2. API ⇢ Ваш сервер201: status=processing, реквизиты, получатель и банк
  3. Ваш сервер → ПлательщикПоказываете реквизиты, сумму и срок оплаты
  4. ПлательщикПереводит по СБП или на карту в приложении своего банка
  5. API → Ваш серверCallback status=completed, подпись HMAC-SHA256
  6. Ваш сервер ⇢ APIОтвечаете 2xx

Что читать дальше

  • Приём по СБП


    Заявка, реквизиты для плательщика, статусы, опрос и крайние случаи.

  • Приём по карте


    Перевод на карту: чем отличается от СБП и что показать плательщику.

  • Подпись запросов


    RFC 9421 и Ed25519: готовые функции и проверочный пример.

  • Callback-и


    Уведомления о результате и проверка HMAC-подписи.

  • Статусы и ошибки


    Все статусы, коды ошибок и когда повторять запрос.

  • Для ИИ-агентов


    llms.txt, Markdown-версии страниц и MCP-сервер документации.

Окружения

Адреса в документации записаны обозначениями — вместо них подставьте свои значения:

  • {{base_url}} — адрес API, который вам выдают при подключении. У песочницы и боевого окружения он свой. В примерах запросов {{base_url}} стоит перед путём: POST {{base_url}}/api/v1/payments.
  • {{cabinet_url}} — адрес кабинета мерчанта. Его сообщают вместе с доступом.
Окружение Адрес API Кабинет Префикс токена
Песочница {{base_url}} песочницы {{cabinet_url}} песочницы nl_test_
Боевое {{base_url}} боевого окружения {{cabinet_url}} боевого окружения nl_live_

Держите {{base_url}} в настройке приложения, а не в коде: при переходе в бой поменяется только она.

Песочница работает так же, как боевое окружение: те же подпись, лимиты и ошибки. Отличается только то, что деньги не двигаются. Подробнее — в разделе Песочница.

Общие правила API

  • Формат. Запросы и ответы — JSON в UTF-8. Сервер разбирает тело строго: неизвестное поле или лишний текст после объекта — 400 bad_request.
  • Доступ. В каждом запросе заголовок Authorization: Bearer <токен проекта>.
  • Подпись. Каждый изменяющий запрос подписан ключом Ed25519 по RFC 9421. Без подписи заявку создать нельзя — ни в песочнице, ни в бою.
  • Суммы. amount — в основных единицах валюты: 3400 или "3400.50" рублей. Суммы в USDT в расчёте merchant_information — десятичные строки: "34.0000"; курс course и ставка rate — числа с двумя знаками: 100.00.
  • Время. Все даты — RFC 3339 в UTC, например 2026-09-28T12:00:00Z.
  • Ошибки. Тело ошибки — {"error":"<код>"}. Список кодов — в разделе Статусы и ошибки.
  • Трассировка. Заголовок X-Request-ID из запроса возвращается в ответе. Сохраняйте его в логах: по нему поддержка найдёт ваш запрос.

Методы API

Метод Что делает Подпись
POST /api/v1/payments Создаёт заявку на приём всегда
GET /api/v1/payments/{id} Возвращает заявку по id если включена в политике проекта
GET /api/v1/project Показывает проект и права токена если включена в политике проекта

Полное описание полей — в API reference.