Modelos de Webhooks do PIX

Confirmação de Recebimentos

Webhooks de confirmações para transações de recebimento como:

  • Recebimento por dados bancários ou DICT (chave Pix);
  • Recebimento por QRCode estático;
  • Recebimento por QRCode dinâmico de cobrança imediata ou cobrança com vencimento;

Antes de tudo é preciso explicar o significado de PSP, essa sigla significa Provedor de Serviço de Pagamento. Em cada operação de transferência via Pix sempre haverá dois PSPs: do recebedor e do pagador. O PSP do recebedor é a instituição financeira responsável pela conta do destinatário. Já o PSP do pagador é a instituição financeira de origem dos recursos, ou seja, de onde o dinheiro é transferido.

Após o PSP recebedor aprovar o recebimento (Celcoin Pagamentos), você será notificado via webhook sobre a confirmação de sua transação de recebimento através dos modelos abaixo.

Recebimento por dados bancários ou DICT:

{
    "RequestBody": {
        "TransactionType": "RECEIVEPIX",
        "TransactionId": 56762766,
        "Amount": 150.51,
        "DebitParty": {
            "Account": "416781236",
            "Bank": "18236120",
            "Branch": "1",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "01234567890",
            "AccountType": "CACC",
            "Name": "Fulano de Tal"
        },
        "CreditParty": {
            "Bank": "13935893",
            "Branch": "1",
            "Account": "123456789",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "09876543210",
            "AccountType": "CACC",
            "Name": "Cicrano de Outro",
            "Key": "8ea152b1-ddee-ssaa-aass-ce98245349aa"
        },
        "EndToEndId": "E18236120202001199999s0149012FPC"
    }
}

🚧

Neste modelo, o campo creditParty.key somente estará presente quando a modalidade de pagamento for iniciada com uma consulta ao DICT. Recebimentos iniciados por preenchimento de dados bancários não possuem chave PIX. Esta requisição deve ser respondida apenas com um HTTP status 200.

Recebimento por QRCode estático:

{
    "RequestBody": {
        "TransactionType": "RECEIVEPIX",
        "TransactionId": 56762766,
        "Amount": 150.55,
        "DebitParty": {
            "Account": "416781236",
            "Bank": "18236120",
            "Branch": "1",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "01234567890",
            "AccountType": "CACC",
            "Name": "Fulano de Tal"
        },
        "CreditParty": {
            "Bank": "13935893",
            "Branch": "1",
            "Account": "123456789",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "09876543210",
            "AccountType": "CACC",
            "Name": "Cicrano de Outro",
            "Key": "8ea152b1-ddee-ssaa-aass-ce98245349aa"
        },
        "EndToEndId": "E18236120202001199999s0149012FPC",
        "transactionIdentification": "meuClientRequestId0014534",
        "transactionIdBRCode": "meuClientRequestId0014534"
    }
}

Recebimento por QRCode dinâmico de cobrança imediata ou cobrança com vencimento:

📘

Contempla modelos de QRCodes gerados pelos endpoints:
pix/v1/brcode/dynamic;
pix/v1/location + pix/v1/collection/immediate;
pix/v1/location + pix/v1/collection/Duedate;

{
    "RequestBody": {
        "TransactionType": "RECEIVEPIX",
        "TransactionId": 56762766,
        "Amount": 150.55,
        "DebitParty": {
            "Account": "416781236",
            "Bank": "18236120",
            "Branch": "1",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "01234567890",
            "AccountType": "CACC",
            "Name": "Fulano de Tal"
        },
        "CreditParty": {
            "Bank": "13935893",
            "Branch": "1",
            "Account": "123456789",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "09876543210",
            "AccountType": "CACC",
            "Name": "Cicrano de Outro",
            "Key": "8ea152b1-ddee-ssaa-aass-ce98245349aa"
        },
        "EndToEndId": "E18236120202001199999s0149012FPC",
        "transactionIdentification": "kk6g232xel65a0daee4dd13kk54578675",
        "transactionIdBRCode": "54578675"
    }
}

