Jump to content

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


Guest
 Share

Recommended Posts

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

Link to comment
Share on other sites

  • 10 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...