marquesjuniorpalmas/webservice-banco-brasil

完全集成巴西银行的收款系统

此包的规范存储库似乎已消失,因此已冻结此包。

1.0.5 2021-03-31 15:29 UTC

This package is not auto-updated.

Last update: 2022-03-15 12:09:54 UTC


README

查看EXAMPLE文件夹中的示例

用于简化与巴西银行收款系统集成的组件。

从2017年开始,巴西银行业推出了一个新的Boleto de Cobrança Registrada生成平台,旨在为整个社会提供更高的效率和安全性。

根据巴西联邦银行协会(Febraban)公布的信息,预计到2017年12月将全面完成实施。

巴西银行开发的解决方案基于Web Services,并使用OAuth 2.0协议进行请求的认证和授权。

提出的源代码是用PHP开发的,根据巴西银行提供的Web Service的规范进行开发。

开始... 使用此实现,您需要安装以下PHP库。

需求

为了使此包能够运行,需要以下PHP和其他包的要求。

  • PHP 7.x(推荐PHP 7.2)
  • ext-curl
  • ext-json
  • ext-xml

实例化类

//sandbox = HOMOLOGAÇÃO E production = PRODUÇÃO
$bb = new MarquesJunior\BancoBrasil\BancoBrasil('CLIENTID', 'CLIENTSECRET', 'DEVELOPERKEY', 'AMBIENTE');

生成Token

$token = $bb->getTokenAcess();

注册Boleto

$registro['numeroConvenio'] = '';
$registro['numeroCarteira'] = '17';
$registro['numeroVariacaoCarteira'] = '35';
$registro['codigoModalidade'] = '01'; //Identifica a característica dos boletos dentro das modalidades de cobrança existentes no banco. Domínio: 01 - SIMPLES; 04 - VINCULADA
$registro['dataEmissao'] = '30.03.2021'; //Data de emissão do boleto (formato "dd.mm.aaaaa").
$registro['dataVencimento'] = '31.03.2021'; //Data de vencimento do boleto (formato "dd.mm.aaaaa").
$registro['valorOriginal'] = '10'; //Valor de cobrança > 0.00, emitido em Real (formato decimal separado por "."). Valor do boleto no registro. Deve ser maior que a soma dos campos “VALOR DO DESCONTO DO TÍTULO” e “VALOR DO ABATIMENTO DO TÍTULO”, se informados. Informação não passível de alteração após a criação. No caso de emissão com valor equivocado, sugerimos cancelar e emitir novo boleto.
$registro['valorAbatimento'] = '0';
$registro['quantidadeDiasProtesto'] = '';
$registro['quantidadeDiasNegativacao'] = '';
$registro['orgaoNegativador'] = '';
$registro['indicadorAceiteTituloVencido'] = 'S';
$registro['numeroDiasLimiteRecebimento'] = '90';
$registro['codigoAceite'] = 'A';
$registro['codigoTipoTitulo'] = '2';
$registro['descricaoTipoTitulo'] = 'DUPLICATA MERCANTIL';
$registro['indicadorPermissaoRecebimentoParcial'] = 'N';
$registro['numeroTituloBeneficiario'] = '1';
$registro['campoUtilizacaoBeneficiario'] = 'UM TEXTO';
$registro['numeroTituloCliente'] = 'nossonumero';
$registro['mensagemBloquetoOcorrencia'] = '';
$registro['desconto']['tipo'] = '';
$registro['desconto']['dataExpiracao'] = '';
$registro['desconto']['porcentagem'] = '';
$registro['desconto']['valor'] = '';
$registro['segundoDesconto']['dataExpiracao'] = '';
$registro['segundoDesconto']['porcentagem'] = '';
$registro['segundoDesconto']['valor'] = '';
$registro['terceiroDesconto']['dataExpiracao'] = '';
$registro['terceiroDesconto']['porcentagem'] = '';
$registro['terceiroDesconto']['valor'] = '';
$registro['jurosMora']['tipo'] = '';
$registro['jurosMora']['porcentagem'] = '';
$registro['jurosMora']['valor'] = '';
$registro['multa']['tipo'] = '';
$registro['multa']['data'] = '';
$registro['multa']['porcentagem'] = '';
$registro['multa']['valor'] = '';
$registro['pagador']['tipoInscricao'] = '1';
$registro['pagador']['numeroInscricao'] = '';
$registro['pagador']['nome'] = '';
$registro['pagador']['endereco'] = '';
$registro['pagador']['cep'] = '';
$registro['pagador']['cidade'] = '';
$registro['pagador']['bairro'] = '';
$registro['pagador']['uf'] = '';
$registro['pagador']['telefone'] = '';
$registro['beneficiarioFinal']['tipoInscricao'] = '1';
$registro['beneficiarioFinal']['numeroInscricao'] = '';
$registro['beneficiarioFinal']['nome'] = '';
$registro['indicadorPix'] = 'S';

$registro_info = $bb->registerBoleto($registro);

查询Boleto

$id_boleto = 'nossonumero';
$numeroConvenio = '';
$read = $bb->readBoleto($id_boleto, $numeroConvenio);

编辑Boleto

