Платёжный API · v1
Принимайте оплату по СБП и по карте через один API¶
Вы создаёте заявку — API выдаёт реквизиты для перевода, следит за оплатой и присылает подписанный callback, когда деньги пришли.
Интеграция за пять шагов¶
- Проект и токенСоздайте проект в кабинете и выпустите токен API.
- Ключ подписиСгенерируйте ключ Ed25519 и загрузите публичную часть в кабинет.
- CallbackУкажите адрес для уведомлений и выпустите секрет подписи.
- ЗаявкаСоздайте подписанный
POST /api/v1/paymentsи покажите плательщику реквизиты. - РезультатПримите callback, проверьте подпись и отметьте заказ оплаченным.
- Ваш сервер → API
POST /api/v1/payments, подпись Ed25519 - API ⇢ Ваш сервер
201:status=processing, реквизиты, получатель и банк - Ваш сервер → ПлательщикПоказываете реквизиты, сумму и срок оплаты
- ПлательщикПереводит по СБП или на карту в приложении своего банка
- API → Ваш серверCallback
status=completed, подпись HMAC-SHA256 - Ваш сервер ⇢ APIОтвечаете
2xx
Что читать дальше¶
-
Заявка, реквизиты для плательщика, статусы, опрос и крайние случаи.
-
Перевод на карту: чем отличается от СБП и что показать плательщику.
-
RFC 9421 и Ed25519: готовые функции и проверочный пример.
-
Уведомления о результате и проверка 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.