Приём оплаты по QR-коду СБП через Альфа-Банк в 1С (общий модуль)
Интеграция - СБП. Оплата по QR-коду
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Общий модуль для приёма платежей по СБП (C2B, оплата по QR-коду) от Альфа-Банка прямо из 1С — без промежуточных сервисов и сторонних обработок.
Версия 2.0.0: модуль переведён на актуальный API СБП C2B (портал документации Альфа-Банка). ClientId/clientSecret и OAuth больше не используются.
Статья описывает устройство общего модуля ИнтеграцияАльфаБанк, который:
- подписывает тело запроса сертификатом (SSL) и отправляет команды на шлюз
fsCryptoProxyпо mTLS; - создаёт динамический QR-код командой
GetQRCd; - проверяет статус оплаты командой
GetQRCstatus; - поддерживает возвраты (
GetQRCreversalData,QRCreversal,GetQRCreversalStatus); - при успешной оплате (
ACWP) автоматически создаёт и проводит документ «Оплата от покупателя платёжной картой».
Авторизация по оплатам СБП C2B: mTLS-сертификат для соединения и SSL-сертификат для подписи запросов. Подпись тела — через МенеджерКриптографии 1С (заголовок Authorization + key-name).
Код написан и обкатан на УТ 10.3, но логика API и работы с HTTPS не зависит от конфигурации — модуль легко адаптируется под УТ 11/КА/ERP заменой имени документа оплаты и его реквизитов.
Что нужно от банка
Перед интеграцией в Альфа-Банке потребуется:
- Договор эквайринга СБП C2B. Подключается через менеджера. Выдаются: номер терминала (
TermNo), alias сертификата подписи (key-name), доступы к тестовому/боевому стенду. - Клиентский сертификат mTLS (обычно
.p12) для установления HTTPS-соединения со шлюзом. - Сертификат подписи запросов (
client.crt/ закрытый ключ), зарегистрированный в банке. Отпечаток указывается в параметрах модуля; сертификат ставится в личное хранилище Windows на сервере 1С. - CA банка (
c2b-ca-test.crt/c2b-ca.crt) — в доверенные удостоверяющие центры ОС. - URL шлюза. Тест:
https://217.12.103.132:2443/fsCryptoProxy. Боевой URL выдаёт банк.
Документация API: https://alfabank.ru/sme/payservice/sbp/docs/welcome/
Архитектура решения
Модуль изолирует подробности интеграции внутри себя. Внешний код вызывает экспортные функции:
СоздатьQRКод(ДокументСсылка, Сумма, НазначениеПлатежа)— командаGetQRCd, отдаётqrcId,payloadи (если есть) изображение QR. Запись попадает в регистр сведенийQRОплатыСБП.ПроверитьСтатусQR(ДокументСсылка)— командаGetQRCstatus, обновляет статус в регистре, приACWPсоздаёт документ оплаты.ПроверитьВсеНеоплаченные()— массовая проверка QR в статусахCREATED,NTST,RCVD. Кладётся в регламентное задание с интервалом 1–2 минуты.ВернутьОплатуСБП(ДокументСсылка, СуммаВозврата)— цепочка возврата:GetQRCreversalData→QRCreversal→GetQRCreversalStatus.ПолучитьСтатусВозвратаСБП(...)— уточнение статуса возврата.
В архиве: ИнтеграцияАльфаБанк_2.bsl — актуальная версия под новый API; ИнтеграцияАльфаБанк.bsl — предыдущая реализация (BaaS/OAuth) для сравнения.
Регистр сведений QRОплатыСБП
Хранит привязку «документ — QR — статус». Минимальный состав:
- Измерение:
Документ(ДокументСсылка, ведущее); - Ресурсы:
QrcId,Payload,TrxId,Сумма,Статус,ДатаСоздания,ДатаОплаты,TermNo.
Регистр непериодический, независимый. Один документ — одна запись.
Статусы платежа
Банк возвращает коды НСПК:
CREATED— локальный статус до первого ответа банка;NTST— операции по QR ещё нет;RCVD— операция в обработке;ACWP— успешная оплата;RJCT— отклонено.
В ОбработатьУспешнуюОплату срабатывает только ACWP.
Тестирование проводилось на УТ 10.3.88.3, платформа 8.5.1.1150.
Вступайте в нашу телеграмм-группу Инфостарт
См. также
14640 руб.
08.08.2023 14759 54 17
17080 руб.
06.09.2024 4378 26 1
25.11.2025 2594 Torin 0
10 стартмани
01.11.2025 4694 25 Torin 7