piggly / php-pix
一个用于准备和生成巴西中央银行Pix代码的库。
Requires
- php: ^8.0
- ext-gd: *
- ext-mbstring: *
- chillerlan/php-qrcode: ^5.0
Requires (Dev)
- php: ^8.0
- fakerphp/faker: ^1.23
- phpunit/phpunit: ^11.1
README
Pix 是巴西中央银行创建的最新电子支付方法。您可以在Pix的官方页面找到所有详细信息。点击此处了解更多关于其工作原理以及我们的库如何工作的信息 点击这里。
这个库主要是为了与 Woocommerce 插件 Pix por Piggly 一起使用。但它也可以在任何需要创建有效载荷、代码和QR Codes Pix的系统中使用。毕竟,它是为了优化Pix代码的工作流程而创建的。使用它,您可以
- 生成静态和动态Pix代码;
- 为生成的Pix代码创建QR码;
- 导入Pix数据以读取Pix代码;
- 创建用于与Pix API交互的收付款有效载荷;
- 使用与API通信的基础来组织您的代码;
- 生成与最新版本Pix兼容的代码。
如果您遇到Pix密钥无效的问题,请点击此处了解解决方案。并且,不要错过我们的完整文档。
如果您喜欢这个库的功能并希望支持这项工作,请随时通过随机Pix密钥
aae2196f-5f93-46e4-89e6-73bf4138427b
做任何捐赠 ❤。
3.0.0版本更新
版本3与版本2中使用的现有方法兼容。更新前请注意差异
- 不再兼容PHP 7.x;
- 必填字段已移动到
Payloads
构造函数中; - 已向
Payloads
和EMVs
中添加了新字段; - 其他方法与版本2兼容。
为了执行API请求,我们推荐使用 piggly/php-api-client 库,它旨在提供比版本1.x.x中使用的解决方案更加灵活和健壮的解决方案。但您也可以自由使用您想要的任何库。
安装
Composer
- 在项目目录的终端中,输入
composer require piggly/php-pix
; - 不要忘记在代码基础上包括文件
require_once('vendor/autoload.php);
。
手动安装
- 使用
git clone https://github.com/piggly-dev/php-pix.git
下载或克隆此存储库; - 然后,转到
/path/to/php-pix
目录并执行composer install
命令以安装所有依赖项。 - 在项目基础中添加composer的
autoload
require_once('/path/to/php-pix/vendor/autoload.php);
。
依赖项
这个库具有以下依赖项
- PHP GD扩展 用于生成QR码;
- PHP MBString 扩展 用于字符串操作;
- PHP +8.0。
如何使用?
我们建议您点击此处阅读完整文档 点击这里
在 samples/payload.php 和 samples/reader.php 中,您可以找到一个实现示例。这个库非常简单易用,您只需要请求用户或提供以下数据来生成 Pix
必填项
$keyType = Parser::KEY_TYPE_RANDOM;
$keyValue = 'aae2196f-5f93-46e4-89e6-73bf4138427b';
$merchantName = 'STUDIO PIGGLY';
$merchantCity = 'Uberaba';
可选项
$amount = 109.90;
$tid = '034593-09';
$description = '支付 01';
$reusable = false;
然后创建 Payload
对象并使用 getPixCode()
或 getQRCode()
方法,具体取决于您的需求。您还可以创建 Reader
对象来提取有效 Pix 键的数据。
已进行的测试
该库生成的 Pix 代码,包括 QR Code 和 Pix Copia & Cola 功能,已在以下银行应用程序中进行了测试:
- 巴西银行;
- Inter 银行;
- BMG;
- Bradesco;
- C6;
- Itaú;
- Mercado Pago;
- Nubank;
- PagPank;
- Santander。
由于代码遵循 Pix 标准,因此可能适用于所有银行。一些银行可能对使用规定的标准持谨慎态度。因此,如果您遇到问题或困难,请不要犹豫,打开一个 问题 或发送电子邮件到 dev@piggly.com.br。
在发送电子邮件或打开问题之前,请确保提供以下信息:
- 库版本:2.0.0;
- 发行银行:NuBank;
- 付款银行:Inter;
- 错误类型:QR Code 无效;
- 生成的 Pix 键:
00020101021126740014br.gov.bcb.pix0136aae2196f-5f93-46e4-89e6-73bf4138427b0212支付 0152040000053039865406109.905802BR5913STUDIO PIGGLY6007Uberaba62130509034593-09630444C9
;
变更日志
请参阅 CHANGELOG 文件,以获取有关代码中所有更改的信息。
代码测试
该库使用 PHPUnit。我们对该应用程序的所有主要类进行了测试。
vendor/bin/phpunit
贡献
在提交贡献之前,请参阅 CONTRIBUTING 文件以获取信息。
安全性
如果您发现与安全相关的任何问题,请通过电子邮件发送到 dev@piggly.com.br,而不是使用 Github 的问题跟踪器。
致谢
支持项目
Piggly Studio 是一家位于巴西里约热内卢的本地代理商。如果您喜欢这个库的功能并想支持这项工作,请随时为以下随机 Pix 键进行捐款 aae2196f-5f93-46e4-89e6-73bf4138427b
❤。
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 LICENSE。