Edge Webhook Events
Complete reference for all billing events Edge fires
Edge fires webhook events when billing actions occur. These use Zyntro's existing webhook infrastructure — same HMAC signing, delivery logging, and retry behavior as all other Zyntro events.
Trigger Billing Events
| Event | Fires When | Key Payload Fields |
|---|---|---|
| trigger.captured | Trigger charge succeeds | charge_id, revenue_id, invoice_id, billing_customer_id, amount, gateway, gateway_ref, capture_mode |
| trigger.failed | Trigger charge fails | charge_id, billing_customer_id, failure_reason, decline_code, consecutive_failures |
| trigger.pending_client | client_confirm invoice sent | charge_id, invoice_id, amount, invoice_url, pay_now_sent_to |
| trigger.client_paid | Client pays trigger invoice | charge_id, revenue_id, invoice_id, amount, gateway_ref |
| trigger.enrollment.paused | Enrollment paused (auto or manual) | trigger_subscription_id, billing_customer_id, reason, consecutive_failures |
| trigger.enrollment.cancelled | Enrollment cancelled | trigger_subscription_id, billing_customer_id, billable_item_id |
Billing Customer Events
| Event | Fires When | Key Payload Fields |
|---|---|---|
| billing_customer.created | New billing customer created or restored | billing_customer_id, contact_id, gateway, status |
| billing_customer.suspended | Customer suspended | billing_customer_id, contact_id, reason |
Standard Webhook Payload Structure
json
{
"event_id": "evt_abc123",
"event_type": "trigger.captured",
"api_version": "2026-03-30",
"created_at": "2026-03-30T10:22:00Z",
"org_id": "org_xxx",
"data": {
"charge_id": "sc_xxx",
"revenue_id": "rev_xxx",
"invoice_id": "inv_xxx",
"billing_customer_id": "bc_xxx",
"billable_item_id": "bi_xxx",
"trigger_subscription_id": "ts_xxx",
"amount": 200.00,
"currency": "USD",
"gateway": "stripe",
"gateway_ref": "pi_xxx",
"capture_mode": "off_session",
"captured_at": "2026-03-30T10:22:00Z"
}
}
Important:
Edge uses Zyntro's existing webhook system. All payloads are HMAC-signed, delivered with configured auth headers, logged in the webhook delivery log, and retried on failure.
Tip:
The trigger.captured event is the most important for integrations. Subscribe to it to react when charges succeed — credit wallets, update project status, or notify your team.