Skip to main content

Criar depósito

POST /v1/deposits
{
  "amount_cents": 10000,
  "external_id": "pedido-42",
  "payer": { "name": "Player Um", "email": "p1@ok.io", "phone": "+5511988887777", "document": "11144477735" },
  "expires_in_sec": 3600,
  "metadata": { "player_id": "PL-42" }
}
Resposta 201:
{
  "id": "dep_…", "status": "PENDING", "external_id": "pedido-42",
  "amount_cents": 10000, "fee_cents": 350, "net_cents": 9650,
  "pix": { "emv": "000201…", "qr_url": null },
  "expires_at": 1781319147
}
  • amount_cents é o valor cobrado do player; net_cents é o que entra no seu saldo (já descontada a taxa).
  • pix.emv é o copia-e-cola. Renderize o QR a partir dele no seu app.
  • Idempotência: repetir o POST com o mesmo external_id devolve o depósito existente (200).

Consultar / listar

GET /v1/deposits/{id}
GET /v1/deposits?status=PAID&cursor=dep_xxx&limit=20
Quando pago, o depósito ganha paid_at, e2e_id e payer_details (dados bancários do pagador, úteis para antifraude e conciliação).

Estados

PENDING → PAID (pagamento confirmado) · PENDING → EXPIRED (venceu sem pagar). Um PIX pago com atraso pode levar EXPIRED → PAID — aceitamos, pois o dinheiro entrou.
Você não precisa fazer polling: registre um webhook e reaja ao evento deposit.paid.