1. Subcontas White-Label (BaaS)
Dotfy - Documentação
  • Dotfy Module
    • Raiz
      • Conta (Dados do Seller)
        • Identificar a conta (dados do seller)
      • Cobranças PIX
        • Criar cobrança PIX
        • Listar cobranças
        • Consultar cobrança por correlationID
        • Histórico de webhooks de uma cobrança
      • Cartão (Checkout Transparente)
        • Criar pagamento com cartão (PAN via API)
      • Saldo
        • Consultar saldo
      • Saques e Chaves PIX
        • Listar chaves PIX cadastradas
        • Cadastrar chave PIX
        • Listar saques
        • Solicitar saque
        • Cancelar saque pendente
      • Clientes
        • Listar clientes
        • Detalhe de um cliente
      • Produtos e Links de Pagamento
        • Links de compra por comprador (Purchase Links)
          • Criar link de compra (por comprador)
          • Listar links de compra do produto
          • Detalhe/status do link de compra
          • Revogar link de compra
        • Listar produtos
        • Criar produto
        • Detalhe do produto
        • Carrinhos abandonados do produto
      • Splits
        • Analytics de splits enviados
        • Splits recebidos
      • Disputas e MEDs
        • Listar disputas
        • Listar MEDs com estatísticas
        • Evidências de uma disputa
        • Histórico de uma disputa
      • Subcontas White-Label (BaaS)
        • Criar subconta
          POST
        • Listar subcontas
          GET
        • Detalhe da subconta
          GET
        • Atualizar subconta
          PATCH
        • Excluir subconta (soft delete)
          DELETE
        • Enviar KYC da subconta (multipart)
          POST
        • Consultar status do KYC da subconta
          GET
        • Cadastrar chave PIX da subconta
          POST
        • Listar chaves PIX da subconta
          GET
        • Remover chave PIX da subconta
          DELETE
        • Criar cobrança da subconta
          POST
        • Listar cobranças da subconta
          GET
        • Detalhe de cobrança da subconta
          GET
        • Saldo da subconta
          GET
        • Extrato (transações) da subconta
          GET
        • Solicitar saque da subconta
          POST
        • Listar saques da subconta
          GET
        • Atualizar taxas da subconta
          PUT
      • Webhooks (Gerenciar Endpoints)
        • Listar endpoints
        • Criar endpoint
        • Atualizar endpoint
        • Remover endpoint
      • Webhooks (Eventos Recebidos)
        • EVENT:CHARGE_CREATED — cobrança criada
        • EVENT:CHARGE_PAID — cobrança paga (atualização principal)
        • EVENT:CHARGE_EXPIRED — cobrança expirada
        • EVENT:SPLIT_RECEIVED — você recebeu um split
        • EVENT:DISPUTE_OPENED — MED/disputa aberta
        • EVENT:DISPUTE_WON — disputa ganha
        • EVENT:DISPUTE_LOST — disputa perdida
        • EVENT:DISPUTE_CANCELED — disputa cancelada
        • EVENT:WITHDRAWAL_COMPLETED — saque concluído
        • EVENT:WITHDRAWAL_FAILED — saque falhou
        • EVENT:SUBACCOUNT_KYC_APPROVED — KYC da subconta aprovado
        • EVENT:SUBACCOUNT_KYC_REJECTED — KYC da subconta recusado
        • EVENT:SUBACCOUNT_PIX_KEY_APPROVED — chave PIX da subconta aprovada
        • EVENT:SUBACCOUNT_PIX_KEY_REJECTED — chave PIX da subconta recusada
      • Notificações
        • Listar notificações
      • Dashboard / Analytics
        • Stats gerais
        • Atividade recente
        • Atividade (timeline)
        • Receita por período
        • Volume por período
        • Taxa de conversão
        • Métodos de pagamento
        • Transações (gráfico)
        • Analytics avançado
  1. Subcontas White-Label (BaaS)

Criar cobrança da subconta

POST
/api/subaccounts/{{subaccount_id}}/charges

Operação delegada (white-label)#

