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
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. Use case: Display “Awaiting Payment” status to your customer.View example payload
View example payload
transfer.processing
Sent when: Funds have been sent and are being actively processed. Use case: Update UI to show “Processing…” status while Busha handles the transfer internally.View example payload
View example payload
transfer.funds_received
Sent when: Funds have been successfully received into your Busha account. Use case:- For deposits: This is the final status - funds are now in the account
- For conversions/payouts: This is an intermediate step before further processing
View example payload
View example payload
transfer.funds_converted
Sent when: Currency conversion is complete (crypto-to-fiat, fiat-to-crypto, or crypto-to-crypto). Use case:- For conversion-only transfers: This is the final status
- For payment flows: Mark order as “Paid” and fulfill the order
View example payload
View example payload
transfer.outgoing_payment_sent
Sent when: Outgoing payment has been initiated and is being processed for delivery. Use case: Update UI to show “Payment In Transit” for payouts/withdrawals.View example payload
View example payload
transfer.funds_delivered
Sent when: Funds have been successfully delivered to the recipient’s bank account or external wallet. Use case:- For payouts/withdrawals: This is the final status
- Send final confirmation to customer that funds have been delivered
View example payload
View example payload
transfer.cancelled
Sent when: Transfer is cancelled (due to expiration, user cancellation, or system cancellation). Use case: Update order status to “Cancelled” and notify customer.View example payload
View example payload
transfer.failed
Sent when: Transfer fails due to an error (insufficient funds, network issues, invalid recipient details, etc.). Use case: Alert support team and notify customer of the failure.View example payload
View example payload
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.created
Sent when: A new payment link is generated. Use case: Log payment request creation, track link generation, or send payment link to customer via email/SMS.View example payload
View example payload
payment_request.pending
Sent when: Payment request is awaiting customer payment. Use case: Track pending payments in your dashboard, send reminder emails, or update order status to “Payment Pending”.View example payload
View example payload
payment_request.completed
Sent when: Customer successfully completes payment via payment link. Use case: Fulfill order, send confirmation email, update inventory, and mark order as “Paid”. This is the key event for confirming successful payment.View example payload
View example payload
payment_request.expired
Sent when: Payment link expires without being completed (typically after 30 minutes to 1 hour). Use case: Update order status to “Payment Expired”, send a new payment link to customer, or cancel the pending order.View example payload
View example payload
payment_request.cancelled
Sent when: Payment request is manually cancelled by merchant or customer before completion. Use case: Clean up pending orders, update inventory, refund if partial payment was made, or notify customer of cancellation.View example payload
View example payload
Setting Up Webhooks
To configure webhooks in your Busha account and implement webhook handlers, see our Webhooks Setup Guide for detailed instructions.Testing Webhooks
Using webhook.site
- Go to webhook.site
- Copy your unique URL
- Add it to your Busha webhook settings
- Create a test transaction in sandbox mode
- View the webhook payload in real-time on webhook.site
Troubleshooting
Webhooks Not Being Received
- Check your webhook URL is accessible from the internet
- Verify your endpoint returns 200 status code
What’s next?
- Transfer Status Reference - Understand all transfer statuses
- Webhooks Setup Guide - Step-by-step webhook configuration