Os status#
| Status | Quando | O que fazer |
|---|---|---|
pending |
Checkout aberto. Uma recusa com tentativas sobrando não muda o status: o comprador pode tentar de novo | Esperar. Não libere o pedido |
paid |
Pagamento confirmado | Liberar o pedido |
failed |
O checkout fechou por recusa (regra por adquirente abaixo) | Para vender de novo, criar um checkout novo |
expired |
O checkout passou da validade (24 horas) sem pagamento | Para vender de novo, criar um checkout novo |
refunded |
Estornada | Nada a fazer pela API |
chargeback |
Contestada pelo comprador | Acompanhar pelo painel |
Uma venda que entra em análise (o comprador vê "Pagamento em análise") continua pending até a decisão. Ela termina paid ou failed.
Ciclo de vida#
pending -> paid -> refunded
-> chargeback -> paid (contestação revertida a seu favor)
pending -> failed -> paid (pagamento confirmado depois do fechamento)
pending -> expired -> paid (pagamento confirmado depois da validade)failedeexpirednão são definitivos: se o pagamento for confirmado depois, a venda passa apaide o webhooktransaction.paidé enviado. Libere o pedido sempre pelo webhook ou pela consulta, nunca pela falta de erro.- No cartão, o único webhook é
transaction.paid. Recusa, fechamento, expiração, estorno e contestação aparecem só na consulta. - Estorno não é feito pela API. Fale com o suporte do Throne.
Quando a venda vira failed#
| Adquirente | Fecha como failed |
|---|---|
| Sterling | Na 5ª recusa, ou 10 minutos depois de uma recusa sem nova tentativa. Uma recusa depois da análise antifraude também fecha na hora |
| Imperium | Na 5ª recusa, ou 10 minutos depois de uma recusa sem nova tentativa |
| NovaCorp | Logo depois da 6ª recusa. Com tentativas sobrando, a partir de 10 minutos depois da última recusa, sem nova tentativa e com o comprador fora da página de pagamento. Pode levar alguns minutos a mais |
| Eminence | Na 5ª recusa, ou 10 minutos depois de uma recusa sem nova tentativa. Uma recusa depois da análise antifraude ou de uma confirmação demorada também fecha na hora. Se a Eminence não aceitar o valor da venda, fecha já na primeira tentativa (a página recebe limit) |
| Apex | Na 5ª recusa, ou 10 minutos depois de uma recusa sem nova tentativa. Uma reprovação na análise antifraude conta como recusa e gasta uma tentativa. Se a Apex não aceitar o valor da venda, fecha já na primeira tentativa (a página recebe limit) |
| ShadowBank | Na 5ª recusa, ou 10 minutos depois de uma recusa sem nova tentativa. Uma reprovação na análise antifraude conta como recusa e gasta uma tentativa |
| Vortex | Na 5ª recusa, ou 10 minutos depois de uma recusa sem nova tentativa. Uma reprovação na análise antifraude conta como recusa e gasta uma tentativa |
As tentativas são contadas por checkout, no servidor. Recarregar a página não devolve tentativas.
O que a consulta mostra em cada status#
GET /transactions/{id} com o transaction_id:
| Status | Valores do seu saldo | Outros campos |
|---|---|---|
pending, failed, expired |
amount_cents, fee_cents e net_amount_cents iguais a 0 |
currency e native_amount_cents com o que você mandou; fx_rate e paid_at nulos |
paid |
Preenchidos, em reais (a moeda da sua conta) | fx_rate como número (a cotação fixada na criação) e paid_at com a data do pagamento |
A consulta também traz acquirer, com a adquirente da venda. No Pix, acquirer vem nulo.
Quanto tempo esperar#
Não cancele um pedido por falta de webhook antes da validade de 24 horas. Na dúvida, consulte GET /transactions/{id}. Quando o webhook costuma chegar em cada adquirente está em Comparar adquirentes e em Webhooks.