Skip to main content

Payout

Quick Reference

WhatOutbound payments (payouts) funded by a wallet
WhyPay suppliers, partners, and customers across LATAM through a single unified endpoint
Reading Time8 min
DifficultyIntermediate
PrerequisitesAuthentication → A funded wallet

What is a payout

A payout is the outbound flow — money leaving the platform, the inverse of a charge. Instead of collecting money from a payer, you send money from a wallet to a beneficiary. A single endpoint handles every payment rail; the type_payout field selects which one.

FeatureDetail
DirectionOutbound (disbursement)
FundingDebited from a wallet (wallet_uuid)
RailsPIX, TED, SPEI, LATAM bank transfer, cash pickup
MarketsBrazil, Mexico, and LATAM (Argentina, Chile, Colombia, Peru, Ecuador, Guatemala, Honduras)
IdempotencyPer wallet via transaction_reference
ConfirmationAsynchronous via webhook

Payout rails

type_payoutDestination objectTypical markets
pixpix_destinationBrazil
tedbank_destinationBrazil
speibank_destinationMexico
bank_transferbank_destinationLATAM
cash_pickupcash_destinationEcuador and cash networks

How it works

1

Merchant creates payout

Your server calls POST /api/v1/bank/wallet/payout/ with wallet_uuid, type_payout, value, description, and the matching destination object.

2

A55 validates and routes

A55 validates the payload, checks the wallet balance, and routes to an eligible provider.

3

Provider sends the funds

The provider transfers the funds to the beneficiary's account (or generates a pickup code for cash payouts).

4

Webhook confirms the outcome

A55 sends a webhook to your webhook_url when the payout reaches a final status (realized, returned, error, etc.).


Payout flow


Payout lifecycle

StatusDescription
pendingCreated, awaiting processing
issuedSent to the provider
realizedConfirmed and settled
returnedReturned by the receiving bank
canceledCanceled
errorFailed during processing
expiredExpired
Treat the webhook as the source of truth

The synchronous response returns the initial status. A payout typically moves from issued to realized asynchronously. Set webhook_url and rely on the webhook for the final outcome.


Idempotency

Payouts are idempotent per wallet via transaction_reference. If you omit it, A55 generates one. Reusing the same reference for the same wallet is rejected with errors.wallet.payout_already_exists, which protects you from sending a duplicate payout on retries.

Provider routing and failover

A55 selects an eligible provider for the chosen rail and currency based on internal rules (capability, balance, and account configuration). If the first provider fails, the orchestrator can try the next eligible provider automatically before marking the payout as error.


API reference

The full request and response schemas, error codes, and per-rail examples live in the API reference:

OperationEndpoint
Create payoutPOST /api/v1/bank/wallet/payout/
List payoutsGET /api/v1/bank/wallet/payout/
Get payoutGET /api/v1/bank/wallet/payout/{payout_uuid}/{wallet_uuid}/
Payout webhookNotification to your webhook_url