Skip to main content
Webhooks are on our roadmap. In the meantime, poll GET /verifications or verify synchronously in your order flow.

Planned design

When webhooks ship, you’ll be able to register an endpoint URL in the dashboard. Check.et will POST a signed payload when a verification completes:
{
  "event": "verification.completed",
  "data": {
    "id": 9812,
    "success": true,
    "bank": "cbe",
    "amount": 1350.00,
    "transaction_number": "FT25161234567"
  },
  "timestamp": "2025-06-10T14:32:00+03:00"
}

Current workaround

Call POST /verify synchronously in your checkout or order confirmation flow. Verification typically completes within 1–3 seconds for supported banks.
// In your order handler
const verification = await verifyPayment({
  bank: order.bank,
  transaction_number: order.ref,
  account_number: process.env.CBE_ACCOUNT,
})

if (!verification.success) {
  return res.status(400).json({ error: "Payment not confirmed" })
}

await fulfillOrder(order.id)