⚠️ POST /v1/deposit/create temporariamente bloqueado

Endpoint indisponível no momento, retorna HTTP 503.

Para criar cobranças PIX:
QR PIX dinâmico, aceita valor opcional via defaultAmountInCents.
Para vender produtos ou serviços:
Payment Link, ideal para e-commerce, infoproduto e checkout.

Receber Direto

POST /v1/deposit/create — crie depósitos com valor por requisição.

Visão geral

Endpoint para criar um depósito DePix único. Retorna QR PIX que o pagador escaneia ou copia/cola no app do banco. Após pagamento, o DePix é creditado na wallet Liquid configurada.

Endpoint

POST /v1/deposit/create
  • Scope: transact
  • Rate limit: 3 req/min, burst 1/5s (BLOQUEADO — retorna 503)
  • Idempotência obrigatória (X-DF-Idempotency-Key UUID v4)

Autenticação

Requer chave de API com scope transact. Headers Authorization, X-DF-Secret e X-DF-Passphrase são obrigatórios. X-DF-Idempotency-Key é obrigatório.

Headers

HeaderExemploObrigatório
AuthorizationBearer dfk_live_...Sim
X-DF-Secretsk_...Sim
X-DF-Passphrase...Sim
Content-Typeapplication/jsonSim
X-DF-Idempotency-Keyuuid-v4Não

Corpo da requisição

CampoTipoObrigatórioDescrição
amountCentsintegerSimValor em centavos. Inteiro positivo dentro de Number.MAX_SAFE_INTEGER.
mode"exact" | "net"Simexact = pagador paga valor cheio (taxa deduzida do crédito); net = pagador paga extra para garantir crédito líquido.
walletIdstring (24-hex)NãoID Mongo (24-hex) de wallet própria. Se omitido, usa wallet default da conta.
couponCodestring (≤50)NãoCódigo de cupom opcional. Inválido é silenciosamente ignorado.

Exemplo de requisição

Exemplo de requisição

bash
curl -X POST https://api.deflow.exchange/v1/deposit/create \
  -H "Authorization: Bearer dfk_live_..." \
  -H "X-DF-Secret: sk_..." \
  -H "X-DF-Passphrase: minha-passphrase" \
  -H "X-DF-Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "amountCents": 10000,
    "mode": "exact",
    "walletId": "65f2ab3c1d4e5f6a7b8c9d0e",
    "couponCode": "WELCOME10"
  }'

Exemplo de resposta da requisição

json
{
  "data": {
    "id": "67234abc1d4e5f6a7b8c9d0e",
    "status": "pending",
    "amountCents": 10000,
    "feeCents": 200,
    "netAmountCents": 9800,
    "mode": "exact",
    "qrCopyPaste": "00020126580014br.gov.bcb.pix...6304ABCD",
    "qrImageUrl": "https://cdn.deflow.exchange/qr/67234abc.png",
    "expiresAt": "2026-05-15T12:30:00.000Z",
    "createdAt": "2026-05-15T12:00:00.000Z"
  },
  "meta": {
    "timestamp": "2026-05-15T12:00:00.000Z"
  }
}

Status

  • pending (não-terminal) aguardando pagamento PIX
  • pending_pix2fa (não-terminal) aguardando 2FA no banco do pagador
  • under_review (não-terminal) em revisão anti-fraude
  • delayed (não-terminal) atrasado mas ainda válido
  • depix_sent (terminal) DePix creditado com sucesso
  • expired (terminal) QR expirou sem pagamento
  • canceled (terminal) cancelado manualmente
  • refunded (terminal) estornado (pagamento recebido mas devolvido)
  • error (terminal) erro irreversível

Webhooks

  • deposit:paiddepósito pago e DePix creditado
  • deposit:expiredQR expirou sem pagamento
  • deposit:canceleddepósito cancelado
  • deposit:errorerro irreversível
  • deposit:delayeddepósito atrasado mas ainda válido
  • deposit:under_reviewdepósito em revisão anti-fraude

Erros

HTTPCódigoCausa
400VALIDATION_ERRORPayload inválido (campos faltando, tipos errados, fora dos limites).
401API_KEY_INVALIDChave de API inválida, revogada ou expirada.
403MISSING_SCOPEChave não possui o scope transact.
403TX_BLOCKED_MEDBloqueio anti-fraude MED ativo na conta.
403FIRST_DEPOSIT_CAPPrimeiro depósito excede o cap configurado.
409IDEMPOTENCY_CONFLICTX-DF-Idempotency-Key já usado com payload diferente.
429RATE_LIMIT_EXCEEDEDLimite de requisições excedido. Tente após X-RateLimit-Reset.

Sandbox

Em sandbox, use POST /v1/sandbox/deposit/:id/mark-paid para simular pagamento e disparar webhook deposit:paid.