Fluxo de envio de Pix

A transação de pagamento, assim que confirmada pelo cliente pagador, é realizada em quatro etapas: a primeira em uma comunicação partindo do participante indireto para o liquidante, duas de comunicação entre o liquidante e o SPI, e a última é a notificação do liquidante para o indireto com o resultado da operação, que poderá ser de efetivação, não efetivação por alguma regra de negócio ou mesmo a de alguma falha operacional.

Por essa razão, jamais o participante, direto ou indireto, poderá interpretar que a entrega para a próxima instância significa transferência realizada; é preciso aguardar o final do ciclo de pagamento para ter certeza.

Iniciação de pagamentos

A iniciação de pagamentos consiste na etapa de (OUT1) preparar as informações e disponibilizá-las para que o usuário final possa, a partir de suas análises, confirmar sua operação de envio do pagamento. A execução desta etapa cria o registro que, após confirmado (OUT3), será efetivamente encaminhado para o SPI.

A iniciação pode se dar de quatro maneiras distintas:

Iniciação por Chave DICT

Ao iniciar um pagamento por Chave DICT, deverá ser seguido o seguinte fluxo:

  1. DICT A - Consultar o DICT Interno.
    1. Se a chave Pix for encontrada no DICT Interno significa que o destinatário é correntista da própria instituição. Neste caso, o participante deve fazer uma liquidação interna (OUT5), ou seja, debitar e creditar as contas em seu próprio sistema, não encaminhando a liquidação para o liquidante, notificando, em seguida, seus clientes (OUT13, IN9), e finalizando o fluxo;
    2. Se a chave não for encontrada no DICT Interno, pesquisá-la no DICT B (liquidante), e dar segmento ao fluxo;

⚠️

Importante:

Liquidações internas deverão ser reportadas ao BACEN através do arquivo 1201, discutido adiante neste mesmo material;

  1. DICT B - Consultar o DICT liquidante
    1. Se a chave não for encontrada no DICT liquidante, dar ciência ao usuário pagador e finalizar o fluxo, antes da etapa de confirmação;
    2. Se a chave for encontrada do DICT liquidante, retornar as informações do destinatário (conforme manual de experiência do usuário Pix – BACEN). A partir deste momento já é possível realizar a CONFIRMAÇÃO DO PAGAMENTO.

⚠️

Importante:

É neste momento que ocorre a primeira atuação do mecanismo de prevenção à varredura de chaves DICT do BACEN, com retirada de fichas do Bucket do participante, sendo 1 ficha para chave encontrada no DICT e 3 fichas para chave não encontrada.

É imprescindível que o participante indireto faça o controle do seu próprio Bucket de fichas afim de evitar erros de rate limit.

Consultar o Manual Operacional do DICT para acompanhar as regulamentações do BACEN referente a este tema https://www.bcb.gov.br/estabilidadefinanceira/pix?modalAberto=regulamentacao_pix.

Solicitamos os campos abaixo na iniciação por chave Pix:

CampoDescriçãoFormatoObrigatório
pagadorDados do pagador (banco, agência, conta, documento)objectNão
chaveValor e tipo da Chave DICT do recebedor, conforme tabela Tipos de chavesobjectNão
openFinanceSe a iniciação estiver partindo de uma ITP (iniciadora de pagamentos no âmbito do Open Finance) informar aqui o identificador da transação Pix e CNPJ do iniciador de pagamentoobjectNão
campoLivreMensagem destinada ao recebedorstringNão
dataAgendamentoData do agendamento da transação, em caso de agendamentodateNão

Resposta:

CampoDescriçãoFormatoNullable
pagamentoIdIdentificador do pagamento gerado pelo Banco BS2stringNão
endToEndIdIdentificador único da transaçãostringSim
criadoEmUtcData de criação da transaçãodate-timeNão
statusStatus da transação de pagamento, conforme tabela Status do pagamentostringNão
pagadorDados do pagador (banco, agência, conta, documento)objectNão
recebedorDados do recebedor (banco, agência, conta, documento)objectNão

