Личный опыт по работе с СБП

24.04.24

Интеграция - СБП. Оплата по QR-коду

То, что я хотел бы услышать, когда начал работу над поставленной задачей.

Создание статических кодов оплаты в Системе Быстрых Платежей.

«…если вам, как истому джентльмену, взбредёт на мысль делать записи на манжетах, вам придётся писать мелом.»

О.Бендер «Золотой теленок»

Цель данной статьи - поделиться практическими советами и замечаниями, которые я хотел бы услышать перед началом работы над проектом (проект я выполнил, так что данная статья является описанием моего опыта и работа над ошибками, и я надеюсь, что кому-то сбережет немного нервов и времени).

Если вкратце, то поставленная задача выглядела так:

Клиенту было необходимо создавать qr-коды для оплаты своей продукции в СБП. Коды должны быть статическими (бизнес клиента связан с самообслуживанием на доверии). Коды должны были создаваться и печататься из 1С инструментами клиента.

Для тех, кто не знаком с СБП и основными понятиями, есть очень хорошая статья: СБП C2B Снаружи и внутри .

Из поставленной задачи и материала статьи я вынес следующее: необходимо сформировать статический  (динамический не устраивал клиента ограниченным (пусть и очень большим) сроком жизни)  платежный код в системе СБП с указанием в коде номенклатуры, суммы платежа, точки реализации.

Первый шаг  -  это получение первоначальной информации  и инструментов (доступа) для работы с контуром СБП. Для этого необходимо обратиться в отдел автоматизации банка клиента (описание API, данные для авторизации и пр.). Отдел автоматизации выдаст документацию, доступы к тестовому контуру (аналогу СБП для отладки и проверки работы реализуемого функционала).

Вторым шагом  будет необходимо ознакомиться с работой http-запросов. Ссылки на статьи и  ресурсы давать не буду – их много как в сети, так и в роликах на youtube.com. Но необходимо чётко уяснить отличия между запросами get, post, put.

Для авторизации в СБП используется протокол OAuth2.0. Статья: OAuth 2.0 простым и понятным языком. Если резюмировать – то мы получаем токен, значение токена вставляем в заголовок наших запросов (поле с токеном в заголовке каждого нашего запроса), работаем дальше согласно документации. Если время жизни токена истекло, токен неверен, токена нет – запросы не обрабатываются, программный модуль не работает.

Третий шаг – получить возможность посмотреть то, что отправляется на сервер (тестовый контур) СБП из 1С – а именно: заголовки и тело запросов.

Для проверки содержания запросов я использовал Fiddler Classic – программа, позволяющая поймать исходящий запрос и посмотреть его содержимое. Fiddler ставится без проблем, однако для работы с протоколом https необходимо его настроить. Статья: Запись web-запросов с помощью Fiiddler  - и мы можем смотреть исходящие запросы. Без этого – никак. При обращении в спорных ситуациях к тех.поддержке банка – лучше сразу отсылать заголовки и тело запроса – сбережет время.

1С и HTTP. Если вкратце для себя (подробно – в документации): создаем соединение, создаем запрос, используя метод соединения, посылаем запрос. И тут самый главный вопрос, который я задавал себе: где get, put, post? Итак, на языке 1С это будет звучать так: get - Получить, put Записать, post ОтправитьДляОбработки. Вот, собственно, и все волшебство. Установка заголовков и тела в запросах описаны в документации.

