Программирование

Как генерировать QR‑код СБП в CRM: прямой доступ к ссылке

Получите прямую ссылку на оплату через СБП из своей CRM, используя API «Плати QR» Сбербанка или NSPK, без перенаправлений на сторонние сайты.

Как сгенерировать QR‑код для оплаты через СБП в собственной CRM? Нужно получить платежную ссылку от мерчанта, чтобы отображать QR‑код на дисплее покупателя. Я изучил API Юкассы, Робокассы и Тинькофф, но они требуют перенаправления на их сайт или открытие отдельного расчетного счета. Есть ли агрегаторы мерчантов, которые позволяют напрямую получать ссылку для СБП, либо можно ли это сделать через НСПК?

Сгенерировать QR‑код для оплаты через СБП в собственной CRM можно, если у вас есть доступ к API‑м мерчанта, поддерживающего СБП, либо через «Единый» сервис Сбербанка («Плати QR»). Большинство популярных агрегаторов (Юкасса, Робокасса, Тинькофф) создают только динамический QR, который открывает их сайт; они не выдаёшь прямую ссылку на платеж. Для прямого доступа к ссылке СБП обычно используют либо сам Сбербанк, либо Национальную систему платежных карт (НСПК) через API, либо специализированных агрегаторов, которые интегрированы с Сбербанком и НСПК (например, «Сбербанк Плати QR» и «Точка API»).


Содержание


Как получить доступ к API мерчанта, поддерживающего СБП

  1. Выберите мерчанта.
    Самый «чистый» вариант – это сервис Сбербанка «Плати QR» (Plati QR). Он предоставляет отдельный тариф «QR для продавца», который позволяет создавать QR‑коды и получать прямые ссылки на платежи в СБП.
    Как узнать о доступности – обращайтесь к support@ecom.sberbank.ru и уточняйте детали подключения.

  2. Регистрация и получение ключей.

    • Зарегистрируйтесь в системе «Плати QR» через https://www.sberbank.ru/ru/s_m_business/bankingservice/platiqr.
    • После одобрения получите ClientId и ClientSecret.
    • Подключите тариф «QR для продавца» в каталоге API.
  3. Авторизация.
    Сервис использует OAuth‑2.0. Получите токен, отправив запрос POST /oauth/token с вашими ключами. Токен действителен 24 ч и может быть обновлён.

Как видно из официальной документации, «Плати QR» предоставляет отдельный эндпоинт GET /qr/get.do для получения ссылки на QR‑код.


Генерация статического и динамического QR‑кода через API Сбербанка

Тип QR‑кода Параметры Как получить ссылку
Статический QRType = STATIC_QR_SBP После регистрации заказа (POST /register.do) получите qrcId. Далее запрос GET /qr/get.do?qrId={qrcId} вернёт ссылку.
Динамический QRType = DYNAMIC_QR_SBP Создайте заказ с суммой. Тело запроса содержит sum, accountId, merchantId. После успешной регистрации получите orderId и qrcId. Запрос GET /qr/get.do?qrId={qrcId} выдаст ссылку.

Пример запроса к регистрации заказа можно найти в разделе «Платежи по QR‑коду» официальной документации Сбербанка.

Важно: при динамическом QR‑коде сумма содержится в самом QR, поэтому при повторном использовании кода сумма неизменна. Если нужно менять сумму, генерируйте новый код.


Использование NSPK API для получения ссылок на СБП

НСПК (Национальная система платежных карт) предоставляет API generateQR, которое формирует QR‑код по номеру телефона, IBAN, реквизитам и т.д.

  1. Получите токен – НСПК использует OAuth‑2.0.
  2. Вызов generateQR – передайте qrType=SBP, amount, beneficiary, reference.
  3. Ответ содержит qrString (Base64) и qrUrl.
  4. Преобразуйте qrString в изображение (PNG) и отобразите на дисплее.

Этот путь не требует подключения к конкретному банку, но требует договоров с НСПК и соблюдения правил безопасности.


Агрегаторы, предлагающие прямые ссылки на СБП

Агрегатор Поддержка СБП Как получить ссылку
Точка API Да (метод register.do с QRType=DYNAMIC_QR_SBP) Получите qrcId и используйте GET /qr/get.do?qrId={qrcId}.
Сбербанк Плати QR Да Как описано выше.
Яндекс.Деньги (Касса) Ограничено Если вы подключены к Яндекс.Деньгам, используйте их API getQr, но ссылка будет вести на их сервис.
Каспи Нет Требует отдельного расчётного счета.

На момент 2025 года большинство «чистых» агрегаторов (Юкасса, Робокасса) не выдаёт прямой ссылку на СБП, потому что они ориентированы на собственные шлюзы. Поэтому предпочтительнее использовать сервисы, напрямую интегрированные с Сбербанком или НСПК.


Практический пример интеграции в CRM

  1. Создайте заказ в CRM (номер заказа, сумма, клиент).
  2. Вызов API (например, Сбербанк) с параметрами:
    json
    {
      "QRType": "DYNAMIC_QR_SBP",
      "orderId": "CRM12345",
      "sum": 1500,
      "accountId": "123456",
      "merchantId": "654321"
    }
    
  3. Получите ответ:
    json
    {
      "orderId": "CRM12345",
      "qrcId": "987654321",
      "qrUrl": "https://api.sberbank.ru/qr/987654321"
    }
    
  4. Отобразите QR:
    html
    <img src="https://api.sberbank.ru/qr/987654321" alt="Оплата через СБП">
    
  5. Обработайте событие: после оплаты Сбербанк отправит webhook на ваш endpoint, указывая orderId. CRM обновит статус.

Если используете NSPK, можно просто отобразить qrUrl в виде <img src="..."> без дополнительных шагов.


Часто задаваемые вопросы

  • Можно ли использовать Тинькофф для прямого СБП?
    Нет, Тинькофф выдаёт QR‑код, который открывает их собственный интерфейс; прямой ссылки на СБП нет.

  • Нужно ли открывать отдельный расчетный счет?
    В большинстве случаев – да, если вы используете агрегаторов без прямой интеграции. При использовании «Плати QR» счёт уже привязан к вашему бизнес‑аккаунту.

  • Есть ли ограничения по количеству запросов?
    Сбербанк ограничивает 15 запросов в секунду, но для большинства бизнес‑сценариев это достаточна. Уточняйте лимиты у вашего поставщика.


Источники

  1. Сбербанк – Платежи по QR‑коду
  2. Единый доступ к цифровым сервисам Экосистемы Сбербанка – Plati QR
  3. Точка API – Регистрация QR‑кода в СБП
  4. Документация НСПК – generateQR
  5. Платежная документация VTB – получение QR‑кода

Заключение

  • Прямой доступ к ссылке СБП возможен через сервисы, которые напрямую интегрированы с Сбербанком или НСПК, такие как «Плати QR» и «Точка API».
  • Юкасса, Робокасса, Тинькофф не предоставляют прямую ссылку и требуют перенаправления на свой сайт.
  • НСПК – альтернатива, но требует отдельной интеграции и соблюдения требований безопасности.
  • Для собственных CRM‑систем рекомендуется использовать API Сбербанка (Plati QR) или NSPK, чтобы генерировать QR‑коды и получать прямые ссылки, которые можно выводить на дисплее покупателя без лишних перенаправлений.
Авторы
Проверено модерацией
Модерация