1C Плати QR Сбербанк
Преимущества использования Плати QR
- Стоимость операций по платиQR ниже, чем через терминал оплаты сбербанка;
- Для оплаты покупателю нет необходимости приезжать в магазин или офис;
- Оплата (факт оплаты) становится доступен сразу после того, как клиент оплату произвел, а не спустя 3 рабочих дня как в случае терминала, когда факт подтверждается банковской выпиской;
- Возврат денежных средств также возможно осуществлять в системе плати QR. Клиент получает средства в течение 1-4 часов с момента регистрации возврата;
- Есть возможность получить информацию о статусе любой заявки;
Недостатки системы
- Очень медленная и неэффективная поддержка от сбербанка. Часто присылают информацию по кругу. Пока не начнешь топать ногами, писать и звонить везде где только можно и нельзя, будут отписываться, говорить, что ошибка у вас, что неправильный формат. Выйти на действующих разработчиков, которые могут что-то объяснить, НЕВОЗМОЖНО. Операторы, которые сидят на линии, часто не понимают, о чем идет речь;
- Формат данных хотя и документирован, но есть определенные нюансы, которые не обрабатываются сбербанком и вызывают ошибку. А далее см. пункт №1;
- Само подключение системы также требует времени. Хотя существует целое подразделение, которое этим занимается, но надо полагать, что программисты работают отдельно и этому отделу не подчиняются. Поэтому заключение договора и подключение без поддержки программиста на вашей стороне может затянуться на неопределенное время.
- Не буду Вас вводить заблуждение и говорить, что достаточно подключить этот модуль и все заработает. Много вероятности, что без технической поддержки программиста 1с со знанием протокола HTTPS возникнут проблемы, которые преодолеть будет практически невозможно!!!
Что нужно сделать до начала работы
- Заключить договор со сбербанком по системе Плати QR; (комментарий: легко)
- Зарегистрировать личный кабинет разработчика на api sberbank или воспользоваться кабинетом разработчика, у кого он уже есть. (комментарий: легко)
- Создать приложение в личном кабинете и сохранить полученные ключи и сертификаты; (комментарий: легко. Главное не пропустить шаг, где будет выдан секретный ключ. Восстановить его невозможно (так пишут в сбербанке), поэтому важно его вовремя себе скопировать.)
- Соединить созданное приложение с вашей организацией и соответствующим договором (через службу поддержки сбербанка в принципе легко, но см. комментарии выше) (не трудно, но долго, см. недостатки системы)
- Установить расширение в свою конфигурацию.(легко, но лучше, если присутствует программист или специалист по 1с, см. пункт №4 из недостатка системы) .
Реализованные возможности подсистемы
- Запрос QR кода из сбербанка
- Печать полученного QR кода на счете;
- Проверка оплаты по указанному счету или счетам;
- Возврат денежных средств по QR коду;
- Отслеживание пути заявки по схеме: Регистрация - Оплата - Отгрузка - Возврат товаров - Возврат денег - Регистрация возврата
Конфигурации, для которых реализовано расширение и для которых планируется реализация в ближайшее время
Данное расширение протестировано на платформе 1с 8.3.18.17 режим совместимости 8.3.16, для конфигурации 1с Бухгалтерия 3.0 версии 3.0.107.37. Протестирована для файлового варианта. Но система реализована для клиент серверной архитектуре и существует возможность отправки запросов по HTTP как с сервера так и с клиента.
Важно с самого начала установить откуда будет уходить запрос к серверу сбербанка. Из тонкого клиента или из сервера 1с (приложения на сервере). Это важно так как именно там необходимо установить сертификат сбербанка и контролировать настройку прав.
Существуют наработки для 1с 7.7 ТиС. Есть обработка отправляющая запросы и регистрирующая ответы сервера сбербанка.
В планах реализация для 1с 8.3 Розница и Управление торговлей. Но при наличии программиста перевести можно и самостоятельно. Код открыт.
Приглашаю к сотрудничеству и тестированию данного модуля, т.к. по понятным причинам у меня есть возможность тестирования только той конфигурации который мы пользуемся сами, а тестовый кабинет сбербанк нынче не предоставляет. И требует тестировать так сказать на рабочей версии. Особенно интересны для сотрудничества 1С:Торговля и 1С:Розница.
Порядок подключения и основные компоненты
- Используемые документы основной конфигурации: СчетНаОплатуПокупателю, Оплата от покупателя по терминалу, Реализация товаров и услуг, Возврат от покупателя, Возврат покупателю. (основной модуль расширения реализован как независимый и не вносит изменений в исходную конфигурацию. Но перехватывает некоторые события и подключается к их обработке).
- Дополнительные документы реализованные в расширении: Регистрация статуса из сбербанка (при получении сообщения из сбербанка создается технический документ). В случае необходимости его можно откорректировать.
- Для подключения необходимо в конфигураторе подключить расширение не в безопасном режиме;
- Затем в пункте “Администрирование” режима предприятия выбрать пункт “Включить плати QR”:
- После перезапуска конфигурации в режиме 1С предприятие появится пункт:
- Выбрать администрирование и заполнить ВСЕ параметры подключения (на картинке основные пункты системы Плати QR):
На данный момент реализован протокол №1, протокол №3 в планах и в принципе модули легко могут быть переориентированы на протокол №3.
Для взаимодействия по HTTP можно использовать как модуль встроенный в Windows так и модуль 1с. Рекомендуется 2-е.
Сертификат может храниться как в файле так и в реестре, но важно чтобы сертификат находился там, откуда будет происходить запрос HTTPS.
memberID и idQR вы получите от сбербанка. Как правило, они присылают несколько таких номеров (по факту номер магазина и номер кассы). Но в запросах все уходит с одного номера.
Клиент ID и Secret получите в личном кабинете разработчика при регистрации нового приложения.
Итоговый ключ будет рассчитан автоматически, но рекомендую проверить его через специальные сайты генераторы. По какой то причине стандартные функции 1с добавляет в него символ перевода строки, которого там быть не должно. Вероятно это какая то недокументированная возможность 1С. Если кто то подскажет причину и поможет ее исправить буду очень признателен.
Принцип работы
Основное взаимодействие со сбербанком осуществляется из журнала заявок.
Следует понимать основные команды, которые могут быть отправлены для регистрации на стороне сбербанка:
- Регистрация Заявки покупателя;
- Получение информации об оплате покупателем;
- Получение отчета и состояния о заявке;
- Возврат денежных средств;
Остальные состояния документа, такие как отгрузка товара, возврат товара, регистрация факта оплаты или возврата осуществляются на стороне клиента и не регистрируются в сбербанке.
Изначально подразумевалось, что каждая заявка клиента может иметь определенный статус в самой системе 1С и определенный статус в сбербанке. В результате работы от статуса в системе 1с пришлось отказаться из-за неопределенности, например если товар отгружен не полностью или возврат денежных средств не отправлен в сбербанк в полном объеме. Т.е. однозначного статуса определить стало невозможным. Поэтому контроль реального статуса возложен на то где в каждый момент времени находятся денежные средства по заявке. При кажущейся сложности на самом деле все просто:
Из приведенного примера видно, что: сумма заявки 9711,40. Она оплачена покупателем в полном объеме, но зарегистрирована в системе пока только сумма 787,76. Отгружено товаров на сумму 499,16 рублей, и к возврату оформлена сумма 9212,24. Причем возврат клиенту пока не отправлен. Таким образом заявка имеет текущий статус на стороне сбербанка (создана, оплачена, отменена, оформлен возврат) и плавающий статус в нашей системе. Конечно в идеале вся сумма заявки будет в определенном статусе и заявка не будет размазана, но это возможно.
После регистрации заявки доступна возможность печати QR кода по системе Плати QR, но его необходимо включить, так как было решено не отменять возможность стандартной печати QR кода с информацией о реквизитах указанных в счете. Для включения можно использовать переключатель в журнале, либо в самом документе:
Если переключатель установлен, то печататься будет QR код системы плати QR. при попытке напечатать код плати QR для незарегистрированной заявки, запрос на регистрацию будет отправлен автоматически. В этом случае дополнительно регистрировать заявку в сбербанке необязательно:
Существует возможность группировки заявок в журнале в том числе и по статусу документа в сбербанке:
Основные команды управления и обновлении состояния документа:
Отголоски предыдущего варианта отслеживания состояния (не рекомендуется к использованию), но пока не отключено:
При получении / обновлении статуса заявки из сбербанка создается специальный (технический документ), который устанавливает необходимые параметры на стороне пользователя Плати QR. Этот же документ может использоваться для корректировки статусы документа:
Все документы находятся в соответствующем журнале в пункте настроек.
Подключиться к проекту
Приглашаю к сотрудничеству:
1. Разработчиков (соавторов), желающих участвовать в тестировании и разработке, а также усовершенствования модуля.
2. Организации которым необходима поддержка и настройка модуля в том числе для других конфигураций.
Буду благодарен за конструктивные замечания и пожелания к реализации системы.
Гарантия возврата денег
ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.