Как сделать QR код для сбора пожертвований

Частой ситуацией может быть, что люди в силу каких-либо обстоятельств не имеют при себе наличных денег, но при этом хотят пожертвовать на благотворительность, на благие цели, в общем как то помочь комфортной для них суммой. Такие явления как пандемия усилило тенденцию отказа от наличных денег и переходу к безналичным формам расчёта.

Здесь и сейчас сделать пожертвование можно не только наличными деньгами, но и путём перечисления денежных средств на расчётных счёт благотворительного фонда или религиозной организации (церкви, прихода, храма). Делать это путём ввода реквизитов не очень удобно, лучше сделать готовый QR код, отсканировав который достаточно будет только указать сумму и деньги будут пожертвованы.

Сделать такой QR код для пожертвований можно в этом сервисе подготовки QR кодов и квитанций с QR кодом для оплаты.

В самом QR коде обычно поле ФИО оставляют пустым, при этом фиксируют статическую фразу для назначения платежа. Наиболее частым назначением платежа может быть:
1) Для благотворительных фондов — «добровольное пожертвование»
2) Для религиозных организаций — «пожертвование на уставные цели»
Сумму платежа тоже в QR коде оставляют пустой, чтобы была возможность человеку указать любую ему комфортную сумму во время самого платежа.
Подготовленный в приведенном выше сервисе QR код для пожертвований можно использовать при оплате в различных приложениях: Сбербанк-Онлайн, Тинькофф, ВТБ-Онлайн, Юmoney (Яндекс деньги), Альфа банка, Юникредит и других коммерческих банках.

QR код можно распечатать и повесить на видном месте, где дополнительно текстом написать что можно делать с этим QR кодом. Для религиозной организации, например будет актуальным следующий текст — «Дорогие братья и сестры! Теперь вы можете внести пожертвования по QR коду на расчётный счёт храма (церкви, прихода).»

См. также
Как оплатить по QR коду через приложение Сбербанк-Онлайн
Как оплатить по QR коду через мобильное приложение Тинькофф
Как оплатить по QR коду через приложение ВТБ-онлайн
Как оплатить по QR коду через мобильное приложение Юmoney (Яндекс.Деньги)

Описание API по генерации QR кода для оплаты

QR код формируется по ГОСТ Р 56042-2014 . Большинство банков придерживаются данного ГОСТа (Сбербанк, ВТБ, Альфа, Тинькофф, Почта России, Яндекс.Деньги, Райфайзен и т.д.).

Инструкция по подключению API по генерации QR кода для оплаты

1) Создайте личный кабинет для вашего юр.лица. Для этого перейдите по ссылке и заполните данные юр.лица. На почту придёт ссылка доступа.
2)  Сделайте GET или POST запросом с параметрами

Пример запроса для организации с ИНН 212907189988.
url с параметрами будет выглядеть так:
https://sbqr.ru/OVO/api_png_QR.php?PayeeINN=212907189988&lastName=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2&Purpose=%D0%B7%D0%B0%20%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8&Sum=220
Здесь
PayeeINN — ИНН вашей организации.
LastName — передаётся ФИО плательщика (где символы сразу закодированы через функцию urlencode ).
Purpose – назначение (где символы сразу закодированы через функцию urlencode )
Sum — сумма оплаты в рублях.
sumKop — сумма в копейках (Опционально. Если используются копейки, если не используются то можно не передавать)

Возможны и другие параметры предусмотренные ГОСТом. Их добавление осуществляется при обращение на почту analiticexpertpay@gmail.com

Примечание: чтобы посмотреть пример можно скопировать запрос и вставить в строку браузера и далее отсканировать полученный QR код в Сбербанк-Онлайн.

Как вставить полученный QR код в СMS

Если будите формировать QR код у себя в CMS, то там это можно обернуть в соответствующий тег img.

Для примера вставки в СMS в виде изображения
<img src=»https://sbqr.ru/OVO/api_png_QR.php?PayeeINN=212907189988&lastName=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2&Purpose=%D0%B7%D0%B0%20%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8&Sum=220″ />

Соответственно содержимое переменной src, а именно наполнение тегов LastName, Purpose, Sum нужно будет динамически подготовить во время заказа на вашем сайте.

Пример 1, реализации на php

<?php
###### выше может быть код вашей целевой страницы вашего сайта ######
        $data['PayeeINN'] = '212907189988'; # ИНН юр.лица
        $data['lastName'] = 'Иванов'; # плательщик 
        $data['Purpose'] = 'Оплата заказа № 1 с сайта';  # назначение
        $data['Sum'] = 200; # в рублях
        # 1 Формирование url запроса к API
        $url='https://sbqr.ru/OVO/api_png_QR.php?PayeeINN=' 
        . $data['PayeeINN'] 
        . '&lastName=' . $data['lastName'] 
        . '&Purpose=' . $data['Purpose'] . '&Sum' . $data['Sum'];
        # 2 Вывод полученного изображение в документ
        echo '<img src="' . $url . '" />';      
###### ниже может быть код вашей целевой страницы вашего сайта ######        
  
?>

Пример 2, реализации на php (более сложный)

<?php
        $data['PayeeINN']= '212907189988'; # ИНН юр.лица
        $data['lastName']= 'Иванов';
        $data['Purpose']= 'Оплата заказа № 1 с сайта'; 
        $data['Sum']=200; # в рублях
        
        $url='https://sbqr.ru/OVO/api_png_QR.php';
 
        $ch = curl_init();
        # 2. указываем параметры, включая url
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        # указываем, что у нас POST запрос
        curl_setopt($ch, CURLOPT_POST, 1);
        # добавляем переменные
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        # 3. получаем HTML в качестве результата
        $result = curl_exec($ch);
        # 4. закрываем соединение
        curl_close($ch);
        $result=str_replace("src='", "src='https://www.sbqr.ru", $result);
        # 5. выводим контент в браузер
        header ("Content-type: image/png");  
        echo $result;  
?>

Если у Вас есть вопросы по API по генерации QR кодов для оплаты, то оставляйте их ниже.