Портал-кредит Написать в Telegram

Подключите СБП к своему сайту или приложению

Ссылка на оплату создаётся одним запросом по API, подтверждение приходит вебхуком с подписью. Платформа уже принимает платежи партнёров — подключаем и ваш проект.

  • СБП
  • API
  • Вебхуки
  • Кабинет партнёра

Платежи по СБП, которые не нужно сопровождать вручную

Оплата по СБП

Клиент платит в приложении своего банка. Сумма уже заполнена, платёж подтверждается в пару касаний.

Быстрое подтверждение

Подтверждение оплаты приходит за секунды. Если передан адрес возврата, клиенту предложат вернуться на ваш сайт.

API и вебхуки

Ссылка на оплату создаётся одним запросом, событие об оплате приходит на ваш сервер с подписью.

Каждая оплата видна в кабинете партнёра и ежедневно сверяется с платёжной системой; уведомления в Telegram подключаем по запросу.

Путь платежа от заказа до подтверждения

Пять шагов, из которых вы делаете два: создаёте ссылку и принимаете подтверждение.

  1. Ваш сервис

    Создаёт ссылку на оплату

    Один запрос POST /links с номером заказа, клиентом и суммой. В ответ — ссылка на 24 часа.

  2. Клиент

    Принимает оферту и переходит к оплате

    Ставит одну отметку согласия с офертой (при первой оплате). Данные из вашего запроса подставлены, менять их клиент не может.

  3. Банк клиента · СБП

    Подтверждает платёж

    Клиент платит в приложении своего банка. Мы автоматически получаем результат от платёжного партнёра.

  4. Портал-кредит

    Зачисляет и фиксирует

    Платёж зачисляется на баланс клиента, событие записывается в журнал.

  5. Ваш сервис

    Получает подтверждение

    Вебхук order.paid и статус по API. Возмещение вам — по условиям сотрудничества.

Один запроссоздаёт ссылку на оплату
Два способа узнать статусвебхук на ваш сервер (быстрый сигнал) и запрос по API (итоговая сверка)
Данные клиента подставленысумма и ФИО берутся из вашего запроса, клиент их не меняет

Подключение по API: один запрос на заказ

Ключ в заголовке, JSON в теле. Повторный запрос по тому же order_id не создаёт второй платёж: если оплата не начиналась или не прошла, выдаётся новая ссылка (прежняя перестаёт работать), иначе API отвечает 409.

POST/api/partner/v1/links

Создать ссылку на оплату по заказу: номер заказа, клиент, ФИО, сумма. По желанию — адрес возврата клиента на ваш сайт (возврат включаем мы).

GET/api/partner/v1/orders/{order_id}

Статус заказа. Пока платёж ждёт оплаты, мы при запросе сразу сверяем его с платёжной системой.

GET/api/partner/v1/orders

Последние заказы — для сверки; выписка за период — в кабинете партнёра (CSV).

  • Ключ в заголовке Bearer
  • JSON, UTF-8
  • Лимит запросов на ключ
  • Уникальный order_id на заказ

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

  • created
  • pending
  • paid
  • failed
  • refunded
  • expired
ЗапросPOST /api/partner/v1/links
Authorization: Bearer pcp_••••••••••••
{
  "order_id":   "A-1001",
  "client_id":  "U-5532",
  "fio":        "Иванов Иван Иванович",
  "amount":     543,
  "return_url": "https://example.com/orders/A-1001"
}
Ответ 201{
  "order_id":   "A-1001",
  "status":     "created",
  "url":        "https://portal-credit.click/p/…",
  "expires_at": "2026-10-23T09:30:00.000Z"
}

Подписанные события и повторы доставки

Можно не опрашивать статус постоянно: событие придёт на ваш сервер, подписанное и с повторами, если сервер не ответил. Итоговый статус заказа всегда можно запросить по API.

  • order.paid

    Платёж оплачен, деньги зачислены на баланс клиента.

  • order.failed

    Платёж не прошёл или не подтвердился за сутки. Событие не окончательное: банк иногда подтверждает платёж позже, тогда придёт order.paid. Перед новой ссылкой проверьте статус по API.

  • order.refunded

    Платёж возвращён плательщику.

HMAC-SHA256подпись с меткой времени; примеры проверки на Node.js, PHP и Python — в документации
event_idуникален для каждого события: защита от дублей на вашей стороне
Что получает ваш серверPOST https://example.com/hooks/portal
X-Portal-Event:     order.paid
X-Portal-Event-Id:  evt_1234
X-Portal-Signature: t=1792662073,v1=9f2c…e1

