vitorccs / bradesco-api-php

SDK PHP para a API de Registro On-line de Boletos de Cobrança Bradesco
GNU General Public License v3.0
40 stars 24 forks source link

Erro ao tentar executar no XAMPP #18

Closed danilolr closed 3 years ago

danilolr commented 3 years ago

Ao executar um teste simples com o PHP eu obtenho o seguinte erro no browser :

Warning: openssl_pkcs7_sign(): error opening input file jsonFile6027d02189c8c6.31574788! in C:\xampp\htdocs\boleto\src\Http\Api.php on line 121

Warning: file_get_contents(signedFile6027d02189c929.71871136): failed to open stream: No such file or directory in C:\xampp\htdocs\boleto\src\Http\Api.php on line 124

Notice: Undefined offset: 1 in C:\xampp\htdocs\boleto\src\Http\Api.php on line 127

Warning: unlink(signedFile6027d02189c929.71871136): No such file or directory in C:\xampp\htdocs\boleto\src\Http\Api.php on line 130
Erro Certificado / Formatacao dos campos da mensagem invalida [0x00d30003] (810)
<html>
 <head>
  <title>Teste Boleto</title>
 </head>
 <body>
 <?php 
use BradescoApi\Exceptions\BradescoApiException;
use BradescoApi\Exceptions\BradescoRequestException;

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=C:\Users\Win10\certificado\certificado.pfx');
putenv('BRADESCO_CERT_PASSWORD=123456');

$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)
    echo sprintf("%s (%s)", $e->getMessage(), $e->getErrorCode());
} catch (\Exception $e) { // demais erros
    echo $e->getMessage();
}
?>
 </body>
</html>
vitorccs commented 3 years ago

@danilolr a mensagem de erro diz que ele não consegiu encontrar ou ler o seu arquivo de certificado, que se encontra em C:\Users\Win10\certificado\certificado.pfx quando o seu projeto PHP está em C:\xampp\htdocs\boleto\. Ele deveria estar na pasta do projeto, onde o seu servidor Apache tem permissão para ler o arquivo. Acredito que o Apache não tem permissão para ler e navegar sobre um diretório externo ao htdocs.