Pular para o conteúdo principal

Payout

Quick Reference

WhatPagamentos de saída (payouts) financiados por uma carteira
WhyPagar fornecedores, parceiros e clientes pela LATAM através de um único endpoint unificado
Reading Time8 min
DifficultyIntermediate
PrerequisitesAuthentication → Uma carteira com saldo

O que é um payout

Um payout é o fluxo de saída — dinheiro deixando a plataforma, o inverso de uma cobrança. Em vez de coletar dinheiro de um pagador, você envia dinheiro de uma carteira para um beneficiário. Um único endpoint atende a todos os rails; o campo type_payout seleciona qual deles.

CaracterísticaDetalhe
DireçãoSaída (disbursement)
FinanciamentoDebitado de uma carteira (wallet_uuid)
RailsPIX, TED, SPEI, transferência bancária LATAM, retirada em dinheiro
MercadosBrasil, México e LATAM (Argentina, Chile, Colômbia, Peru, Equador, Guatemala, Honduras)
IdempotênciaPor carteira via transaction_reference
ConfirmaçãoAssíncrona via webhook

Rails de payout

type_payoutObjeto de destinoMercados típicos
pixpix_destinationBrasil
tedbank_destinationBrasil
speibank_destinationMéxico
bank_transferbank_destinationLATAM
cash_pickupcash_destinationEquador e redes de cash

Como funciona

1

Merchant cria o payout

Seu servidor chama POST /api/v1/bank/wallet/payout/ com wallet_uuid, type_payout, value, description e o objeto de destino correspondente.

2

A55 valida e roteia

A A55 valida o payload, verifica o saldo da carteira e roteia para um provider elegível.

3

Provider envia os fundos

O provider transfere os fundos para a conta do beneficiário (ou gera um código de retirada para payouts em dinheiro).

4

Webhook confirma o resultado

A A55 envia um webhook para sua webhook_url quando o payout chega a um status final (realized, returned, error, etc.).


Fluxo do payout


Ciclo de vida do payout

StatusDescrição
pendingCriado, aguardando processamento
issuedEnviado ao provider
realizedConfirmado e liquidado
returnedDevolvido pelo banco receptor
canceledCancelado
errorFalhou no processamento
expiredExpirado
Trate o webhook como fonte da verdade

A resposta síncrona retorna o status inicial. Um payout normalmente passa de issued para realized de forma assíncrona. Configure a webhook_url e confie no webhook para o resultado final.


Idempotência

Payouts são idempotentes por carteira via transaction_reference. Se você omitir, a A55 gera um. Reutilizar a mesma referência para a mesma carteira é rejeitado com errors.wallet.payout_already_exists, o que protege você de enviar um payout duplicado em retentativas.

Roteamento de provider e failover

A A55 seleciona um provider elegível para o rail e a moeda escolhidos com base em regras internas (capacidade, saldo e configuração da conta). Se o primeiro provider falha, o orquestrador pode tentar o próximo provider elegível automaticamente antes de marcar o payout como error.


Referência da API

Os schemas completos de request e response, códigos de erro e exemplos por rail estão na referência da API:

OperaçãoEndpoint
Criar payoutPOST /api/v1/bank/wallet/payout/
Listar payoutsGET /api/v1/bank/wallet/payout/
Consultar payoutGET /api/v1/bank/wallet/payout/{payout_uuid}/{wallet_uuid}/
Webhook de payoutNotificação para sua webhook_url