{ "event": "order.paid", "event_id": "evt_1234",
  "order_id": "A-1001", "client_id": "U-5532",
  "amount": 543, "currency": "RUB", "status": "paid",
  "paid_at": "2026-10-22T09:41:12.000Z",
  "occurred_at": "2026-10-22T09:41:13.000Z" }

Нет ответа 2xx — повторяем то же событие (тот же event_id), пауза растётТаймаут 10 секунд; ответ 3xx и другие коды — неудача. Паузы отсчитываются от предыдущей неудачной попытки: последний повтор уходит примерно через 22 часа после первой отправки.

  1. сразу1-я отправка
  2. +1 минповтор 1
  3. +5 минповтор 2
  4. +15 минповтор 3
  5. +1 чповтор 4
  6. +3 чповтор 5
  7. +6 чповтор 6
  8. +12 чповтор 7

Все платежи под контролем

В кабинете партнёра видно каждый заказ и каждую попытку оплаты. Настройки интеграции в кабинете не меняются: адрес вебхука, секрет подписи и ключ API мы меняем по вашему запросу.

  • Заказы, фильтры и поискПо статусу и дате, по номеру заказа и клиента. Детали каждой попытки оплаты.
  • Выписка в CSVПлатежи за период для вашей бухгалтерии и сверки.
  • Журнал вебхуковЧто отправлено, что доставлено, повторная отправка одним нажатием.

Защита, сверка и документы по каждому платежу

Подписанные уведомления

Вебхуки подписаны HMAC-SHA256 с меткой времени и уходят только на публичные адреса https.

Защита ключа API

Ключ хранится у нас только в виде хэша. При утере мы выпускаем новый, прежний сразу перестаёт работать.

Шифрование и лимиты

Соединение защищено шифрованием TLS (HTTPS), на запросы действуют лимиты и защита от перебора.

Ежедневная сверка

Каждую ночь автоматически сверяем платежи за прошедший день с платёжной системой; расхождения фиксируются в журнале сверки.

Фиксация согласия

Согласие клиента с офертой — отдельная запись с номером, временем и IP, защищённая цепочкой подписей.

Фискальный чек

По итогам каждого платежа формируется фискальный чек.

Вопросы и ответы

Как узнать, что клиент оплатил?
Вебхук order.paid и статус заказа по API. Рекомендуем опираться на них оба: вебхук быстрее, запрос по API даёт итоговую сверку. Возврат клиента на ваш сайт оплату не доказывает: он может открыть адрес сам.
Что, если наш сервер не ответил на вебхук?
Мы повторяем то же событие с тем же event_id, каждый раз с большей паузой, в течение суток. Обрабатывайте события по event_id, чтобы повтор не создал дубль, а при сомнениях запрашивайте статус заказа по API.
Можно ли выпустить новую ссылку по тому же заказу?
Да, если клиент ещё не нажал кнопку оплаты или платёж по заказу не прошёл. Если платёж ожидает подтверждения, оплачен или возвращён, API вернёт ответ 409 со статусом заказа. Новая ссылка заменяет прежнюю: прежняя перестаёт работать. Сумму можно изменить, а клиента и ФИО у заказа с уже созданным аккаунтом менять нельзя: нужен новый order_id. Перед повторным выпуском проверьте статус ещё раз: банк иногда подтверждает платёж позже.
Кому отправлять ссылку на оплату?
Только клиенту, и открывать её нужно в браузере клиента. Не открывайте ссылку и не нажимайте кнопки от имени клиента на своих серверах.
Как получить ключ API и доступ в кабинет?
После оформления договора о сотрудничестве мы выдаём ключ API, доступ в кабинет партнёра и документацию. Адрес вебхука сообщаете нам, мы подключаем его и проверяем тестовым уведомлением.
Как проверить интеграцию перед запуском?
Тестовым уведомлением вебхука и пробным платежом на небольшую сумму, затем открываем боевой поток.

Начнём с разговора об условиях и подключим интеграцию

  1. Знакомство

    Обсуждаем ваши объёмы, задачи и условия сотрудничества.

  2. Договор

    Оформляем договор.

  3. Доступ

    Выдаём ключ API, доступ в кабинет партнёра и документацию.

  4. Запуск

    Проверяем вебхук тестовым уведомлением и пробным платежом, затем открываем боевой поток.

Написать в Telegram
@portalkantTelegram для связи

Условия сотрудничества, включая расчёты и возмещение, согласуем индивидуально — под объёмы и задачи вашего бизнеса.