Saldos e Saques
Saldo
Saldos são sempre em centavos e divididos em duas partes:
| Campo | Significado |
|---|---|
balanceAvailable |
Pronto para sacar |
balanceBlocked |
Retido (análise, garantia, disputa/infração) |
total |
Soma dos dois |
curl https://api.betpaympix.com/v1/user/balance \
-H "Authorization: Bearer $API_TOKEN"
# { "balanceAvailable": 50000, "balanceBlocked": 0, "total": 50000 }
O saldo de merchants é consultado à parte, em
GET /v1/merchants/{id}/wallet(ver Merchants).
Saque do usuário (Pix)
curl -X POST https://api.betpaympix.com/v1/withdraw \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"amount": 10000,
"pixKey": "12345678909",
"pixType": "CPF",
"description": "Saque",
"callbackUrl": "https://sualoja.com/webhooks/payerpix"
}'
Sempre envie
Idempotency-Keyem saques. É a proteção contra duplicidade em retries de rede e cliques duplos.
Tipos de chave Pix (pixType)
| Valor | Chave |
|---|---|
CPF |
CPF do recebedor |
CNPJ |
CNPJ do recebedor |
EMAIL |
E-mail cadastrado no Pix |
PHONE |
Telefone cadastrado no Pix |
EVP |
Chave aleatória |
Ciclo de vida do saque
PENDING ──> ANALYSIS ──> COMPLETED
│ │
│ └──> CANCELED (reprovado/expirado na auditoria)
└────────────────> FAILED (falha na liquidação)
| Status | Significado |
|---|---|
PENDING |
Recebido, aguardando processamento |
ANALYSIS |
Em auditoria antifraude/limites |
COMPLETED |
Pago ao recebedor |
FAILED |
Falha na liquidação do Pix |
CANCELED |
Cancelado (incl. expiração em auditoria) |
Saques em
ANALYSISque expiram são cancelados automaticamente por uma rotina periódica, devolvendo o valor ao saldo disponível.
Limites
Limites de mínimo/máximo por saque são aplicados por conta. Estouro retorna:
WITHDRAW_BELOW_MINIMUM— abaixo do mínimoWITHDRAW_ABOVE_MAXIMUM— acima do máximoWITHDRAW_INSUFFICIENT_FUNDS— saldo insuficiente
Ver catálogo completo em Erros.
Acompanhamento
- Webhook: enviado para a
callbackUrlquando o status muda (fonte de verdade). - Consulta: o estado também pode ser reconciliado via API.
Detalhes do payload em Webhooks.