Webhook Events and Payloads
Webhook events are delivered and enclosed in the following webhook event envelope. The following event definition only provides the name of the event as well as its event data schema.Event Envelope
The webhook event envelope includes the following components:| Field | Description |
|---|---|
| event | The name of the event that occurred. |
| id | A unique identifier for the event. This should be used as the idempotency key for processing event deliveries. |
| data | The data associated with the event. |
| time | The timestamp of the event in ISO 8601 format at which it was published. |
Accounts
account.created
This event is triggered when a new account is created. Example payloadaccount.balance
This event is triggered when balance has changed on an account, usually as a result of a new transaction or a transaction status change. Example payload:account.transaction.created
This event is triggered when a transaction occurs on an account. Example payload:account.transfer.created
This event is triggered when the account initiates a transfer. Example payload:Card Accounts
cardaccount.created
This event is triggered when a new card account is created.Data is a object of type CardAccount
Example
cardaccount.balance
This event is triggered when card account balance is changed.cardaccount.transaction.created
This event is triggered when a new transaction is initiated on the card account.Data is a object of type CardAccountTransaction
cardaccount.transaction.updated
This event is triggered when a transaction on the card account is updated (e.g. the transaction status changes from pending to posted).Data is a object of type CardAccountTransaction
cardaccount.transaction.declined
This event is triggered when a transaction has been declined on the card accountdata is a object of type CardAccountTransaction
cardaccount.transaction.verification-code-delivered
This event is triggered when a security code is delivered to the client in relation to a payment authorization on the card account. The security code may be required to complete the transaction and should be delivered to the client as soon as possible to complete the transavtion.data is an object of type CardTransactionVerificationCode
Example:
cardaccount.googlepay.verification-code-delivered
This event is triggered when a security code is delivered to the client in relation to a payment authorization on the card account. The security code may be required to complete the googlepay and should be delivered to the client as soon as possible to complete the transavtion.data is an object of type CardTransactionVerificationCode
Example:
cardaccount.transaction.suspicious-activity-detected
This event is triggered when a card transaction has triggered one or more rules in our fraud risk enginedata is an object of type CardAccountSuspiciousActivity
cardaccount.client-identity.approved
This event is triggered when a client’s identity verification for a card account has been approved.data is an object containing the cardAccountId of the approved account.
cardaccount.client-identity.rejected
This event is triggered when a client’s identity verification for a card account has been rejected.data is an object containing the cardAccountId of the rejected account and rejectedReason of the rejected reason..
rejectedReason value has:
- Invalid ID
- Cannot Open Doc
- Image not Clear
- Incomplete Information
- Information Mismatch between ID and Input Data
- Block Nationality
- Multiple Accounts with Same KYC
3D Secure (3DS) Events
For complete integration guide including mobile app implementation and
postMessage handling, see 3D Secure Integration.cardaccount.transaction.challenge.initiated
This event is triggered when a 3DS challenge is initiated. It contains a unique, time-sensitive URL for the cardholder to approve or decline the transaction.data contains the approval URL and transaction details.
Payload:
| Field | Type | Description |
|---|---|---|
url | string | Time-sensitive URL for cardholder to approve/decline |
expiresAt | string (ISO 8601) | When the approval URL expires |
cardAccountId | string (UUID) | Card account ID |
cardId | string (UUID) | Card ID used for transaction |
merchant | string | Merchant name |
currency | string | Transaction currency (ISO 4217) |
amount | number | Transaction amount |
cardaccount.transaction.challenge.succeeded
This event is triggered when the cardholder successfully approves the transaction. Payload:cardaccount.transaction.challenge.declined
This event is triggered when the cardholder actively declines the transaction. Payload:cardaccount.transaction.challenge.failed
This event is triggered when the challenge expires or fails due to a system error. Payload:Cards
card.issued
This event is triggered when a new card is issued.data is an object of type Card
card.activated
This event is triggered when a card is activated and becomes ready for use.data is an object of type Card
card.suspended
This event is triggered when a card is suspended and can no longer be used for transactions.data is an object of type Card
card.unsuspended
This event is triggered when a suspended card is unsuspended and can once again be used for transactions.data is an object of type Card
card.locked
This event is triggered when a card is locked and can no longer be used for transactions.data is an object of type Card
card.unlocked
This event is triggered when a locked card is unlocked and can once again be used for transactions.data is an object of type Card
card.cancelled
This event is triggered when a card is cancelled and can no longer be used for transactions.data is an object of type Card
card.spending-controls.modified
This event is triggered when the spending controls for a card are modified (e.g. the daily spending limit is changed).data is an object of type Card
Payouts
The Payouts section includes several events that are emitted by the API in response to specific actions related to payouts:payout.created
This event is emitted when a new payout is created.data is an object of type Payout
payout.accepted
This event is emitted when a payout is accepted and is being processed.data is an object of type Payout
payout.succeeded
This event is emitted when a payout has been successfully completed.data is an object of type Payout
payout.cancelled
This event is emitted when a payout is cancelled.data is an object of type Payout
Others
depositaddress.assigned
This event is triggered when the user deposit address is created and updated.data is an object of type DepositAddress
Example
digitaldeposit.completed
This event is triggered when a digital deposit is confirmed.data is an object of type DigitalDeposit
Example
webhook.ping
This event is triggered when the webhook is created and resumed.What’s Next

