PHP code example of takashato / laravel-vietqr

1. Go to this page and download the library: Download takashato/laravel-vietqr 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/ */

    

takashato / laravel-vietqr example snippets


use Takashato\VietQr\VietQrCode;
use Takashato\VietQr\Enums\Bank;

// Static QR - customer enters amount
$qr = VietQrCode::bankAccount(Bank::VIETCOMBANK, '0011012345678');

// Get QR string (for your own rendering)
$qrString = $qr->build();

// Generate SVG
$svg = $qr->generateQr('svg', 300);

// Generate Base64 PNG
$base64 = $qr->generateQrBase64('png', 300);

use Takashato\VietQr\VietQrCode;
use Takashato\VietQr\Enums\Bank;

// Dynamic QR - fixed amount of 180,000 VND
$qr = VietQrCode::bankAccount(
    bank: Bank::TECHCOMBANK,
    accountNumber: '19033123456789',
    amount: 180000,
    purpose: 'Thanh toan don hang #12345'
);

echo $qr->build();

use Takashato\VietQr\VietQrCode;
use Takashato\VietQr\Enums\Bank;

$qr = VietQrCode::bankCard(
    bank: Bank::MB_BANK,
    cardNumber: '9704229012345678',
    amount: 50000
);

use Takashato\VietQr\VietQrCode;
use Takashato\VietQr\Data\MerchantInfo;
use Takashato\VietQr\Data\AdditionalInfo;
use Takashato\VietQr\Enums\Service;

$qr = (new VietQrCode())
    ->dynamicMethod()
    ->withMerchant(function (MerchantInfo $merchant) {
        $merchant
            ->setService(Service::NAPAS_BY_ACCOUNT)
            ->setAcquirerId('970436')  // Vietcombank BIN
            ->setMerchantId('0011012345678');
    })
    ->amount(180000)
    ->withAdditionalInfo(function (AdditionalInfo $info) {
        $info
            ->terminalLabel('POS001')
            ->purpose('Thanh toan don hang');
    })
    ->build();

use Takashato\VietQr\Enums\Bank;

// Get bank BIN code
$bin = Bank::VIETCOMBANK->value; // '970436'

// Get bank names
$shortName = Bank::VIETCOMBANK->shortName(); // 'Vietcombank'
$fullName = Bank::VIETCOMBANK->nameVi(); // 'Ngân hàng TMCP Ngoại thương Việt Nam'

// Find bank by BIN
$bank = Bank::fromBin('970436'); // Bank::VIETCOMBANK

// Search banks
$results = Bank::search('viet'); // Returns matching Bank enums

use Takashato\VietQr\Facades\VietQr;

$qr = VietQr::create()
    ->staticMethod()
    ->withMerchant(...)
    ->build();