qapmultas/qrcode-pix

巴西PIX支付方式的QR Code生成器

v1.0 2021-09-16 14:17 UTC

This package is not auto-updated.

Last update: 2024-09-14 03:13:28 UTC


README

用于生成QR Code代码和作为PIX的“复制并粘贴”功能的类

灵感来源于Willian Costa的代码。改进了支持更多的数据对象,并修复了当结果小于0x100时多项式计算的错误。

安装

通过 composer,执行

composer require qapmultas/qrcode-pix

将此行代码添加到您的入口控制器或使用的文件中

require 'vendor/autoload.php';

要求

  • PHP 7.1+
  • mbstring或iconv (可选)

使用说明

只需创建一个实例并设置其值

use QapCorp\QRCodePix;

$qrcode = new QRCodePix();

// exemplo de estático
$qrcode
    ->setAmount(450) // R$ 4,50
    ->setDescription('Referente ao produto x')
    ->setMerchantCategoryCode('0000') // deve ser de acordo com o seu PSP
    ->setMerchantName('Nome do PSP') // deve ser de acordo com o seu PSP
    ->setMerchantCity('SAO PAULO') // deve ser de acordo com o seu PSP
    ->setPixKey('sua-chave-pix')
    ->setTxid('seutxid123456')
    ->setUniquePayment(true);

// exemplo de dinâmico
$qrcode
    ->setDynamic(true)
    ->setUrl('https://api.site-do-psp.com/9AED1623-219B-4FE9-9A6B-11DC72D771A6') // deve ser de acordo com o seu PSP
    ->setMerchantCategoryCode('0000') // deve ser de acordo com o seu PSP
    ->setMerchantName('Nome do PSP')
    ->setMerchantCity('SAO PAULO')
    ->setUniquePayment(true);

// usando o payload do QR code
echo $qrcode->getPayload(); // ou (string) $qrcode

该类使用流畅的setter来设置值,但如果您愿意,也可以逐行调用

// exemplo de uso não fluente
$qrcode->setAmount(450);
$qrcode->setDescription('Referente ao produto x');
$qrcode->setMerchantCategoryCode('0000');
$qrcode->setMerchantName('Nome do PSP');
$qrcode->setMerchantCity('SAO PAULO');
$qrcode->setPixKey('sua-chave-pix');
$qrcode->setTxid('seutxid123456');
$qrcode->setUniquePayment(true);

使用许可

更多信息请参阅LICENSE