Retentativas de Recebimento

Caso o recebimento não tenha ocorrido com sucesso na data de vencimento, é possível efetuar 3 retentativas nos 7 dias corridos seguintes a data de vencimento.

Nestes casos, a empresa recebedora enviará sempre o mesmo valor do vencimento, mas poderá escolher em quais 3 dias tentará efetuar as cobranças do cliente.

Por exemplo, é possível realizar tentativas em D+1, D+2 e D+7 ou então D+1, D+4 e D+7.
Essa é uma liberdade que o recebedor possui.

Importante reforçar que mesmo que o pagamento não ocorra, a adesão ao Pix Automático do cliente pagador continuará ativa para os próximos ciclos de cobrança recorrente.

Para os casos onde será necessário realizar retentativas de recebimento, o fluxo será o seguinte:

  1. Primeiramente, como não será realizado a liquidação, não será enviado nenhum webhook de recebimento. Invés disso, será enviado um webhook informando que a instrução de agendamento está expirada.
  2. Após receber esse webhook, fica 100% a critério do recebedor realizar as novas tentativas. A Celcoin não realizará automaticamente nenhuma retentativa. A empresa recebedora deverá definir conforme os seus próprios critérios em quais datas (entre D+1 e D+7) gostará de realizar as novas tentativas. Reforçando que não é obrigatório realizar 3 retentativas, fica a critério da empresa recebedora se não irá realizar retentativas, se realizará somente 1 retentativa, 2 ou todas 3, se necessário.
  3. Celcoin receberá a solicitação da empresa recebedora e enviará ao banco pagador a solicitação de retentativa.
  4. Celcoin enviará a empresa recebedora o webhook com o resultado da retentativa.

Webhook de instrução de pagamento expirada

{
    "entity": "pix-automatic-payment-instruction-cashin",
    "context": "PIX",
    "cliente": {
        "nome": "",
        "clienteId": 1,
        "localId": 1,
        "usuarioId": 2
    },
    "body": {
     "endToEndId": string,
     "recurrencyId": "RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
     "amount": decimal,
  "liquidationDate": datetime,
     "expirationDate": datetime,
     "isWorkingDay": bool,
     "nextWorkingDay": datetime,
     "status": integer (enum PaymentInstructionStatus),
     "creditParty": {
         "ispb": string,
         "taxId": string,
         "personType": string,
         "bank": string | null,
         "account": string,
         "accountType": int,
     },
     "debitParty": {
         "ispb": string,
         "personType": string,
         "taxId": string,
         "personName": string,
         "bank": string | null,
         "account": string,
         "accountType": string,
         "stateCode": string
     },
     "debtor": {
         "personType": string,
         "taxId": string,
         "name": string
     },
  "createDate": datetime,
  "updateDate": datetime,
   "clientRequestId": string | null
 }
}

Recebedor comanda nova tentativa
Endpoint POST /recurrencies/{id}/payment-instruction/new-attempt/{clientRequestId}

Atenção: é obrigatório que a retentativa seja no mesmo valor do pagamento original, por isso, não é possível informar nenhum outro dado a não ser a nova data de tentativa.

Request:

{
 "newExpirationDate: datetime,

Response: OK (não há body neste response)

Por fim, a Celcoin enviará o webhook de completed.

Caso o pagamento não seja realizado, o recebedor poderá realizar novamente o fluxo acima de "newAttempt".

Webhook completed

{
    "body":  {
     "endToEndId": string,
     "recurrencyId": "RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
     "amount": decimal,
     "expirationDate": datetime,
     "status": integer (enum PaymentInstructionStatus),
     "creditParty": {
         "ispb": string,
         "taxId": string,
         "personType": string,
         "bank": string | null,
         "account": string,
         "accountType": int,
     },
     "debitParty": {
         "ispb": string,
         "personType": string,
         "taxId": string,
         "personName": string,
         "bank": string | null,
         "account": string,
         "accountType": string,
         "stateCode": string
     },
     "debtor": {
         "personType": string,
         "taxId": string,
         "name": string
     },
  "createDate": datetime,
  "updateDate": datetime,
   "clientRequestId": string | null
 }
}

❗️

Esta documentação ainda está sujeita a atualizações. Quando tivermos a versão final publicada, este aviso será removido de todas as páginas.