Overview
Use webhooks to receive real-time notifications from Cora when key events happen. Current outbound event types:payment.successpayment.failedpayment.plan_created(unified tokenized plan flows and USAePay multi-installment success only)call.completed
Settings > Webhooks.
Events
How Delivery Works
- Create a webhook with a destination
urlandsubscribedEvents. You do this in the platform UI atSettings > Webhooks. - Cora generates and stores a per-webhook secret.
- When an event happens, Cora builds a standard webhook envelope and sends an HTTP
POSTto your URL. - Cora logs every attempt and retries transient failures.
Request Format
Every delivery is aPOST with Content-Type: application/json.
Headers:
X-Webhook-Signature: HMAC-SHA256 hex digest of the full JSON request body (JSON.stringifyof the whole envelope) signed with your webhook secretX-Webhook-Event: Event name (for examplepayment.successorcall.completed)X-Webhook-Timestamp: ISO-8601 timestamp from the payloadX-Webhook-Delivery-Id: Internal delivery log idX-Webhook-Idempotency-Key: Stable idempotency key for the event (forcall.completed, derived from organization andcallIdwhen present)User-Agent:Cora-Webhooks/1.0
eventCategory is payments for payment events and calls for call.completed. agent is only included for agent-level events where an agentId exists. idempotencyKey format varies by event type; payment events often include a timestamp component in the fallback form.
Retries, Timeouts, And Failures
- Delivery timeout:
30s - Success: any
2xxresponse - Retryable HTTP status codes:
408,429,500,502,503,504 - Network failures are retried
- Defaults per webhook:
maxRetries:3(total attempts: 4 including initial attempt)retryDelayMs:5000exponentialBackoff:true(multiplierx5per retry)