bacen / pix-api

API Pix: a API do Arranjo de Pagamentos Instantâneos Brasileiro, Pix, criado pelo Banco Central do Brasil.
https://bacen.github.io/pix-api
2.32k stars 262 forks source link

Quais são os campos do payload JSON de um QR Code dinâmico para cobrança com vencimento #172

Closed monise closed 3 years ago

monise commented 3 years ago

Olá!! Gostaria de tirar uma dúvida com relação ao payload JSON da versão "II_ManualdePadroesparaIniciacaodoPix-versao2-1.pdf".

Na página 15 contém o payload JSON de um pagamento com vencimento.

image

Na página 44 contém outro payload JSON de uma cobrança com vencimento.

image

Eles tem alguns campos diferentes, exemplo: o primeiro não tem informações de endereço do devedor, não tem detalhes de modalidade e valorPerc de multa, juros etc.

Olhando o payload JSON no Redoc da API Pix, ele tem as informações de endereço do devedor, mas não tem os detalhes de multa, juros (modalidade, valorPerc).

image

Qual é o correto? Eles devem ser usados em contextos diferentes?   Como deveria ser um payload JSON de um QR code dinâmico com vencimento?

cryptographix commented 3 years ago

@monise na 2.1, as informações sobre cálculo de juros/multa/etc não fazem parte do payload JSON, são para uso do PSP recebedor que deve calcular o valor real, conforme anexo III do manual de iniciação. O payload contém apenas os valores calculados para a pretensa data de pagamento (informada como parâmetro do GET {access-token}).

Quanto à obrigatoriedade, a resposta frequentemente vista neste github é "o repositório github / yaml" é a referência definitiva (o "single source of truth").

ninrod commented 3 years ago

@monise , para fins de implementação, conforme @SeanWykes pontuou, a API Pix é a "referência definitiva".

Qual é o correto? Eles devem ser usados em contextos diferentes?

@monise , os dois são corretos, utilizados em momentos diferentes.

O primeiro payload JSON é o retornado em GET /cobv/pixUrlAccessToken. Pode-se pensar como sendo o "resultado" da configuração da cobrança, "a saída da função". É o que o "pagador efetivamente enxerga".

O segundo payload é a "entrada da função". É a configuração da cobrança, realizada pelo usuário recebedor junto ao seu PSP recebedor. Isso o "pagador não enxerga". É o "setup" da cobrança.

monise commented 3 years ago

@SeanWykes @ninrod obrigada pelo retorno!!

@ninrod No caso do payload para o pagador, é necessário ter todos os dados do devedor, incluindo informações de endereço?

Porque no manual não tem os dados de endereço do devedor e no payload da API Pix tem mais informações sobre o devedor.

ninrod commented 3 years ago

@monise ,

@ninrod No caso do payload para o pagador, é necessário ter todos os dados do devedor, incluindo informações de endereço?

Porque no manual não tem os dados de endereço do devedor e no payload da API Pix tem mais informações sobre o devedor.

Tanto no manual, quanto na API (o manual apenas tenta perseguir a API traduzindo-a para uma linguagem mais próximo de negócio) temos dois payloads diferentes para tratar dois tipos de cobranças distintas: a cobrança "imediata" e a cobrança "com vencimento". As duas cobranças apresentam o campo "devedor".

A qual delas você se refere?

monise commented 3 years ago

@ninrod o payload de cobrança com vencimento. Porque a que está no documento (página 15) tem apenas nome e CPF/CNPJ do devedor, não tem as informações de endereço. Mas na API Pix, tem os dados de endereço do devedor.

ninrod commented 3 years ago

@ninrod o payload de cobrança com vencimento. Porque a que está no documento (página 15) tem apenas nome e CPF/CNPJ do devedor, não tem as informações de endereço. Mas na API Pix, tem os dados de endereço do devedor.

@monise , é um bug da API, o manual de iniciação está correto.

Vamos corrigir e liberar a 2.1.2.

ninrod commented 3 years ago

@monise , versão 2.1.1 no ar, obrigado pelo reporte .

monise commented 3 years ago

@ninrod Olá!! Duvida, foi removido os dados de endereço do devedor no payload Json, mas os dados de endereço devem ser informados quando é criado a cobrança com vencimento?

image

ninrod commented 3 years ago

Duvida, foi removido os dados de endereço do devedor no payload Json, mas os dados de endereço devem ser informados quando é criado a cobrança com vencimento?

Sim, para possibilitar o envio da cobrança por meios não eletrônicos. Ao mesmo tempo, não é uma info que o pagador precise conferir no momento do scan do QR Code.

monise commented 3 years ago

@ninrod Olá! Mais uma dúvida sobre o payload JSON de cobrança com vencimento.

No documento, no objeto calendário não é apresentado o campo validadeAposVencimento, porém no API Pix o campo é retornado.

Se a informação de validadeAposVencimento for informada, ela deve ser exibida no payload JSON?

image

image

ninrod commented 3 years ago

Olá @monise,

No documento, no objeto calendário não é apresentado o campo validadeAposVencimento, porém no API Pix o campo é retornado.

Trata-se de um bug no documento de Padrões para iniciação do pix versão 2.1 bem apontado @monise. Esse campo existe sim e sempre consta no payload porque se nada for informado, um valor default é assumido.