Перейти к содержанию

Создание QR-кода для банковского перевода


Гость

Рекомендуемые сообщения

settings.png.2f0af4a770704db30e21c347bde4c71d.png

OCMOD, добавляющий генерацию QR-кода в стандартный модуль "Банковский перевод". QR-код отображается в следующих документах:

 

  • История заказов (для пользователя) / просмотр свойств заказа;
  • Email с оповещением о новом заказе (для пользователя);
  • Заказы (для администратора) / просмотр свойств заказа;
  • Email с оповещением о новом заказе (для администратора).

 

Для генерации изображения с QR-кодом используется сервис "Генератор QR кодов". В указанные документы вставляется ссылка с запросом к указанному сервису. Созданное изображение нигде не сохраняется. В email-клиенте может быть включена блокировка загрузки картинок со сторонних ресурсов, из-за чего QR-код не будет отображаться, пока его загрузку не подтвердить вручную.

 

Более красивым решением, конечно, было бы встраивание библиотеки для генерации QR-кодов в OpenCart, но добиться корректной работы ни от phpqrcode, ни от QR Code Generator пока не удалось (хотя демо страничка на сайте последнего генератора создаёт корректный код).

 

Для генерации QR-кода в настройки модуля "Банковский перевод" (в любое место текста инструкции, но лучше в начало) нужно добавить следующий блок данных:

{QRCODE}ST00012|Name=ООО "Рога и копыта"|PayeeINN=9876856765|KPP=345437436|
PersonalAcc=40708407654768768769|BankName=АО "АЛЬФА-БАНК"|BIC=044525593|CorrespAcc=30101810200000000593|
LastName={LASTNAME}|FirstName={FIRSTNAME}|MiddleName={MIDDLENAME}|
PayerAddress={ADDRESS}|Purpose=Оплата заказа {NORDER}|Sum={TOTAL}{/QRCODE}

Расшифровка параметров:

 

  • Name — наименование получателя платежа;
  • PayeeINN — ИНН получателя платежа;
  • KPP — КПП получателя платежа;
  • PersonalAcc — номер счета получателя платежа;
  • BankName — наименование банка получателя платежа;
  • BIC — БИК банка получателя платежа;
  • CorrespAcc — номер кор./сч. банка получателя платежа;
  • Sum — сумма платежа, в копейках;
  • Purpose — наименование платежа (назначение);
  • LastName — фамилия плательщика;
  • FirstName — имя плательщика;
  • MiddleName — отчество плательщика;
  • PayerAddress — адрес плательщика.

 

 

Значения параметров Name, PayeeINN, KPP, PersonalAcc, BankName, BIC, CorrespAcc нужно заполнить реквизитами вашей компании. Остальные будут заполняться данными из заказа. На этапе подготовки данных производится перекодировка UTF-8 → Windows-1251. Соответственно, использования символов, которых нет в Windows-1251, стоит избегать. Набор полей подбирался с оглядкой на ГОСТ Р 56042-2014, но полномасштабного соответствия, разумеется, нет. Наладка производилась при помощи Android-приложения Сбербанк-Онлайн. Корректная работа с приложениями других банков не гарантируется.

 

 

 

Установка - стандартная, через раздел "Установка расширений". После этого нужно обновить модификаторы.

 

 

 

Модуль тестировался только на OpenCart 2.1.0.2, на стандартной теме. С большой вероятностью будет работать на OpenCart 2.x и на ocStore 2.x.

email.png.46e058c11c8cb5231b71e6b5c6eb48eb.png

history-of-order.png.088d4a09238e42ef6b22675a32a889d8.png

admin-history-of-order.png.84ea401c460a3f5face6dc3e9654a08e.png

qr_bank_transfer.ocmod.xml

Ссылка на комментарий
Поделиться на другие сайты

  • 10 месяцев спустя...

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...