Estados
| Status | Significado |
|---|---|
PENDING | Ordem criada, aguardando confirmação interna antes de gerar instrução de pagamento. |
AWAITING_PAYMENT | QR Code PIX gerado — aguardando pagamento do receiver (payin). |
PAYMENT_RECEIVED | PIX confirmado; plataforma inicia conversão. |
SWAPPING | Swap on-chain em andamento (Jupiter DEX). |
TRANSFERRING | Transferência de crypto para a wallet destino em andamento. |
AWAITING_DEPOSIT | Endereço de depósito gerado — aguardando crypto do receiver (payout). |
DEPOSIT_RECEIVED | Depósito on-chain confirmado; plataforma inicia envio do PIX. |
PIX_SENDING | PIX outbound sendo enviado via 3xPay. |
PIX_SENT_UNCONFIRMED | PIX enviado, confirmação final pendente (reconciliação manual possível). |
COMPLETED | Fluxo concluído com sucesso. |
FAILED | Erro irrecuperável; consulte failureReason. |
EXPIRED | Ordem expirou sem ação do receiver. |
REFUNDING | Estorno em andamento. |
REFUNDED | Estorno concluído (PIX devolvido ao receiver). |
Fluxo Payin (BRL → Crypto)
PAYMENT_RECEIVED → TRANSFERRING ocorre quando o token destino é USDC (sem swap necessário).
Fluxo Payout (Crypto → BRL)
DEPOSIT_RECEIVED → SWAPPING → PIX_SENDING quando o depósito não é em USDC e precisa de swap antes do PIX.
Timing
- Payin PIX: confirmação em segundos após o pagamento.
- Swap on-chain: ~10–30 s na rede Solana.
- PIX outbound (payout): segundos no horário comercial; pode levar alguns minutos fora.
Webhooks emitidos
| Evento | Tipo | Transição |
|---|---|---|
order.payment_received | PAYIN | AWAITING_PAYMENT → PAYMENT_RECEIVED |
order.processing | PAYOUT | Depósito aceito; PIX de saída enfileirado |
order.deposit_received | PAYOUT | AWAITING_DEPOSIT → DEPOSIT_RECEIVED |
order.pix_sending | PAYOUT | PIX submetido ao provedor |
order.completed | PAYIN / PAYOUT | → COMPLETED |
order.failed | PAYIN / PAYOUT | → FAILED |
order.refunding | PAYIN | → REFUNDING |
order.refunded | PAYIN | → REFUNDED |
