PHP code example of kodinus / dynamicgen-qris

1. Go to this page and download the library: Download kodinus/dynamicgen-qris library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kodinus / dynamicgen-qris example snippets


use Qris; // Facade

$qris = Qris::generate($merchantData, 50000);
$data = Qris::extractMerchant($qris);


Kodinus\DynamicGenQris\DynamicQRISGenerator;

$generator = new DynamicQRISGenerator();

$merchantData = [
    'acquirer_domain'   => 'COM.GO-JEK.WWW',
    'mpan'              => '936009143805979959',
    'terminal_id'       => 'G805979959',
    'merchant_category' => 'UMI',
    'nmid'              => 'ID1024358806544',
    'mcc'               => '5411',
    'merchant_name'     => 'Kodingin Digital Nusantara',
    'merchant_city'     => 'NGAWI',
    'postal_code'       => '63281',
];

$staticQris = $generator->generate($merchantData);
echo $staticQris;

$amount = 50000; // Rp 50,000
$invoiceId = 'INV20250908001';

$merchantData['invoice_id'] = $invoiceId;
$dynamicQris = $generator->generate($merchantData, $amount);
echo $dynamicQris;

$qrisString = "00020101021126610014COM..."; // QRIS string lengkap
$parsedData = $generator->parse($qrisString);

print_r($parsedData);
// Output: Array berisi semua tag-value QRIS

$merchantInfo = $generator->extractMerchant($qrisString);

print_r($merchantInfo);
/* Output:
Array (
    [acquirer_domain] => COM.GO-JEK.WWW
    [mpan] => 936009143805979959
    [merchant_name] => Kodingin Digital Nusantara
    [merchant_city] => NGAWI
    ... dst
)
*/

$staticQris = "00020101021126610014COM..."; // Static QRIS
$amount = 100000; // Rp 100,000
$newInvoice = 'INV20250908002';

$dynamicQris = $generator->convertToDynamic($staticQris, $amount, $newInvoice);
echo $dynamicQris;

$isValid = $generator->validateQris($qrisString);

if ($isValid) {
    echo "✅ QRIS valid!";
} else {
    echo "❌ QRIS tidak valid!";
}

// Menggunakan instance kelas
$generator->printQrCode($dynamicQris);

// Atau melalui Facade di Laravel
Qris::printQrCode($dynamicQris);

// config/app.php
'providers' => [
    Kodinus\DynamicGenQris\QrisServiceProvider::class,
],

// Hanya untuk Laravel 10 kebawah
'aliases' => [
    'Qris' => Kodinus\DynamicGenQris\Facades\Qris::class,
],

// Usage
use Qris;

$qris = Qris::generate($merchantData, 50000);

kodinus/dynamicgen-qris/
├── src/
│   ├── DynamicQRISGenerator.php    # Class utama
│   ├── Facades/
│   │   └── Qris.php                # Laravel Facade
│   └── QrisServiceProvider.php     # Laravel Service Provider
├── composer.json
├── README.md
└── LICENSE