D7-crm

Тел: +34624100225 +79262036707
  • Главная
  • Услуги
    • Внедрение amoCRM
    • Внедрение Битрикс24
    • Интеграции CRM
    • Техническая поддержка CRM
    • Обучение работе в CRM
  • Лицензирование
    • Лицензии amoCRM
    • Лицензии Битрикс24
  • О нас
    • Кейсы
    • Блог про автоматизацию
  • Контакты
    • Вакансии
VPN нового поколения
Среда, 09 марта 2022 / Опубликовано в Apix-drive, Без рубрики, Битрикс24

Билеты с QR кодом

Время на прочтение: < 1 минуты

====quote====
Задача: при оплате высылать билеты с QR кодом, в котором будет зашита ссылка на билет. И заодно письмо аффилиату, что его заказ оплачен
=============
1. понадобятся 2 библиотеки, которые положила в папку /tools/

  • PHPMailer.tar.gz
  • phpqrcode.tar.gz

2. обработчики в init.php
====code====

const SITE_TICKET = "tc";
const TICKET_INFO_URL = "http://nikaverro.ru/ticket/info/";
const QRCODE_DIR_REL = "http://nikaverro.ru/upload/qrcode/";
const QRCODE_DIR_ABS = "/upload/qrcode/";

AddEventHandler("sale", "OnSalePayOrder", "CustomOnSalePayOrder");
function CustomOnSalePayOrder($id,$bPay){
   //Флаг оплаты (Y - выставление оплаты, N - снятие оплаты)
    
   if(($bPay == "Y")&& CModule::IncludeModule("sale") && CModule::IncludeModule("iblock")){        
        $arTickets = GetTicketsByOrderId($id); //функция, которая возвращает билеты (элементы инфоблока) по заказу
        if(count($arTickets)>0){
            $arFilter = Array(
               "ID" => $id, 
               "CANCELED"=>"N"  
            );
            $arSelect = array("ID","USER_ID",'PROPERTY_VAL_BY_CODE_NAME','PROPERTY_VAL_BY_CODE_EMAIL','PROPERTY_VAL_BY_CODE_PHONE', "AFFILIATE_ID","PRICE");
            $db_sales = CSaleOrder::GetList(array("DATE_INSERT" => "ASC"), $arFilter,false,false,$arSelect);               
            
            if ($arOrder = $db_sales->Fetch()){                                 
                $html = GenerateHTMLTicket($arTickets);                
                SendEmailWithTickets($arOrder["PROPERTY_VAL_BY_CODE_EMAIL"], $html);  
                if(($arOrder["AFFILIATE_ID"]!="") && ($arOrder["PRICE"]>0) ){
                    $dbAffiliate = CSaleAffiliate::GetList(array(), array("ID" => $arOrder["AFFILIATE_ID"]), false, false, array("USER_ID"));
                    if ($arAffiliate = $dbAffiliate->Fetch()) {                        
                        $rsUser = CUser::GetByID($arAffiliate["USER_ID"]);
                        $arUser = $rsUser->Fetch();
                        if($arUser["EMAIL"]!=""){
                            SendEmailToAffiliate($arUser["EMAIL"],$arOrder["PRICE"]);
                        }
                    }
                }                                  
            } 
            //выставляем у билетов статус "действительны"
            foreach ($arTickets as $arTicket) {
                CIBlockElement::SetPropertyValuesEx($arTicket["ID"], false, array(PROPERTY_TICKET_STATUS => TICKET_STATUS_VALID));
            }
        }    
    }
}

function GenerateHTMLTicket($arTickets){ 
    AddMessage2Log('GenerateHTMLTicket');  
    require_once($_SERVER["DOCUMENT_ROOT"].'/tools/phpqrcode/qrlib.php');
   
    ob_start();
    // define some HTML content with style
    ?>
      
        
            
                
            
              
                  
              
        
    
                                                                                                                                                                                                                           
                                     

Вероника Малышева

                                 
                
                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
Билет №
                                                        

                                                                                                                     

                                                    
                                                                                                                                                                      
                                    

                                
                   
           CharSet = 'UTF-8';         $email->From      = '';         $email->FromName  = 'Вероника Малышева';         $email->Subject   = 'Электронная билеты';         $email->Body      = $html;         $email->IsHTML(true);                 $email->AddAddress( $emailTo );         $email->addCC( "" );                 $email->Send();       } } function SendEmailToAffiliate($emailTo,$sum){     if(($emailTo != "") && ($sum != "")){         $text = "Через вас оплачен заказ на сумму: ".$sum;         require_once($_SERVER["DOCUMENT_ROOT"].'/tools/PHPMailer/class.phpmailer.php');         $email = new PHPMailer();               $email->CharSet = 'UTF-8';         $email->From      = '';         $email->FromName  = 'Вероника Малышева';         $email->Subject   = 'Электронная билеты';         $email->Body      = $html;         //$email->IsHTML(true);                 $email->AddAddress( $emailTo );         $email->addCC( "" );                 $email->Send();       } }

=============
Подробнее…

С пометкой под: Битрикс24

Что вы можете прочитать дальше

Управление сервисным центром от Gincore: бухгалтерия, склад, crm
Параметры бизнес-процесса
Bitrix24 about know in hindi | AaaTechInfo.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Категории

  • 1С
  • Albato
  • amoCRM
  • Apix-drive
  • CRM
  • Profitbase
  • Roistat
  • U-ON Travel
  • Без рубрики
  • Битрикс24

Услуги

Внедрение amoCRM
Заказать интеграцию
Заказать внедрение
Внедрение Битрикс24

Получить консультацию

    D7-crm

    © 2016-2025 All rights reserved. D7-CRM.

    НАВЕРХ