Event Types & Structures
Base Webhook Structure
All webhooks follow this base structure:
{
"event": "string",
"data": {
// Event specific data
},
"timestamp": "ISO-8601 timestamp"
}
Event Types
transaction_created: This is when a transaction has been created.transaction_updated: This is when a transaction's status has changed or a further step is required.crossborder_updated: A cross-border request changed status.data.idis the request ID; see Cross-border Status, Webhooks and Retries for examples and payout finality.
Transaction Types
Depending on the transaction within the data object you may see
deposit: For a payment received via card, mobile money, or bank.withdrawal: For a payout sent out to a user from your balance.refund: For a refund transaction created against an earlier deposit. Refund status update webhooks includeoriginalTransactionIdindatawhen the refund is linked to the original transaction.offramp: For a crypto to fiat payout.onramp: For a fiat to crypto deposit.
Cross-border charge and payout transactions use crossborder-deposit and crossborder-payout. Their transaction events identify the payment using data.transactionId. A successful cross-border deposit confirms collection only; confirm request payout_successful before treating the beneficiary transfer as complete.
Updated about 18 hours ago