$id_boleto = 'nossonumero';
$alter['numeroConvenio'] = '3128557';
$alter['indicadorNovaDataVencimento'] = 'S'; //Indica a intenção de atribuir nova data de vencimento ao boleto. Valores a informar: "S" -> Sim, desejo alterar "N" -> Não, não desejo alterar
$alter['alteracaoData']['novaDataVencimento'] = '01.04.2021'; //Data de vencimento do boleto (formato "dd.mm.aaaaa").
$alter['indicadorAtribuirDesconto'] = 'N'; //Indica a intenção de atribuir desconto ao boleto. Valores a informar: "S" -> Sim, desejo alterar "N" -> Não, não desejo alterar
$alter['desconto']['tipoPrimeiroDesconto'] = '';
$alter['desconto']['valorPrimeiroDesconto'] = '';
$alter['desconto']['percentualPrimeiroDesconto'] = '';
$alter['desconto']['dataPrimeiroDesconto'] = '';
$alter['desconto']['tipoSegundoDesconto'] = '';
$alter['desconto']['valorSegundoDesconto'] = '';
$alter['desconto']['percentualSegundoDesconto'] = '';
$alter['desconto']['dataSegundoDesconto'] = '';
$alter['desconto']['tipoTerceiroDesconto'] = '';
$alter['desconto']['valorTerceiroDesconto'] = '';
$alter['desconto']['percentualTerceiroDesconto'] = '';
$alter['desconto']['dataTerceiroDesconto'] = '';
$alter['indicadorAlterarDesconto'] = 'N';
$alter['alteracaoDesconto']['tipoPrimeiroDesconto'] = '';
$alter['alteracaoDesconto']['novoValorPrimeiroDesconto'] = '';
$alter['alteracaoDesconto']['novoPercentualPrimeiroDesconto'] = '';
$alter['alteracaoDesconto']['novaDataLimitePrimeiroDesconto'] = '';
$alter['alteracaoDesconto']['tipoSegundoDesconto'] = '';
$alter['alteracaoDesconto']['novoValorSegundoDesconto'] = '';
$alter['alteracaoDesconto']['novoPercentualSegundoDesconto'] = '';
$alter['alteracaoDesconto']['novaDataLimiteSegundoDesconto'] = '';
$alter['alteracaoDesconto']['tipoTerceiroDesconto'] = '';
$alter['alteracaoDesconto']['novoValorTerceiroDesconto'] = '';
$alter['alteracaoDesconto']['novoPercentualTerceiroDesconto'] = '';
$alter['alteracaoDesconto']['novaDataLimiteTerceiroDesconto'] = '';
$alter['indicadorAlterarDataDesconto'] = 'N';
$alter['alteracaoDataDesconto']['novaDataLimitePrimeiroDesconto'] = '';
$alter['alteracaoDataDesconto']['novaDataLimiteSegundoDesconto'] = '';
$alter['alteracaoDataDesconto']['novaDataLimiteTerceiroDesconto'] = '';
$alter['indicadorProtestar'] = 'N';
$alter['protesto']['quantidadeDiasProtesto'] = '';
$alter['indicadorSustacaoProtesto'] = 'N';
$alter['indicadorCancelarProtesto'] = 'N';
$alter['indicadorIncluirAbatimento'] = 'N';
$alter['abatimento']['valorAbatimento'] = '';
$alter['indicadorCancelarAbatimento'] = 'N';
$alter['alteracaoAbatimento']['novoValorAbatimento'] = '';
$alter['indicadorCobrarJuros'] = 'N';
$alter['juros']['tipoJuros'] = '';
$alter['juros']['valorJuros'] = '';
$alter['juros']['taxaJuros'] = '';
$alter['indicadorDispensarJuros'] = 'N';
$alter['indicadorCobrarMulta'] = 'N';
$alter['multa']['tipoMulta'] = '';
$alter['multa']['valorMulta'] = '';
$alter['multa']['dataInicioMulta'] = '';
$alter['multa']['taxaMulta'] = '';
$alter['indicadorDispensarMulta'] = 'N';
$alter['indicadorNegativar'] = 'N';
$alter['negativacao']['quantidadeDiasNegativacao'] = '';
$alter['negativacao']['tipoNegativacao'] = '';
$alter['indicadorAlterarSeuNumero'] = 'N';
$alter['alteracaoSeuNumero']['codigoSeuNumero'] = '';
$alter['indicadorAlterarEnderecoPagador'] = 'N';
$alter['alteracaoEndereco']['enderecoPagador'] = '';
$alter['alteracaoEndereco']['bairroPagador'] = '';
$alter['alteracaoEndereco']['cidadePagador'] = '';
$alter['alteracaoEndereco']['UFPagador'] = '';
$alter['alteracaoEndereco']['CEPPagador'] = '';
$alter['indicadorAlterarPrazoBoletoVencido'] = 'N';
$alter['alteracaoPrazo']['quantidadeDiasAceite'] = '';

$update = $bb->alterBoleto($id_boleto, $alter);

下载/取消Boleto

$baixar['numeroConvenio'] = 'convenio';
$id_boleto = 'nossonumero';
$down = $bb->baixaBoleto($id_boleto, $baixar);