🚧

Neste modelo, o campo TransactionId traz a informação do identificador transacional do recebimento. Ele não tem relação com o qrcode gerado. Neste modelo, o campo transactionIdentification é o mesmo informado no resultado da criação do qrcode.
Neste modelo, o campo transactionIdBRCode traz o mesmo transactionId associado ao qrcode geardo. Esta requisição deve ser respondida apenas com um HTTP status 200.

Confirmação de pagamento

📘

Contempla webhooks de confirmações para transações de pagamento como:
Pagamento por dados bancários;
Pagamento por chave Pix;
Pagamento por leitura de QRCode estático;
Pagamento por leitura de QRCode dinâmico de cobrança imediata ou cobrança com vencimento;

Após o PSP recebedor aprovar o recebimento (banco de destino), você será notificado via webhook sobre a confirmação de sua transação de pagamento através do modelo abaixo.

Para pagamentos bem sucedidos:

{
    "RequestBody": {
        "TransactionType": "PAYMENT",
        "TransactionId": 4644372,
        "StatusCode": {
            "StatusId": 2,
            "Description": "Confirmed"
        }
    }
}

📘

Neste modelo, o campo TransactionId é o mesmo informado no resultado da requisição de pagamento do endpoint payment. Esta requisição deve ser respondida apenas com um HTTP status 200.

Para pagamentos que tenham algum erro após a requisição:

{
    "RequestBody": {
        "TransactionType": "PAYMENT",
        "TransactionId": 4644372,
        "StatusCode": {
            "StatusId": 3,
            "Description": "Error"
        },
        "Error": {
            "Code": "PBE325",
            "Description": "Transaction stopped due to error at the Creditor Agent."
        }
    }
}

🚧

Neste modelo, o campo TransactionId é o mesmo informado no resultado da requisição de pagamento do endpoint payment. Esta requisição deve ser respondida apenas com um HTTP status 200.

Confirmação de devolução de recebimento

Ocorre quando realizamos uma devolução para a origem de um recebimento. Após o PSP recebedor aprovar o recebimento (banco de destino), você será notificado via webhook sobre a confirmação de sua transação de devolução através do modelo abaixo.

Para devolução bem sucedida:

{
    "RequestBody": {
        "TransactionType": "REVERTPIX",
        "TransactionId": 5477232,
        "Amount": 1.2,
        "ClientCode": 1006,
        "StatusCode": {
            "StatusId": 2,
            "Description": "Confirmed"
        }
    }
}

🚧

Neste modelo, o campo TransactionId é o mesmo informado no resultado da requisição de pagamento do endpoint payment. Esta requisição deve ser respondida apenas com um HTTP status 200.

Para devolução que tenham algum erro após a requisição:

{
    "RequestBody": {
        "TransactionType": "REVERTPIX",
        "TransactionId": 5477232,
        "Amount": 1.2,
        "ClientCode": 1006,
        "StatusCode": {
            "StatusId": 3,
            "Description": "Error"
        },
        "Error": {
            "Code": "PBE325",
            "Description": "Transaction stopped due to error at the Creditor Agent."
        }
    }
}

🚧

Esta requisição deve ser respondida apenas com um HTTP status 200.

Confirmação recebimento de devoluções.

Ocorre quando recebemos de volta o valor de um pagamento que realizamos. Após o PSP recebedor aprovar o recebimento (Celcoin), você será a notificação via webhook sobre a confirmação de sua transação de recebimento de devolução através do modelo abaixo.

Para recebimento de devolução:

{
    "RequestBody": {
        "TransactionType": "REVERTED",
        "TransactionId": 5476877,
        "TransactionIdPayment": 5460743,
        "Amount": 1.0,
        "ClientCode": "10020"
    }
}

🚧

Neste modelo, o campo TransactionId é referente a identificação da transação de devolução que está sendo recebida.
Neste modelo, o campo TransactionIdPayment é o identificador de referência ao pagamento que foi realizado e está sendo devolvido.


Did this page help you?