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.36k stars 268 forks source link

Calendário Expiração x Calendário Data de Vencimento #123

Open llatsch opened 4 years ago

llatsch commented 4 years ago

Pelo contrato da API, no momento da geração de uma cobrança /Cob, entendemos que podemos usar ou a data de expiração ou a data de vencimento, nunca as duas ao mesmo tempo. Dado que estamos falando de conceitos diferentes, faz sentido eu ter que usar ou uma ou outra?

ninrod commented 4 years ago

@llatsch , apenas ressaltando que estamos falando de um release candidate, pode mudar.

Dito isto,

Dado que estamos falando de conceitos diferentes, faz sentido eu ter que usar ou uma ou outra?

Você tem que escolher usar a "cobrança online" ou a "cobrança com vencimento". É um ou outro, nunca nenhum e nunca os dois.

felipedelima19 commented 4 years ago

@llatsch , apenas ressaltando que estamos falando de um release candidate, pode mudar.

Dito isto,

Dado que estamos falando de conceitos diferentes, faz sentido eu ter que usar ou uma ou outra?

Você tem que escolher usar a "cobrança online" ou a "cobrança com vencimento". É um ou outro, nunca nenhum e nunca os dois.

@ninrod meu entendimento sobre expiração e vencimento é um pouco diferente.

Data de Vencimento: data limite do pagamento, sem acréscimo de juros e multa. Ou seja, após essa data, a cobrança ESTA APTA para pagamento, contudo, o valor final será incorrido de juros e multa referente ao atraso.

Data de Expiração: data limite do pagamento. Ou seja, após a data de expiração, essa cobrança NÃO ESTÁ APTA para o pagamento.

Com esse entendimento, penso que não faz muito sentido ser um ou outro, sacou?

Inclusive essa diferença entre vencimento e expiração já acontece no caso de Boletos.

ninrod commented 4 years ago

Data de Vencimento: data limite do pagamento, sem acréscimo de juros e multa. Ou seja, após essa data, a cobrança ESTA APTA para pagamento, contudo, o valor final será incorrido de juros e multa referente ao atraso.

Chega perto, mas não é o cenário completo. Existe o validadeApósVencimento, granularidade de dias, que representa dias corridos depois da data de vencimento durante os quais a cobrança poderia ser paga (com multa e juros, se aplicável).

Data de Expiração: data limite do pagamento. Ou seja, após a data de expiração, essa cobrança NÃO ESTÁ APTA para o pagamento.

expiração tem granularidade de segundos então é para aplicação em cenários online: compra de uma passagem de avião, por ex. Se não for paga a passagem, você libera o assento, ou libera a mercadoria do travamento no estoque.

felipedelima19 commented 4 years ago

Data de Vencimento: data limite do pagamento, sem acréscimo de juros e multa. Ou seja, após essa data, a cobrança ESTA APTA para pagamento, contudo, o valor final será incorrido de juros e multa referente ao atraso.

Chega perto, mas não é o cenário completo. Existe o validadeApósVencimento, granularidade de dias, que representa dias corridos depois da data de vencimento durante os quais a cobrança poderia ser paga (com multa e juros, se aplicável).

Data de Expiração: data limite do pagamento. Ou seja, após a data de expiração, essa cobrança NÃO ESTÁ APTA para o pagamento.

expiração tem granularidade de segundos então é para aplicação em cenários online: compra de uma passagem de avião, por ex. Se não for paga a passagem, você libera o assento, ou libera a mercadoria do travamento no estoque.

Entendi.

Faz sentido, só confundi mesmo por traçar esse paralelo com o boleto.

Uma dúvida, como ficaria o cenário da data de expiração onde o PSP Pagador não envie a PACS008 imediatamente ao PSP Recebedor (analise de risco)?

P.S.: Inclusive essa é uma dúvida bem grande que tenho, pois alguns cenários de e-commerces ficariam descobertos.

ninrod commented 4 years ago

@felipedelima19 ,

Uma dúvida, como ficaria o cenário da data de expiração onde o PSP Pagador não envie a PACS008 imediatamente ao PSP Recebedor (analise de risco)?

A pergunta é muito boa.

Foge um pouco do tema central deste repo, entrando em questões de liquidação, mas como toca também em aspectos de iniciação, esta seria a minha análise:

Entendo que o usuário pagador apertou o botão confirmar e o PSP pagador está apenas represando a PACS.008 enquanto a análise é realizada. A partir daí, depende de como o PSP pagador e o recebedor se comportarão tendo em vista o parâmetro expiração:

  1. O PSP pagador realizará a análise, mas ele sabe que tem expiracao - X segundos para fazê-lo sob pena de ter a PACS.008 rejeitada pelo PSP recebedor ("rejeição por violação dos parâmetros da cobrança" -> PACS.002)
  2. Como afirmado em 1, em caso de envio da PACS.008 mesmo passado o prazo determinado por expiração, o PSP recebedor poderá rejeitar o Pix ou não.