tbizze / api_extrato_bancario

Projeto para testar requisições a APIs de bancos para obter extrato e saldos.
0 stars 0 forks source link

Integração PagBank #15

Closed tbizze closed 2 weeks ago

tbizze commented 3 weeks ago

A integração é feita mediante a API EDI do PagBank. O servido de EDI (Electronic Data Interchange) também chamado de intercâmbio eletrônico de dados, é usado para enviar extratos eletrônicos para que os clientes possam conciliar suas vendas e pagamentos.

Requisitos

NOTAS: Para obter as credenciais, abrir chamado de solicitação de Token através do Portal Pipefy. Existe um prazo de 2 dias úteis para processamento.

Passo a passo:

tbizze commented 3 weeks ago

Consultar movimentos

Fonte A finalidade da API é disponibilizar os dados do Extrato EDI no formato JSON,. É importante ressaltar que as informações fornecidas pela API não são em tempo real, embora possam ser consultadas no mesmo dia. O compromisso do PagBank é fornecer essas informações no dia seguinte, ou seja, o acesso sempre se refere ao dia anterior (hoje acessa as informações de ontem).

Endpoint: https://edi.api.pagseguro.com.br/edi/v1/{ediVersion}/movimentos

Parâmetros: ?dataMovimento=2024-08-27&pageNumber=1&pageSize=10&tipoMovimento=2

tipoMovimento / string Define o tipo de movimentação que será retornado. Você pode escolher entre três opções: 1: Transacional 2: Financeiro 3: Antecipação

pageSize / int32 Define a quantidade de elementos na página, que por padrão o limite é 1000.

tbizze commented 2 weeks ago

Requisições:

Guida para Requisições

Ela é de caráter simples, se dá através das credenciais formadas por 2 informações USER (nº do estabelecimento) + TOKEN. Esses dados são fornecidos pelo Portal Pipefy.

Então deve ser montado uma string => USER :TOKEN. E essa string deve ser criptografada.

$credentials = base64_encode("$this->clientId:$this->token");

'headers' => [
    'Authorization'     => "Basic $credentials",
],

NOTAS: Para segurança, o ClientId e o Token estão numa variável de ambiente, dentro do .Env. E são recuperados através da variável $this->client_id, no constructor().