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

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 для 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые

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

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

6000 руб.

22.04.2022    30186    101    103    

70

Терминал системы быстрых платежей платформа QRСервис: оплата по QR для 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые

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

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

14400 руб.

08.08.2023    3433    6    3    

27

Оплата в РМК через СБП Сбербанк для 1С:УТ, КА, ERP

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

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

7080 руб.

08.11.2023    1076    5    2    

5

Терминал системы быстрых платежей Тинькофф банк: оплата по QR для 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые

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

Система быстрых платежей - мгновенный способ оплаты чека по QR-коду комиссия от 0,4 % до 0,7%. Терминал системы быстрых платежей Тинькофф банк: оплата по QR - это драйвер терминала эквайринговых систем и расширение позволяющее подключатся в 1С:Управление торговлей, редакция 11.4.х и 1С:Управление торговлей, редакция 11.5.х к системе СБП.

14400 руб.

15.11.2022    5934    7    9    

7

Обработка обслуживания Терминал системы быстрых платежей - оплата по QR коду для УТ10.х, УПП 1.3.х, КА 1.х, Розница 1.х

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

Система быстрых платежей - мгновенный способ оплаты чека по QR-коду комиссия от 0,4 % до 0,7%. Обработка обслуживания Система быстрых платежей оплата по QR коду позволяет  подключить 1С:Управление торговлей редакция 10 к Системе быстрых платежей для приема оплаты. Может быть использована в 1С: Управление производственным предприятием 1.3 и 1С: Комплексная автоматизация 1.1 и 1С:Розница 1.х..

10400 руб.

16.02.2022    30337    40    144    

49

'Принимай QR' через сервис SberPay QR (СБП QR) с выводом на второй монитор

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

'Принимай QR' позволяет подключить прием оплаты по СБП QR в стандартном интерфейсе РМК. Расширение позволяет выводить динамический код оплаты, приобретаемые товары, рекламные баннеры на второй монитор. Через 'Принимай QR' можно из документа "Заказ покупателя" сформировать платежную ссылку и отправить ее в письме клиенту. Все операции записываются в регистр и позволяют контролировать операции кассиров и статусы платежей.

11880 руб.

31.05.2023    3412    1    19    

3

Заполнение номера карты RRN по СБП

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

Расширение, позволяющее принимать платежи по QR-коду на терминале эквайринга из конфигураций 1С:Предприятия

2800 руб.

17.03.2023    4736    21    5    

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