Тут можно сказать, что есть такая вещь, как библиотека Коннектор (https://github.com/vbondarevsky/Connector) в 1С. И не нужно переводить запросы в своей голове на язык 1С и обратно. И удобно, и понятно, и легко. Но суть в том, что код 1С для запрашиваемого заказчиком функционала работы в СБП оказался краток, прозрачен и  прост, и  использовать библиотеку Коннектор  я посчитал избыточным (впрочем, это мое личное мнение).

Следует отметить, что большим откровением для меня стало получение, а точнее преобразование, текстовой строки в двоичный код. Схема получения qr-кода следующая – отправляем наименование и сумму – получаем картинку. Но картинка приходит в символьном виде. И тут мне (нам всем) помогла функция Base64Значение. И уже полученные двоичные данные можно сохранять в файл, в базу, выводить «на лету» в картинку печатной формы – вариантов масса.

Стоит отметить, что по требованиям банка придется  реализовать и отладить всю функциональную цепочку (даже если функционал избыточен для вас): создание qr-кода, оплату суммы по коду,  проверку проведения оплаты, возврат оплаты покупателю. И только после подтверждения работы всех элементов функционала, отдел автоматизации выдаст учетные данные для работы в реальной СБП.

На этом можно закончить.

Но я продолжу: если что-то не работает  - обратитесь в тех.поддержку банка. Тестовый контур не идеален, не стоит думать, что соблюдая все требования документации, вы напишете и получите верный результат. Увы, нет. Обращайтесь в тех.поддержку, не стесняйтесь – сбережёте массу времени и нервов.

Рад, если мои заметки кому-то окажутся полезными. (И да, кода не будет, извините).

разработка СБП советы

См. также

СБП. Оплата по QR-коду 8.3.14 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Простой «виртуальный терминал» позволяет принимать платежи за товары или услуги с помощью Системы Быстрых Платежей, не требующий сложных настроек. Оплата по СБП - это способ не только ускорить обслуживание клиентов, но и экономить на эквайринге. Банки партнеры: АО Газпромбанк ,АО АЛЬФА-БАНК, АО Россельхозбанк,ПАО Промсвязьбанк,ПАО Банк ФК Открытие,АО Райффайзенбанк,ПАО ВТБ,ПАО Московский Кредитный Банк,ПАО Сбербанк, ПАО Совкомбанк, АО АО Т-Банк (Тинькофф Банк) и т.д.

14400 руб.

08.08.2023    5226    24    3    

40

СБП. Оплата по QR-коду 8.3.14 Конфигурации 1cv8 Платные (руб)

Простой «виртуальный терминал» позволяет принимать платежи за товары или услуги с помощью Системы Быстрых Платежей, не требующий сложных настроек. Оплата по СБП - это способ не только ускорить обслуживание клиентов, но и экономить на эквайринге. Банки партнеры: АО Газпромбанк ,АО АЛЬФА-БАНК, АО Россельхозбанк,ПАО Промсвязьбанк,ПАО Банк ФК Открытие,АО Райффайзенбанк,ПАО ВТБ,ПАО Московский Кредитный Банк,ПАО Сбербанк, ПАО Совкомбанк, АО АО Т-Банк (Тинькофф Банк) и т.д.

16800 руб.

06.09.2024    890    8    1    

5

СБП. Оплата по QR-коду 8.3.14 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Простой «виртуальный терминал» позволяет принимать платежи за товары или услуги с помощью Системы Быстрых Платежей, не требующий сложных настроек. Установите в кассовой зоне дисплей QR-кода в качестве терминала для оплаты по СБП и принимайте платежи с комиссией эквайринга до 0,7%

14400 руб.

06.06.2023    6904    14    13    

19

СБП. Оплата по QR-коду Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Платные (руб)

Система быстрых платежей - мгновенный способ оплаты чека по QR-коду. Комиссия за эквайринг СБП в 3-4 раза ниже чем у традиционного эквайринга. «Терминал системы быстрых платежей: оплата по QR » - это драйвер терминала эквайринговых систем и расширение позволяющее подключатся к системе СБП в 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые и принимать оплаты.

4000 руб.

22.04.2022    32626    100    103    

75

СБП. Оплата по QR-коду Сайты и интернет-магазины Программист Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Россия Бухгалтерский учет Управленческий учет Платные (руб)

В настоящее время система СБП очень часто стала использоваться в повседневной жизни. Одна из систем интеграции СБП через СБЕР. Данная конфигурация является инструментом интеграции СБП в Альфа Авто. Данная система не просто формирует статический QR, а динамический, а значит, в системе будет привязка и на покупателя, и на документ.

7200 руб.

25.10.2022    6429    32    4    

11

Кассовые операции Рабочее место СБП. Оплата по QR-коду Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Расширение для программ 1С:УТ, 1С:КА, 1С:ERP Управление предприятием, которое позволяет принимать оплату через СПБ для ПАО Сбербанк. Подключается прозрачно, работает как типовой механизм.

7080 руб.

08.11.2023    2421    11    6    

9

СБП. Оплата по QR-коду Программист Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Очень нужная для бизнеса внешняя обработка для генерации QR кода по системе быстрых платежей Тинькофф.

3600 руб.

20.04.2022    12786    20    33    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1752 24.04.24 15:31 Сейчас в теме
а вы первый обратились от 1с-ников в этот банк? в банке разве за годы работы и существования СБП не появились готовые модули внедрения СБП в 1С?
EvgeniyOlxovskiy; +1 Ответить
3. DMatveev 17 24.04.24 16:05 Сейчас в теме
(1) Клиент захотел работать напрямую с банком. Статические коды через 1С не создаются. Клиент статические коды печатал из личного кабинета банка.
2. SerVer1C 821 24.04.24 15:52 Сейчас в теме
Так а где экшен ? Вы реализовали простой обмен с банком по гипертекстовому протоколу. Не вижу здесь никакой сложности. Как правильно заметили выше, в 1с должны быть готовые средства, вы не первый, кто с этим столкнулся.
4. DMatveev 17 24.04.24 16:07 Сейчас в теме
(2) Ну, как бы экшен был в процессе создания, и статья для тех, кто захочет реализовать обмен по протоколу сам, с нуля. А клиент захотел статические коды из 1С, а не из личного кабинета банка.
5. Torin 830 24.04.24 16:26 Сейчас в теме
1.
Отдел автоматизации выдаст документацию, доступы к тестовому контуру
- только в том случае , если данные тестовые контуры у них имеются :) Пример :)

