Webhooks provide asynchronous status updates for quotes, payments, and payouts.
Kaito sends:
Kaito-Timestamp: unix epoch secondsKaito-Signature:sha256=<hex>
Compute HMAC_SHA256(secret, "{timestamp}.{raw_body}") and compare to the signature hex.
payment.createdpayment.succeededpayment.failedpayout.createdpayout.completedpayout.failedquote.expired
- Use a 2xx response to acknowledge receipt.
- Implement idempotency on your side using
event.id.