Ознакомьтесь с обновлениями продуктов, которые мы анонсировали! Смотрите, что нового.

/

Каспи QR

Актуально только если каспи предоставит данные. Чаще всего не предоставляют, и единственный выход добавлять статичную картинку


Нужно разработать функционал генерации qr-кода Каспи на сайте после оформления заказа.

Вам понадобится:

1. архив с php-библиотекой генерации qr-кода;

2. изображения логотипов Каспи для фирменного формирования qr-кода Каспи.


Распаковываем архив php-библиотеки в директорию сайта в любую папку, например, в '/local/tools/'. Также размещаем изображения логотипов Каспи, например, в папку '/images/' в корне сайта.

Далее создаём новую платёжную систему с обработчиком 'наличный расчёт'. Запоминаем её ID.

Затем идём в ваш компонент 'sale.order.ajax', в файл 'confirm.php', находим такой блок:

Меняем блок на следующее содержимое:


где:

  • $paySystemID - ID вашей новой платёжной системы;
  • $merchant_id - ID мерчанта компании в Каспи;
  • $service_id - ID партнёра компании в Каспи;
  • $param_id - ID параметра компании в Каспи.
  • $tmp_img_url - путь к временному сгенерированному qr-коду в формате png.

Подробнее по коду:

require_once($_SERVER['DOCUMENT_ROOT'] . '/local/tools/phpqrcode/qrlib.php');

подключение php-библиотеки генерации qr-кода

$text = 'https://kaspi.kz/pay' . $merchant_id . '?service_id=' . $service_id . '&' . $param_id . '=' . $arResult['ORDER']['ID'] . '&amount=' . $arResult['ORDER']['PRICE'];

формирование ссылки на оплату для qr-кода

QRcode::png($text, $_SERVER['DOCUMENT_ROOT'] . $tmp_img_url, 'H', 6, 2);

генерируем qr-код из ранее сформированной ссылки на оплату в файл по пути '$tpm_img_url' в формате 'png

конвертируем сгенерированный qr-код из 'PNG8' в 'PNG24'.

подгоняем qr-код под нужный размер и размещаем значок Каспи посередине qr-кода.

здесь два блока - верхний для десктопа - отображение самого qr-кода, нижний - для мобайла - отображение простой кнопки с ссылкой на приложение Каспи.