Cria uma cobrança PIX em nome da subconta {{subaccount_id}}. A requisição é autenticada pela API Key do master (você), nunca por credencial da subconta.
Escopo: subaccounts:write
Pré-requisito: flag whiteLabelEnabled no master (sem ela todas as rotas /api/subaccounts/* respondem 404 — invisíveis).

Gates aplicados sobre a SUBCONTA#

Os mesmos gates de POST /api/charges rodam, mas sobre a subconta (não sobre o master):
KYC da subconta deve estar APPROVED — senão 403 com requiresKyc: true. (KYC_PENDING na prática se manifesta aqui.)
Limite maxChargeAmount da subconta (se configurado).
Recursos desabilitados / pré-flight do adquirente (ex: PIX dinâmico só Treeal).

Body (idêntico a POST /api/charges)#

CampoTipoObrigatórioDescrição
valuenumberrecomendadoValor em REAIS (ex: 29.90). Mín 0, máx 1.000.000. Se omitido ou 0 → cobrança com valor definido pelo pagador (PIX dinâmico, só Treeal).
descriptionstringnãoMáx 255 chars. Aparece para o pagador.
expiresInintnãoSegundos até expirar. Mín 60, máx 86400 (24h). Default: 3600.
customer.namestringnão2–100 chars.
customer.taxIDstringnãoCPF (11 díg.) ou CNPJ (14 díg.). Apenas números. Aceita variações (cpf, cnpj, document...).
customer.emailstringnãoEmail válido.
customer.phonestringnãoE.164 (ex: +5511999998888).
webhook_urlstringnãoURL HTTPS para esta cobrança específica.
splitarraynãoAté 10 destinatários. PERCENT 0.01–100, FIXED em centavos.
correlationID não é aceito como entrada — o Dotfy gera e retorna na resposta.

Resposta 200 OK#

{ success: true, data: { id, chargeId, correlationID, correlationId, transactionID, qrCode, qrCodeImage, paymentLink, expiresAt, value, splits? } }.
value retornado em CENTAVOS.
correlationID/correlationId — mesmo conteúdo (alias). Use em GET .../charges/{id}.
Sigilo (crítico): a resposta expõe apenas a taxa cheia (gatewayFee nas listagens/detalhe). A comissão do master e a decomposição taxa-base NUNCA aparecem aqui — são assunto exclusivo do extrato do próprio master.

Códigos de erro#

Código HTTPQuando
400Body inválido (Zod). Ex: value negativo.
401API Key ausente/inválida.
403KYC da subconta não aprovado (KYC_PENDING) → { requiresKyc: true, kycStatus }.
404Master sem whiteLabelEnabled, subconta inexistente ou não pertence a você (anti-IDOR).
429Rate limit de cobranças (por subconta).

Exemplo cURL#


Rate limit: 100/min por subconta (429 ao exceder).

Requisição

Authorization
Forneça seu token bearer no cabeçalho
Authorization
ao fazer requisições para recursos protegidos.
Exemplo:
Authorization: Bearer ********************
Parâmetros Header

Parâmetros Bodyapplication/json

Examples

Respostas

🟢200
application/json
Bodyapplication/json

🟠403
🟠404
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --globoff '/api/subaccounts/{{subaccount_id}}/charges' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "value": 29.90,
  "description": "Pedido #1234 - Plano Pro",
  "expiresIn": 3600,
  "customer": {
    "name": "Maria Silva",
    "taxID": "12345678901",
    "email": "maria@exemplo.com",
    "phone": "+5511999998888"
  },
  "webhook_url": "https://seu-dominio.com/webhooks/dotfy"
}'
Response Response Example
200 - Sucesso (200) — cobrança da subconta criada
{
  "success": true,
  "data": {
    "id": "clsubcharge0001",
    "chargeId": "treeal_charge_a1b2c3",
    "correlationID": "dotfyt1714000000000abc12345",
    "correlationId": "dotfyt1714000000000abc12345",
    "transactionID": "E18236120202605071430s00abc12345",
    "qrCode": "00020126360014BR.GOV.BCB.PIX0114...",
    "qrCodeImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...",
    "paymentLink": "https://app.dotfy.com.br/checkout/clsubcharge0001",
    "expiresAt": "2026-05-07T15:30:00.000Z",
    "value": 2990
  }
}
Modificado em 2026-07-02 06:57:27
Página anterior
Remover chave PIX da subconta
Próxima página
Listar cobranças da subconta
Built with