Payout Events
Events published during the payout lifecycle — from request through approval to completion.
INFO
Payout events follow a state machine pattern: requested → approved/denied → processing → completed/failed. Each transition publishes an event for audit trail and downstream processing. Bank account verification events are prerequisites for payout requests.
payout.requested
Published when a campaign owner initiates a payout.
| Field | Type | Description |
|---|---|---|
payoutId | string | UUID of the payout |
campaignId | string | Source campaign UUID |
amount | number | Requested payout amount |
bankAccountId | string | Verified bank account UUID |
payout.approved
Published when an admin approves the payout request.
| Field | Type | Description |
|---|---|---|
payoutId | string | UUID of the payout |
approvedBy | string | Admin UUID |
payout.completed
Published when funds are successfully transferred.
| Field | Type | Description |
|---|---|---|
payoutId | string | UUID of the payout |
transferId | string | Stripe transfer ID |
payout.failed
Published when the transfer fails.
| Field | Type | Description |
|---|---|---|
payoutId | string | UUID of the payout |
reason | string | Failure reason |