Skip to content

Latest commit

 

History

History
324 lines (222 loc) · 7.89 KB

README.pt-br.md

File metadata and controls

324 lines (222 loc) · 7.89 KB

Cliente PHP para API do Banco Inter

O cliente PHP para API do Banco Inter fornece acesso fácil à API do Banco Inter por aplicações escritas na linguagem PHP.

Outros idiomas

en pt-br

Requisitos

PHP 7.4.0 ou superior.

Composer

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';

Dependências

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.

Usage

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);

Boleto Api Cobrança

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);

Outros filtros

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);

Cobrança Imediata API Pix

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);

Outros filtros

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);

Pix API Pix

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);

Documentação da API

A documentação da API do Banco Inter pode ser encontrada aqui.