Skip to main content
Eventos relacionados ao ciclo de vida das solicitações de saque para submerchants do Fast Connect.

Eventos Disponíveis

Os webhooks de payout são enviados apenas para submerchants (merchants com parent_merchant_id configurado no Fast Connect) — o merchant raiz (master) não recebe esses eventos.

Pré-requisitos

  • Fast Connect habilitado no merchant master
  • Submerchant com parent_merchant_id configurado
  • Webhook endpoints configurados no submerchant
  • Eventos habilitados nos enabled_events do webhook endpoint (ou lista vazia para habilitar todos)

Status possíveis (status)

Envelope (camelCase)

Os webhooks de payout usam camelCase. O envelope é mais simples que o de cobranças: o campo id de topo corresponde ao ID da solicitação de saque (não a um ID de evento), e não há campo livemode.

Campos do objeto data


Payloads por evento

payout.approved

Enviado após a aprovação da solicitação e conclusão das operações no ledger.

payout.rejected

Enviado quando a solicitação de saque é rejeitada pelo gateway.

Processo de Envio

  1. Busca de endpoints: o sistema busca os webhook_endpoints do submerchant e filtra pelos eventos habilitados (enabled_events contém o evento ou está vazio).
  2. Envio: envia para todos os endpoints configurados usando Promise.allSettled (falha em um endpoint não interrompe os demais).
  3. Timing: webhooks são enviados após o commit da transação, garantindo que os dados já estão persistidos.
Os webhooks de payout não usam a fila BullMQ nem o mecanismo de retentativas automáticas da plataforma. Falhas no envio são registradas em log mas não geram reenvio automático. Configure seu endpoint para ser resiliente e utilize o painel para reenvio manual se necessário.

Exemplo de Implementação

Fluxo Completo

Valores em Reais

Todos os valores monetários (amount, payoutFee, netAmount) são enviados em reais (BRL) — não em centavos. O número já é o valor em reais e aceita casas decimais:
  • amount: 100 = R$ 100,00
  • payoutFee: 1 = R$ 1,00
  • netAmount: 99 = R$ 99,00
  • com centavos: 100.50 = R$ 100,50
Não é necessário dividir por 100 — use o valor diretamente:

Configuração de Webhooks

Os webhooks de saque podem ser configurados:
  1. Via Painel da FastPay:
    • Navegue até FastConnect > Gestão de Subcontas > Webhooks
    • Configure os endpoints para o submerchant
  2. Via API:
    • Use o endpoint de configuração de webhooks do submerchant
    • Informe os eventos desejados em enabled_events ou deixe vazio para todos

Notas Importantes

  • O saque é realizado via PIX usando o CNPJ do submerchant como chave
  • A moeda é sempre BRL para submerchants
  • Falhas no envio do webhook não interrompem o fluxo de aprovação/rejeição
  • O campo id no topo do envelope é o ID da solicitação de saque, não um ID de evento global