fernandocvargas / bradesco-api-php
Bradesco 收款条 API 的 PHP SDK
dev-master
2021-05-17 23:52 UTC
Requires
- php: >=7.3.0
- guzzlehttp/guzzle: ^7.0.1
Requires (Dev)
- php: >=7.3
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-18 07:16:41 UTC
README
Bradesco 在线收款条 API 的 PHP SDK
描述
PHP SDK 用于与 Bradesco 在线收款条注册服务集成
Manual Registro de Boleto Bancario Online Dez17.pdf
安装
通过 Composer
composer require fernandcvargas/bradesco-api-php
参数
如何使用
- 参数可以通过环境变量定义
putenv('BRADESCO_SANDBOX=true'); putenv('BRADESCO_TIMEOUT=20'); putenv('BRADESCO_CERT_PATH=myCertificate.pfx'); putenv('BRADESCO_CERT_PASSWORD=myPassword');
或通过 array
传递
Bradesco::setParams([ 'BRADESCO_SANDBOX' => true, 'BRADESCO_TIMEOUT' => 20, 'BRADESCO_CERT_PATH' => 'myCertificate.pfx', 'BRADESCO_CERT_PASSWORD' => 'myPassword' ]);
- 然后,只需使用以下命令并传递格式为
array
的收款条数据。
$boleto = \BradescoApi\BankSlip::create($data);
数据标准化
添加了多个函数以根据 Bradesco API 的要求标准化数据
- 缺失的字段将插入其相应的默认值(手册第 19 页)。
null
值被替换为空字符串 ""。integer
或float
值被转换为字符串。- 包含特殊字符(如 "ção")的值被替换为基本字符(如 "cao")。
- 收款人姓名和地址的值被截断为最大字符数。
- 格式为 "yyyy-mm-dd" 或 "dd/mm/yyy" 的日期被标准化为 "dd.mm.yyyy"。
- 格式为 14.90 或 "14,90" 的货币被标准化为 "1490"。
- 格式为 "123.456.789-01" 的 CPF 和 CNPJ 号码被标准化为 "00012345678901"。
实现示例
error_reporting(E_ALL); ini_set('display_errors', 1); require __DIR__.'/vendor/autoload.php'; putenv('BRADESCO_SANDBOX=true'); putenv('BRADESCO_TIMEOUT=20'); putenv('BRADESCO_CERT_PATH=myCertificate.pfx'); putenv('BRADESCO_CERT_PASSWORD=myPassword'); use BradescoApi\Exceptions\BradescoApiException; use BradescoApi\Exceptions\BradescoRequestException; $data = [ "nuCPFCNPJ" => "123456789", "filialCPFCNPJ" => "0001", "ctrlCPFCNPJ" => "39", "idProduto" => "09", "nuNegociacao" => "123400000001234567", "nuCliente" => "123456", "dtEmissaoTitulo" => "25/05/2017", "dtVencimentoTitulo" => "2017-06-20", "vlNominalTitulo" => 100.00, "cdEspecieTitulo" => "04", "nomePagador" => "Cliente Teste", "logradouroPagador" => "Rua Teste", "nuLogradouroPagador" => "90", "complementoLogradouroPagador" => null, "cepPagador" => "12345", "complementoCepPagador" => "500", "bairroPagador" => "Bairro Teste", "municipioPagador" => "Cidade Teste", "ufPagador" => "SP", "nuCpfcnpjPagador" => "549.435.260-98", ]; try { $bankSlip = \BradescoApi\BankSlip::create($data); print_r($bankSlip); } catch (BradescoApiException $e) { // erros retornados pela API Bradesco echo sprintf("%s (%s)", $e->getMessage(), $e->getErrorCode()); } catch (BradescoRequestException $e) { // erros de servidor (erros HTTP 4xx e 5xx) eecho sprintf("%s (%s)", $e->getMessage(), $e->getErrorCode()); } catch (\Exception $e) { // demais erros echo $e->getMessage(); }
测试
如要贡献,请实现 PHPUnit 的单元测试。
为了执行
- 在项目根目录中复制 phpunit.xml.dist 到 phpunit.xml
- 更改 ENV 参数以使用您的访问数据
- 在项目文件夹中打开终端并执行以下命令
composer test