2.
Схема получения qr-кода следующая – отправляем наименование и сумму – получаем картинку
- получаем URL функциональной платежной ссылки, а будете вы ее преобразовывать в QR код или отправите клиенту ссылкой сути не меняет :)

3.
И только после подтверждения работы всех элементов функционала, отдел автоматизации выдаст учетные данные для работы в реальной СБП.
- и тоже не догма :)

4.
И тут самый главный вопрос, который я задавал себе: где get, put, post? Итак, на языке 1С это будет звучать так: get - Получить, put – Записать, post – ОтправитьДляОбработки.
- а где PATCH ? :).

5.
Коды должны быть статическими (бизнес клиента связан с самообслуживанием на доверии). Коды должны были создаваться и печататься из 1С инструментами клиента.
- а результат оплаты фискализируется тоже на доверии или самообслуживанием?

P/S Вроде бы и тему затронули хорошую ,но как заметил коллега "где экшен ? " , что хотели донести ?

и да , официальная документация по СБП API для Участников СБП и Агентов ТСП
EvgeniyOlxovskiy; +1 Ответить
6. DMatveev 17 24.04.24 16:43 Сейчас в теме
(5) Хотел клиент статический код сбп-получил (искомый экшен). В процессе решения возникали вопросы -ответы на них собрал в кучку (статью). Ну, а остальное опционально -мне попался адекватный банк с адекватной поддержкой, мне повезло. :) И да, результат оплаты- на доверии, и схема работает, заказчик не разорился. PATCH -мне не понадобился, вот и не упомянул. :)
7. Torin 830 24.04.24 16:54 Сейчас в теме
(6)
И да, результат оплаты- на доверии, и схема работает, заказчик не разорился.
- денежные средства по СБП поступившие от физических лиц на расчетный счет подлежат обязательной фискализации с применением ККТ ( не важно облачной или локальной) , вот и хотелось бы услышать от Вас, как этот Ваш кейс работает :)
8. DMatveev 17 24.04.24 17:04 Сейчас в теме
(7) Была реализована обработка выписки из банка - на каждый платеж - создается чек, чек пробивается (и пробивался ранее, но только чеки создавались вручную) трудолюбивым бухгалтером на ккт. (вобщем, мопед не мой).
9. siamagic 24.04.24 21:06 Сейчас в теме
куар как был дном 4 года назад так и остался - достал карту и оплатил, платит за это все равно продавец )))
10. DMatveev 17 25.04.24 04:15 Сейчас в теме
(9) Процент за СБП меньше. :)
11. SerVer1C 821 26.04.24 16:56 Сейчас в теме
Ждём-с, когда физикам разрешат принимать оплату по QR (СБП)
12. DMatveev 17 26.04.24 19:20 Сейчас в теме
(11) Что мешает перевести физику на карту переводом без СБП прямо сейчас ?
13. SerVer1C 821 27.04.24 11:01 Сейчас в теме
(12) А зачем вы делали своему клиенту оплату по QR ?? Пусть бы ему переводили по реквизитам на банковский счёт.
14. DMatveev 17 27.04.24 19:16 Сейчас в теме
(13) Физику не так много желающих перевести деньжат, а те, кто желают, могут помучиться в сбербанке онлайн, а клиент хочет облегчить перевод денег себе, иначе потеряет клиентов - ну и вот, QR. :) Впрочем, пусть и у физиков будет QR, я совсем не против. :)
Оставьте свое сообщение