rlucasfm/bradesco-online

SDK PHP 用于 Bradesco 在线汇票记录,基于其提供的 API

1.2 2021-06-16 18:07 UTC

This package is auto-updated.

Last update: 2024-09-17 01:13:24 UTC


README

SDK PHP 用于 Bradesco 在线汇票记录,基于其提供的 API。

要求

  • PHP >= 7.3

安装

通过 Composer

composer require rlucasfm/bradesco-online

参数

如何使用

  1. 可以在 "vendor/rlucasfm/bradesco-online/src" 目录下的 Config.php 文件中定义参数
define('ENDPOINT', 'https://cobranca.bradesconetempresa.b.br/ibpjregistrotitulows/registrotitulohomologacao');  
define('CERT_PATH', 'nomedoarquivocertificado.pfx');
define('CERT_PASS', '123456');
define('TIMEOUT', 30);  
define('CACERTPATH', "C:\wamp64\bin\php\php7.4.9\\extras\ssl\cacert.pem");
  1. 创建一个包含信息的 array,根据 Bradesco 的文档进行配置
$data = [
    "nuCPFCNPJ" => "123456789",
    "filialCPFCNPJ" => "0001",
    "ctrlCPFCNPJ" => "39",
    "cdTipoAcesso" => "2",
    "clubBanco" => "0",
    "cdTipoContrato" => "0",
    "nuSequenciaContrato" => "0",
    "idProduto" => "09",
    "nuNegociacao" => "123400000001234567",
    "cdBanco" => "237",
    "eNuSequenciaContrato" => "0",
    "tpRegistro" => "1",
    "cdProduto" => "0",
    "nuTitulo" => "0",
    "nuCliente" => "123456",
    "dtEmissaoTitulo" => "25.05.2017",
    "dtVencimentoTitulo" => "20.06.2017",
    "tpVencimento" => "0",
    "vlNominalTitulo" => "100",
    "cdEspecieTitulo" => "04",
    "tpProtestoAutomaticoNegativacao" => "0",
    "prazoProtestoAutomaticoNegativacao" => "0",
    "controleParticipante" => "",
    "cdPagamentoParcial" => "",
    "qtdePagamentoParcial" => "0",
    "percentualJuros" => "0",
    "vlJuros" => "0",
    "qtdeDiasJuros" => "0",
    "percentualMulta" => "0",
    "vlMulta" => "0",
    "qtdeDiasMulta" => "0",
    "percentualDesconto1" => "0",
    "vlDesconto1" => "0",
    "dataLimiteDesconto1" => "",
    "percentualDesconto2" => "0",
    "vlDesconto2" => "0",
    "dataLimiteDesconto2" => "",
    "percentualDesconto3" => "0",
    "vlDesconto3" => "0",
    "dataLimiteDesconto3" => "",
    "prazoBonificacao" => "0",
    "percentualBonificacao" => "0",
    "vlBonificacao" => "0",
    "dtLimiteBonificacao" => "",
    "vlAbatimento" => "0",
    "vlIOF" => "0",
    "nomePagador" => "Cliente Teste",
    "logradouroPagador" => "rua Teste",
    "nuLogradouroPagador" => "90",
    "complementoLogradouroPagador" => "",
    "cepPagador" => "12345",
    "complementoCepPagador" => "500",
    "bairroPagador" => "bairro Teste",
    "municipioPagador" => "Teste",
    "ufPagador" => "SP",
    "cdIndCpfcnpjPagador" => "1",
    "nuCpfcnpjPagador" => "12345648901234",
    "endEletronicoPagador" => "",
    "nomeSacadorAvalista" => "",
    "logradouroSacadorAvalista" => "",
    "nuLogradouroSacadorAvalista" => "0",
    "complementoLogradouroSacadorAvalista" => "",
    "cepSacadorAvalista" => "0",
    "complementoCepSacadorAvalista" => "0",
    "bairroSacadorAvalista" => "",            
    "municipioSacadorAvalista" => "",
    "ufSacadorAvalista" => "",
    "cdIndCpfcnpjSacadorAvalista" => "0",
    "nuCpfcnpjSacadorAvalista" => "0",
    "endEletronicoSacadorAvalista" => ""
];
  1. 然后,在项目中通过传递包含信息的 array 实例化包
