Status e motivos da transação
Todos os estados por que uma cobrança passa e o motivo por trás de cada resultado, com o lembrete de programar pelos códigos estáveis, e não pelo texto que pode mudar.
Programe sua lógica pelos códigos numéricos e valores estáveis desta página. As descrições e mensagens legíveis podem mudar.
Status da transação
O campo creditCardPayment.status indica o estado atual do pagamento. Lista de possíveis status retornados pela API:
| Código | Status do pagamento | Descrição |
|---|---|---|
| 0 | NotFinished | Falha ao processar o pagamento. Possíveis causas: dados incorretos, erro na requisição, timeout, instabilidade no processamento. |
| 1 | Authorized | Meio de pagamento apto a ser capturado. O banco emissor aprovou a transação, porém isso não significa que a transação foi concluída. |
| 2 | PaymentConfirmed | Pagamento confirmado e finalizado. |
| 3 | Denied | Pagamento negado por autorizador. Possíveis causas: limite insuficiente, falta de pagamento do cartão, bandeira indisponível, bloqueio por fraude, entre outros. |
| 10 | Voided | Pagamento cancelado. |
| 11 | Refunded | Pagamento cancelado/estornado. Significa que foi solicitado o cancelamento da transação. |
| 12 | Pending | Esperando retorno da instituição financeira. Significa que a transação foi enviada em processo de pré-autorização e está esperando uma resposta do banco para validá-la. |
| 13 | Aborted | Pagamento cancelado por falha no processamento. A transação foi cancelada por falha no processamento, ou o antifraude negou a transação antes da autorização. |
O status 1 (Authorized) indica apenas que o emissor aprovou a transação. A conclusão do pagamento é confirmada pelo status 2 (PaymentConfirmed).
ReasonCode e ReasonMessage
Os campos reasonCode e reasonMessage detalham o motivo do resultado da transação, inclusive quando o resultado vem da análise antifraude, como em AbortedByFraud e CouldNotAntifraud.
reasonCode | reasonMessage |
|---|---|
| 0 | Successful |
| 1 | AffiliationNotFound |
| 2 | InsufficientFunds |
| 3 | CouldNotGetCreditCard |
| 4 | ConnectionWithAcquirerFailed |
| 5 | InvalidTransactionType |
| 6 | InvalidPaymentPlan |
| 7 | Denied |
| 8 | Scheduled |
| 9 | Waiting |
| 10 | Authenticated |
| 11 | NotAuthenticated |
| 12 | ProblemsWithCreditCard |
| 13 | CardCanceled |
| 14 | BlockedCreditCard |
| 15 | CardExpired |
| 16 | AbortedByFraud |
| 17 | CouldNotAntifraud |
| 18 | TryAgain |
| 19 | InvalidAmount |
| 20 | ProblemsWithIssuer |
| 21 | InvalidCardNumber |
| 22 | TimeOut |
| 23 | CartaoProtegidoIsNotEnabled |
| 24 | PaymentMethodIsNotEnabled |
| 98 | InvalidRequest |
| 99 | InternalError |
Status do chargeback
O campo chargebacks[].status indica o estado de cada chargeback associado à cobrança:
| Valor | Descrição |
|---|---|
RECEIVED | Chargeback recebido. |
ACCEPTED | Chargeback aceito pela loja. |
DEFENDED | Chargeback contestado pela loja. |
Webhooks
Em vez de ficar perguntando se a cobrança pagou, a PayZu avisa o seu sistema sozinha quando o status muda, o antifraude decide, entra um chargeback ou começa um novo ciclo de recorrência. Você configura o recebimento, valida a assinatura e trata as retentativas.
Códigos de referência
Os valores exatos que a API espera e devolve para bandeira de cartão e tipo de pagamento, para você não ter que adivinhar na hora de montar a requisição.