przelewy SEPA QR-code

boboo

Avatar: boboo

2025-07-04 19:07

Cześć,
jeśli ktoś z Was bawi się w normalne przelewy SEPA jako płatność,
to mam taki dodateczek, generujący na stronie potwierdzenia zamówienia kod QR z gotowcem do przelewu.

w templates/default/order-step-3.php
gdzieś w "div id=orderPrint"
(ja to umieściłem sobie pod orderStatusLink, ale jeszcze nad nad "tabelką" z personal data)
włożyć takie coś:


<?php
    
if( checkIsPaid$aOrder['iOrder'] ) == false && stristr$aOrder['mPayment'], 'sepa' ) ){
        echo 
$lang['sepa_qr_code'];
        
        
$fQrCode_Amount normalizePrice$aOrder['fProductsSummary'] + $aOrder['sPaymentShippingPrice'] ); // cena końcowa
        
$sQrCode_Iban "numer IBAN";
        
$sQrCode_Bic "";
        
$sQrCode_Name "właściciel konta";
        
$sQrCode_Ref npnumer zamówienia$aOrder['iOrder'];

        
$aQr_content = array();
        
$aQr_content[] = "BCD";
        
$aQr_content[] = "002";
        
$aQr_content[] = "1";
        
$aQr_content[] = "SCT";
        
$aQr_content[] = $sQrCode_Bic;
        
$aQr_content[] = $sQrCode_Name;
        
$aQr_content[] = $sQrCode_Iban;
        
$aQr_content[] = "EUR".$fQrCode_Amount;
        
$aQr_content[] = "";
        
$aQr_content[] = "";
        
$aQr_content[] = $sQrCode_Ref;
        
$aQr_content[] = "";

        
$sQqr_string implodePHP_EOL$aQr_content );

        require_once 
DIR_PLUGINS.'pdf/tcpdf_barcodes_2d.php';
        
$oBarcodeobj = new TCPDF2DBarcode$sQqr_string'QRCODE,H' );
        
        
$sQrHtml $oBarcodeobj->getBarcodeHTML5);
        
        echo 
$sQrHtml;
    }
?>


Parę wyjaśnień:
- "checkIsPaid()" jakoś musicie sprawdzić, czy zamówienie zostało zapłacone (w SQLite mam prościej ;-) ), albo nie sprawdzać,
- jedna z metod płatności powinna mieć w swojej nazwie 'sepa',
- bibliotekę "tcpdf_barcodes_2d.php" (ona sama wystarczy, nie trzeba całego TCPDF'a) włożyć np. w "plugins/pdf/",
- iban'y, bic'e, właściciela konta albo wpisać "na stałe", albo wrzucić w config,
- bic jest potrzebny TYLKO dla przelewów z poza obszaru SEPA, w SEPA-EU wystarcza iban,
- sQrCode_Ref to tytuł płatności (np. nr zamówienia)
- getBarcodeHTML( x, y ) parametry to wielkość "klocuszków" czyli tych maleńkich kwadracików.

U mnie wyświetla się toto, tylko jeśli wybrano jako płatność przelew SEPA i zamówienie nie zostało zapłacone
(sprawdzam nie tylko aktualny status zamówienia, ale również w historii statusów)

W załączniku wygląd.

Dołączone zdjęcie: qr_payment.png

» Quick.Cart v6.x

boboo

Do góry
o nas | kontakt