Webhooks
Kazza uses webhooks to notify your server in real time whenever a payment event occurs. These webhooks ensure you always have the most up-to-date transaction status without needing to continuously pol
π Event Types
1. incoming_deposit_transaction_confirmation
incoming_deposit_transaction_confirmationTriggered when a payment has been detected on the blockchain, but is still awaiting required confirmations.
Payload Example
{
"received_amount": "1.35612",
"currency": "USDC",
"network": "BASE",
"event_type": "incoming_deposit_transaction_confirmation",
"expected_amount": "1.35612",
"reference_id": "checkout_12345",
"payment_transaction": {
"status": "pending",
"confirmations": 2,
"required_confirmations": 12,
"transaction_hash": "0xabc123def456..."
}
}2. deposit_transaction_confirmed
deposit_transaction_confirmedTriggered when the deposit has received all required confirmations and is now finalized.
Payload Example
{
"received_amount": "1.35612",
"currency": "USDC",
"network": "BASE",
"event_type": "deposit_transaction_confirmed",
"reference_id": "checkout_12345",
"payment_transaction": {
"status": "confirmed",
"confirmations": 12,
"required_confirmations": 12,
"transaction_hash": "0xabc123def456..."
}
}π Field Definitions
received_amount
string
Actual amount received on-chain.
expected_amount
string
Expected crypto amount (only present in incoming_deposit_transaction_confirmation).
currency
string
Currency code of the payment (e.g., USDC, USDT).
network
string
Blockchain/network the payment was made on (e.g., BASE, POLYGON, SOLANA).
event_type
string
Type of webhook event.
reference_id
string
Unique merchant reference ID provided during checkout.
payment_transaction
object
Detailed information about the blockchain transaction.
β status
string
Transaction status (pending, confirmed).
β confirmations
number
Number of confirmations received so far.
β required_confirmations
number
Number of confirmations required for finality.
β transaction_hash
string
Unique blockchain transaction hash (TXID).
π§βπ» Developer Notes
Always use the
reference_idto reconcile payments with your orders.Your webhook endpoint must return HTTP 200 OK to acknowledge receipt.
If you fail to acknowledge, Kazza will retry webhook delivery.
Handle idempotency: the same webhook may be sent more than once. Ensure your system processes each transaction once.
Treat
incoming_deposit_transaction_confirmationas informational. Only mark orders as paid after receivingdeposit_transaction_confirmed.
Last updated