Skip to main content
Busha sends webhook notifications to your server when events happen on your account. Use webhooks to automate workflows and keep your application in sync with Busha.

Why Use Webhooks?

Webhooks eliminate the need to poll the API repeatedly instead, Busha notifies you instantly when something happens. Common use cases:
  • Confirm order fulfillment after payment
  • Update order status in your database
  • Send customer receipts automatically
  • Trigger inventory updates
  • Notify customers of payment status
  • Automate customer verification workflows

Customer Events

Customer events track the lifecycle of customer accounts, including creation, updates, and verification status changes.

customer.created

Sent when: A new customer account is created.

customer.updated

Sent when: Customer account information is updated (e.g., address, phone number, documents).

customer.verification.in_review

Sent when: Customer verification documents have been submitted and are under review.

customer.verification.active

Sent when: Customer verification has been approved and the account is now active.

customer.verification.rejected

Sent when: Customer verification has been rejected due to invalid or incomplete documents.

customer.verification.inactive

Sent when: Customer verification status has been reverted to inactive (e.g., due to compliance issues or account suspension).

Transfer Events

Transfer events track the complete lifecycle of all fund movements on Busha, including:
  • Deposits - Receiving crypto or fiat into your Busha account
  • Conversions - Converting between currencies (crypto-to-fiat, fiat-to-crypto, crypto-to-crypto)
  • Payouts - Sending funds to bank accounts or external wallets

transfer.pending

Sent when: A new transfer is created and awaiting funds.

transfer.processing

Sent when: Funds have been received and are being actively processed.

transfer.funds_received

Sent when: Funds have been successfully received into your Busha account. This is an intermediate status before conversion.

transfer.funds_converted

Sent when: Currency conversion is complete (crypto-to-fiat, fiat-to-crypto, or crypto-to-crypto). This is the final status for conversion transfers.

transfer.completed

Sent when: Transfer has been successfully completed. This is the final status for successful transfers.

transfer.failed

Sent when: Transfer fails due to an error (insufficient funds, network issues, invalid recipient details, etc.).

transfer.cancelled

Sent when: Transfer is cancelled (due to user cancellation or system cancellation).

transfer.funds_not_delivered

Sent when: Funds were received but could not be delivered to the final destination (e.g., invalid bank account, network issues during payout).

transfer.funds_refunded

Sent when: Funds are refunded to the balance following a failed transfer.

transfer.funds_delivered

Sent when: Funds have been successfully delivered to the final destination (e.g., bank account or external wallet).

Deposit Events

Deposit events track incoming funds to your Busha account from fiat or crypto sources.

deposit.success

Sent when: Funds are successfully deposited to your Busha account (fiat via bank transfer or crypto via wallet). Use case: Automatically convert deposits to your preferred currency using the Quotes and Transfers endpoints. For example, convert incoming fiat deposits to stablecoin or vice versa.
Key fields:
  • amount: The deposited amount (after fees)
  • fee: The deposit fee charged
  • total: The total amount deposited (before fees)
  • currency: The currency of the deposit (e.g., NGN, KES)
  • status: Deposit status (COMPLETED)
  • profile_id: The customer ID who made the deposit
  • reference: Unique deposit reference for reconciliation
  • channel: The method of deposit (e.g., bank_transfer)

Payment Request Events

Payment request events track the lifecycle of payment links created through the Busha Business API. These are typically used for e-commerce integrations, invoicing, and customer payment flows.

payment_request.pending

Sent when: Payment request is awaiting customer payment.

payment_request.processing

Sent when: Payment has been received and is being processed.

payment_request.completed

Sent when: Customer successfully completes payment via payment link.

payment_request.expired

Sent when: Payment link expires without being completed.

payment_request.failed

Sent when: Payment request fails due to an error.

payment_request.cancelled

Sent when: Payment request is manually cancelled by merchant or customer before completion.

Ramp Events

Ramp events track on/off-ramp transactions where users convert between fiat and cryptocurrency through Busha’s ramp service.

ramp.transfer.pending

Sent when: A ramp transfer (fiat to crypto or crypto to fiat) has been initiated and is awaiting processing.

ramp.transfer.completed

Sent when: Ramp transfer has been successfully completed and funds have been delivered.

ramp.transfer.failed

Sent when: Ramp transfer fails due to an error.

Setting Up Webhooks

To configure webhooks in your Busha account and implement webhook handlers, see our Webhooks Setup Guide for detailed instructions.

See Also