kenlas/mnb-qr-code-payment-generator-php

PHP 实现了 MNB 的二维码支付生成算法

v0.1.3 2020-11-02 16:08 UTC

This package is auto-updated.

Last update: 2024-09-29 05:36:29 UTC


README

PHP 实现了 MNB(匈牙利国家银行)的二维码支付生成算法

完整指南可以在此处找到: https://www.mnb.hu/letoltes/qr-kod-utmutato-20190712.pdf

使用 endroid/qr-code 生成二维码图片。

要求

PHP 7.2

安装

composer require kenlas/mnb-qr-code-payment-generator-php

示例用法

$iban = MnbQrCodePayment\Utils::hungarianBbanToIban('11773016-11111018');

$generator = new MnbQrCodePayment\Generator();
$data = $generator
    ->setMethod('HCT')
    ->setBic('OTPVHUHB')
    ->setName('Szabó Jenő')
    ->setIban($iban)
    ->setAmount(1000)
    ->setExpiration(new DateTime('now + 30 minutes'))
    ->setPaymentSituation('GDSV')
    ->setMessage('hello')
    ->setShopId('1234')
    ->setDeviceId('POS')
    ->setInvoiceId('MY-2020/108')
    ->setCustomerId('4682')
    ->setTransactionId('4687-8765-9624-1245-2022')
    ->setLoyaltyId('4682')
    ->setNavVerificationCode('FXC4')
    ->generate();

$image = new MnbQrCodePayment\QrCodeImage($data);

可以直接将生成的二维码输出到输出

$image->display();

可以将其保存为图片

$image->saveTo('my.png');

或者可以获取二维码作为 base64 编码的数据 URI

echo $image->asDataUri();

您还可以使用自己的二维码渲染器:(更多示例请参阅 https://github.com/endroid/qr-code

$customRenderer = new Endroid\QrCode\QrCode();
$customRenderer->setSize(400);
$customRenderer->setMargin(20);
$customRenderer->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
$customRenderer->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
$image->setRenderer($customRenderer);

MnbQrCodePayment\Generator 可用的设置器

MnbQrCodePayment\Utils 可用的帮助方法

MnbQrCodePayment\QrCodeImage 可用的方法

联系

如果您有任何问题,请随时通过kenlashu@gmail.com与我联系