In the table below, it is possible to observe which are the possible returns of the rejectionReason field, inside the consent flow, that can be sent in each step involved with the consent, for the payment flow:
Consent funnel steps | Code |
---|---|
start of authentication | FALHA_INFRAESTRUTURA, TEMPO_EXPIRADO_AUTORIZAÇAO |
authentication completion | FALHA_INFRAESTRUTURA, TEMPO_EXPIRADO_AUTORIZAÇAO, REJEITADO_USUARIO |
Customer Authorization | FALHA_INFRAESTRUTURA, CONTAS_ORIGEM_DESTINO_IGUAIS, CONTA_SALARIO, SALDO_INSUFICIENTE, VALOR_ACIMA_LIMITE, QRCODE_INVALIDO |
Authorization code issued | FALHA_INFRAESTRUTURA, TEMPO_EXPIRADO_CONSUMO |
And below are the possible returns for the same rejectionReason field, but for the business rejection of the payment flow.
Info |
---|
example: SALDO_INSUFICIENTE |
SALDO_INSUFICIENTE - The selected account does not have enough balance to make the payment.
...
CONTAS_ORIGEM_DESTINO_IGUAIS - Indicates a payment attempt where the source account and the destination account are the same.
Note |
---|
The rejectionReason FALHA_INFRAESTRUTURA will not be deleted, it will only cease to be used, thus allowing backward compatibility and integrity between participants. |
Info |
---|
If you use "x-rejection-reason" in the API header /api/smart-keys/payment-initiation/v1/consents/callback , with the values informed below, the PIX will assume the “Reject” status. |
INSUFFICIENT FUNDS
VALUE_ABOVE_LIMIT
INVALID VALUE
BILLING_INVALID
UNINFORMED
PAYMENT_DIVERGENT_CONSENTMENT
INVALID_PAYMENT_DETAIL
PAYMENT_REFUSED_HOLDER
PAYMENT_REFUSED_SPI
FAILURE_INFRASTRUCTURE
CONSENT_EXPIRED
Info |
---|
Along with the “Reject” status, a rejectionReason block will also be presented , as shown in the example below. Additionally, CONSENT_EXPIRED leaves consent pending for 60 minutes and then rejects it. |
Code Block |
---|
"rejectionReason": {
"code": "NAO_INFORMADO",
"detail": "Não Informado"
} |
Journey expired due to timeout or canceled by the user
As of this product update, you have the whitelabel journey expiration scenario, in which a user who has canceled the flow, before being redirected to the transaction confirmation institution, or exceeds the token generation timeout, tries return to the same journey that was generated (same JourneyID). An error screen is presented, as shown in the example below, and the user is redirected to the same endpoint registered in the Redirect URL field in your application.
...
Example of return on journey cancellation event, in the webhook
Code Block |
---|
{ "event": "journey:cancel", "eventDate": "2023-11-22T18:55:54.335Z", "data": { "journeyId": "FlxcMSUD4q_tTiCipuCOrSwfBKhbUP0_" } } |
Example of return on journey expiration event, in the webhook
Code Block |
---|
{
"event": "journey:expired",
"eventDate": "2023-11-22T18:55:54.335Z",
"data": {
"journeyId": "FlxcMSUD4q_tTiCipuCOrSwfBKhbUP0_"
}
} |