use BradescoOnline\BradescoClient;
$api = new BradescoClient($data);
  1. 使用以下函数进行请求
$response = $api->send_request();

$response 变量是一个 GuzzleHTTP 的 Response 对象。要访问响应体,请使用

$response->getBody();

实现示例

require 'vendor/autoload.php';

use BradescoOnline\BradescoClient;

$data = [
    "nuCPFCNPJ" => "123456789",
    "filialCPFCNPJ" => "0001",
    "ctrlCPFCNPJ" => "39",
    "cdTipoAcesso" => "2",
    "clubBanco" => "0",
    "cdTipoContrato" => "0",
    "nuSequenciaContrato" => "0",
    "idProduto" => "09",
    "nuNegociacao" => "123400000001234567",
    "cdBanco" => "237",
    "eNuSequenciaContrato" => "0",
    "tpRegistro" => "1",
    "cdProduto" => "0",
    "nuTitulo" => "0",
    "nuCliente" => "123456",
    "dtEmissaoTitulo" => "25.05.2017",
    "dtVencimentoTitulo" => "20.06.2017",
    "tpVencimento" => "0",
    "vlNominalTitulo" => "100",
    "cdEspecieTitulo" => "04",
    "tpProtestoAutomaticoNegativacao" => "0",
    "prazoProtestoAutomaticoNegativacao" => "0",
    "controleParticipante" => "",
    "cdPagamentoParcial" => "",
    "qtdePagamentoParcial" => "0",
    "percentualJuros" => "0",
    "vlJuros" => "0",
    "qtdeDiasJuros" => "0",
    "percentualMulta" => "0",
    "vlMulta" => "0",
    "qtdeDiasMulta" => "0",
    "percentualDesconto1" => "0",
    "vlDesconto1" => "0",
    "dataLimiteDesconto1" => "",
    "percentualDesconto2" => "0",
    "vlDesconto2" => "0",
    "dataLimiteDesconto2" => "",
    "percentualDesconto3" => "0",
    "vlDesconto3" => "0",
    "dataLimiteDesconto3" => "",
    "prazoBonificacao" => "0",
    "percentualBonificacao" => "0",
    "vlBonificacao" => "0",
    "dtLimiteBonificacao" => "",
    "vlAbatimento" => "0",
    "vlIOF" => "0",
    "nomePagador" => "Cliente Teste",
    "logradouroPagador" => "rua Teste",
    "nuLogradouroPagador" => "90",
    "complementoLogradouroPagador" => "",
    "cepPagador" => "12345",
    "complementoCepPagador" => "500",
    "bairroPagador" => "bairro Teste",
    "municipioPagador" => "Teste",
    "ufPagador" => "SP",
    "cdIndCpfcnpjPagador" => "1",
    "nuCpfcnpjPagador" => "12345648901234",
    "endEletronicoPagador" => "",
    "nomeSacadorAvalista" => "",
    "logradouroSacadorAvalista" => "",
    "nuLogradouroSacadorAvalista" => "0",
    "complementoLogradouroSacadorAvalista" => "",
    "cepSacadorAvalista" => "0",
    "complementoCepSacadorAvalista" => "0",
    "bairroSacadorAvalista" => "",            
    "municipioSacadorAvalista" => "",
    "ufSacadorAvalista" => "",
    "cdIndCpfcnpjSacadorAvalista" => "0",
    "nuCpfcnpjSacadorAvalista" => "0",
    "endEletronicoSacadorAvalista" => ""
];

$api = new BradescoClient($data);
$response = $api->send_request();

echo $response->getBody();