Iniciação de pagamento por chave Pix

Iniciação por dados bancários

A iniciação do pagamento por dados bancários (OUT1), é uma operação análoga ao envio de TED e consiste, basicamente, em informar BANCO, AGÊNCIA, TIPO DE CONTA, NÚMERO DA CONTA e DOCUMENTO do destinatário.

Recomendamos que o participante realize as consistências de Banco e Agência, a partir de algum cadastro local ou serviço para tal finalidade, e realize também a validação do número do documento (CPF ou CNPJ). Tudo validado, apresentar para o usuário pagador e aguardar pela CONFIRMAÇÃO DO PAGAMENTO.

⚠️

Importante:

Em tempo de iniciação não há como validar se a conta do destinatário é existente, ou se o tipo de conta ou mesmo o número documento do destinatário estão conforme informados neste momento. Esses dados serão validados, após a confirmação, pela instituição recebedora.

Solicitamos os campos:

CampoDescriçãoFormatoObrigatório
pagadorDados do pagador do Pix (banco, agência, conta, documento)objectSim
recebedorDados do recebedor do Pix (banco, agência, conta, documento)objectSim
openFinanceSe a iniciação estiver partindo de uma ITP (iniciadora de pagamentos no âmbito do Open Finance) informar aqui a identificador da transação Pix e CNPJ do iniciador de pagamentoobjectSim
campoLivreMensagem destinada ao recebedorstringNão
dataAgendamentoData do agendamento da transação, em caso de agendamentodateSim

Resposta:

CampoDescriçãoFormatoNullable
pagamentoIdIdentificador do pagamento gerado pelo Banco BS2stringNão
endToEndIdIdentificador único da transaçãostringSim
criadoEmUtcData de criação da transaçãodate-timeNão
statusStatus da transação de pagamento, conforme tabela Status do pagamentostringNão
pagadorDados do pagador do Pix (banco, agência, conta, documento)objectNão
recebedorDados do recebedor do Pix (banco, agência, conta, documento)objectNão

Iniciação de pagamento por dados manuais

Iniciação por leitura de QR CODE ou por código 'copia e cola'

A leitura de um QR CODE, quando realizada pelo aplicativo da instituição ou mesmo por algum dispositivo para esta finalidade, tem como retorno uma sequência de caracteres, a qual chamaremos aqui de CÓDIGO DO QR-CODE. Uma vez obtido esse código, pode-se partir para a iniciação.

O procedimento Copia e Cola do QR CODE pressupõe que esse código já seja conhecido, sendo dispensável então a etapa de leitura, permitindo que se realize a etapa de iniciação.

Iniciação por QR CODE

Na chamada da iniciação por QR CODE estático ou dinâmico solicitamos os campos:

CampoDescriçãoFormatoObrigatório
pagadorDados do pagador (banco, agência, conta, documento)objectSim
openFinanceSe a iniciação estiver partindo de uma ITP (iniciadora de pagamentos no âmbito do Open Finance) informar aqui a identificador da transação Pix e CNPJ do iniciador de pagamentoobjectSim
qrcodeCódigo do QR CODE com informações da cobrançastringNão
transactionIdCódigo informado pelo cliente no momento da geração do QR CODE e que será usado pelo mesmo para identificar o pagamentostringNão
campoLivreMensagem destinada ao recebedorstringNão
dataAgendamentoData do agendamento da transação, em caso de agendamentodateNão

Resposta:

CampoDescriçãoFormatoNullable
pagamentoIdIdentificador do pagamento gerado pelo Banco BS2stringNão
endToEndIdIdentificador da transaçãostringSim
criadoEmData de criação do pagamentodate-timeNão
situacaoStatus da transação de pagamento, conforme tabela Status do pagamentostringNão
pagadorDados do pagador (banco, agência, conta, documento)objectNão
recebedorDados do recebedor (banco, agência, conta, documento)objectNão
qrCodeDados da cobrança do QR CODE (valor, chave Pix, descrição, etc.)objectNão

