O cliente PHP para API do Banco Inter fornece acesso fácil à API do Banco Inter por aplicações escritas na linguagem PHP.
PHP 7.4.0 ou superior.
Você pode instalar o pacote via Composer. Execute o seguinte comando:
composer require potelo/inter-php
Ou simplesmente adicione-o às dependências do seu composer.json e execute composer update
:
"require": {
"potelo/inter-php": "dev-main"
}
Para usar o cliente, use o autoload do Composer:
require_once 'vendor/autoload.php';
A biblioteca requer as seguintes extensões para funcionar corretamente:
Se você usar o Composer, essas dependências devem ser resolvidas automaticamente. Se você instalar manualmente, certifique-se de que essas extensões estejam disponíveis.
Autenticação doc
$chavePrivada = 'sua-chave-privada.key';
$certificado = 'seu-certificado.crt';
$clientId = 'seu-client-id';
$clientSecret = 'seu-client-secret';
$client = new \Potelo\InterPhp\InterClient($chavePrivada, $certificado, $clientId, $clientSecret);
$escopos = ['cob.read'];
$client->authorize($escopos);
Você pode obter um novo token com novos escopos usando a mesma instância do cliente:
$escopos = ['cob.read', 'cob.write', 'pix.read', 'pix.write'];
$client->authorize($escopos);
get
doc
Consultar um boleto.
$boleto = $client->bankSlipApi()->get('nosso-numero-do-boleto');
print_r($boleto);
getPdf
doc
Consultar PDF de um boleto.
$boleto = $client->bankSlipApi()->getPdf('nosso-numero-do-boleto');
print_r($boleto);
create
doc
Emitir um boleto.
$seuNumero = "seu-numero";
$dataVencimento = new \DateTime('2023-03-31');
$pagador = new Payer("cpf number", "FISICA", "Payer Name", "Address", "Salvador", "BA", "41000000");
$boleto = $this->client->bankSlipApi()->create($seuNumero, 10.90, $dataVencimento, 0, $pagador);
print_r($pagador);
list
doc
Consultar uma lista de boletos por um período específico.
$inicio = new \DateTime('2023-03-31');
$fim = new \DateTime('2023-03-31');
$boleto = $this->client->bankSlipApi()->list($inicio, $fim);
print_r($boleto);
Você pode passar um array de filtros para o método list
.
$inicio = new \DateTime('2023-03-31');
$fim = new \DateTime('2023-03-31');
$filtros = [
'filtrarDataPor' => 'VENCIMENTO',
];
$boletos = $this->client->bankSlipApi()->list($inicio, $fim, $filtros);
print_r($boletos);
summary
doc
Consultar um sumário de uma lista de boletos.
$inicio = new \DateTime('2023-03-31');
$fim = new \DateTime('2023-03-31');
$sumario = $this->client->bankSlipApi()->summary($inicio, $fim);
print_r($sumario);
cancel
doc
Cancelar um boleto.
$motivoCancelamento = "APEDIDODOCLIENTE";
$this->client->bankSlipApi()->cancel('nosso-numero-do-boleto', $motivoCancelamento);
get
doc
Consultar uma Cobrança Imediata por id de transação.
$cobrancaImediata = $client->immediateChargeApi()->get('txid');
print_r($cobrancaImediata);
create
doc
Criar uma Cobrança Imediata.
$valor = 12.50;
$chavePix = 'sua-chave-pix';
$expiracao = 3600; // em segundos
$dados = [
"devedor" => [
"cpf" => "01234567891",
"nome" => "John Doe"
],
"loc" => [
"tipoCob" => "cob"
],
"solicitacaoPagador" => " ",
"infoAdicionais" => [
[
"nome" => "Product",
"valor" => "cool pajamas"
]
]
];
$cobrancaImediata = $client->immediateChargeApi()->create($chavePix, $valor, $expiracao, $dados);
print_r($cobrancaImediata);
createAs
doc
Criar uma Cobrança Imediata especificando um ID de transação único.
$txId = 'seu-id-de-transacao-unico';
$valor = 12.44;
$chavePix = 'suav-chave-pix';
$expiracao = 3600; // em segundos
$dados = [
"devedor" => [
"cpf" => "01234567891",
"nome" => "John Doe"
],
"loc" => [
"tipoCob" => "cob"
],
"solicitacaoPagador" => " ",
"infoAdicionais" => [
[
"nome" => "Product",
"valor" => "cool pajamas"
]
]
];
$cobrancaImediata = $client->immediateChargeApi()->createAs($txId, $chavePix, $valor, $expiracao, $dados);
print_r($cobrancaImediata);
update
doc
Revisar uma Cobrança Imediata.
$dados = [
"valor" => 22.50
];
$cobrancaImediata = $client->immediateChargeApi()->update('cobranca-imediata-txid', $dados);
print_r($cobrancaImediata);
list
doc
Consultar uma lista de Cobranças Imediatas por um período específico.
$inicio = new \DateTime('2023-03-01T00:00:00-03:00');
$fim = new \DateTime('2023-03-23T23:59:00-03:00');
$cobrancasImediatas = $client->immediateChargeApi()->list($inicio, $fim);
print_r($cobrancasImediatas);
Você pode passar um array de filtros para o método list
.
$inicio = new \DateTime('2023-03-01T00:00:00-03:00');
$fim = new \DateTime('2023-03-23T23:59:00-03:00');
$filtros = [
'cpf' => '01234567891',
];
$cobrancasImediatas = $client->immediateChargeApi()->list($inicio, $fim, $filtros);
print_r($cobrancasImediatas);
get
doc
Consultar um Pix por ID de transação.
$pix = $client->pixApi()->get('pix-endToEndId');
print_r($pix);
list
doc
Consultar uma lista de Pix por um período específico.
$inicio = new \DateTime('2023-03-01T00:00:00-03:00');
$fim = new \DateTime('2023-03-23T23:59:00-03:00');
$listaDePix = $client->immediateChargeApi()->list($inicio, $fim);
print_r($listaDePix);
returnPix
doc
Solicitar devolução de um Pix.
$id = 'seu-id-unico';
$amountToReturn = 12.44;
$pix = $client->pixApi()->returnPix('pix-endToEndId', $id, $amountToReturn);
print_r($pix);
getReturnPix
doc
Consultar devolução de um Pix.
$id = 'your-unique-id';
$pix = $client->pixApi()->getReturnPix('pix-endToEndId', $id);
print_r($pix);
A documentação da API do Banco Inter pode ser encontrada aqui.