Iniciação de pagamento por QRCode

Consulta a pagamentos

A partir das funcionalidades abaixo, possibilitamos consultar pagamentos utilizando o endToEnd ou identificador do pagamento.

Consulta de pagamento por Id ou EndToEndId

Nessa funcionalidade retornamos um pagamento a partir de um endToEndId ou Id de pagamento informado.

Solicitamos os campos:

CampoDescriçãoFormatoObrigatório
IdIdentificador do pagamento gerado pelo Banco BS2stringSim, caso o EndToEndId não tenha sido informado
EndToEndIdIdentificador da transaçãostringSim, caso o Id não tenha sido informado

Resposta:

CampoDescriçãoFormatoNullable
IdIdentificador do pagamento gerado pelo Banco BS2stringNão
endToEndIdIdentificador da transaçãostringSim
transactionIdIdentificador da cobrança, quando iniciado por QR CODEstringSim
solicitadoEmUtcData e hora em que o pagamento foi solicitado pelo pagadordate-timeNão
enviadoEmUtcData e hora de envio do pagamento para liquidaçãodate-timeSim
valorValor da transaçãodoubleSim
descricaoPagamentoMensagem destinada ao recebedorstringSim
tipoPagamentoTipo de iniciação do pagamento, conforme tabela Tipos de pagamentostringNão
chaveValor da Chave DICT do recebedorstringSim
qrCodeCódigo copia e cola do QR CODEstringSim
statusStatus da transação de pagamento, conforme tabela Status do pagamentostringNão
finalidadeFinalidade da transação, conforme tabela Finalidade da transaçãostringNão
prioridadePrioridade de envio da transação, conforme tabela Prioridade transaçãostringNão
tipoPrioridadeTipo de prioridade da transação, conforme tabela conforme tabela Tipo PrioridadestringSim
valorSaqueOuTrocoValor do saque ou troco quando se tratar de Pix Saque e Pix TrocodoubleSim
ispbFacilitadorServicoSaqueOuTrocoCódigo do banco facilitado do serviço, em caso de transação de Pix Saque e TrocostringSim
modalidadeAgenteModalidade do agente de saque em caso de transação de Pix Saque e Troco, conforme tabela Modalidade do AgentestringNão
cnpjIniciadorDocumento CNPJ do iniciador de pagamentostringSim
pagadorDados do pagador (banco, agência, conta, documento)objectNão
recebedorDados do recebedor (banco, agência, conta, documento)objectNão
cobrancaDados da cobrança (id, pagador, data de validade, valor, chave etc.)objectNão
restituicoesApresenta as restituições vinculadas ao pagamento, caso houverarraySim
motivoRejeicaoCódigo e descrição do motivo da rejeição da transação que foi informado pelo BACEN na PACS002, se o pagamento tiver sido rejeitadoobjectNão
agendamentoDados do agendamento da transação de pagamento, caso houverobjectNão
erroEmUtcEm caso de erro na transação, apresenta a data e hora em que ocorreudate-timeSim
erroDescricaoEm caso de erro na transação, apresenta a descrição da falhastringSim

Obter pagamento

Cancelamento de pagamentos

Nesta funcionalidade possibilitamos o cancelamento de uma transação de pagamento que ainda não foi confirmada.

Solicitamos os campos:

CampoDescriçãoFormatoObrigatório
pagamentoIdIdentificador do pagamento gerado pelo Banco BS2stringSim
motivoDescrição do motivo do cancelamentostringNão

Resposta:

CampoDescriçãoFormatoNullable
pagamentoIdIdentificador do pagamentostringNão
canceladoEmUtcData e hora do cancelamentodate-timeNão

Cancelamento de uma iniciação de pagamento