Capture Modes: Off-Session vs Client Confirm
How trigger billing collects payment — automatically or with client approval
What It Is
The capture mode determines how payment is collected when a trigger fires.
Off-session (off_session) charges the stored payment method immediately with no client interaction. Edge processes via Stripe or PayPal, records revenue, fires trigger.captured webhook. This is automated billing — topups, metered usage, retainers.
Client confirm (client_confirm) does not charge immediately. Edge creates an invoice with a Pay Now link and emails it to the client. The client reviews the amount and description, then clicks Pay Now. Revenue recorded only after client pays. This is milestone and deliverable billing.
Why It Matters
Capture mode is your primary chargeback risk tool.
Off-session is fast but the customer did not approve that specific charge at that moment. Client-confirm is slower but the click creates a timestamped acknowledgement — difficult to dispute.
Choose based on the relationship: pre-authorized charges (topup, metered usage) suit off_session. Deliverables, milestones, and variable amounts suit client_confirm.
Edge shows a contextual advisory recommending client_confirm for event and variable trigger modes.
How It Works
Off-session path: Trigger fires → Edge charges stored payment method → Success: revenue written, trigger.captured webhook fired, failures reset → Failure: charge marked failed, consecutive failures incremented, after 3: enrollment auto-paused, trigger.enrollment.paused webhook.
Client-confirm path: Trigger fires → Edge creates invoice with Pay Now → Invoice emailed to client → charge marked pending_client → trigger.pending_client webhook → Client clicks Pay Now → payment processed → revenue written → trigger.client_paid webhook. If client doesn't pay in 3 days, Edge sends a reminder.
Off-Session vs Client Confirm
| Aspect | Off-Session | Client Confirm |
|---|---|---|
| Payment timing | Immediate | When client clicks Pay Now |
| Client interaction | None required | Reviews invoice and approves |
| Chargeback risk | Low to medium | Very low |
| Evidence trail | Enrollment authorization + charge history | Invoice sent + payment timestamp + IP logged |
| Best for | Automated topup, metered usage, retainers | Milestones, deliverables, variable project billing |
| Webhook events | trigger.captured or trigger.failed | trigger.pending_client then trigger.client_paid |
Examples
Off-session: wallet auto-topup
Customer balance drops to $11. Edge charges $200 to Visa 4242 automatically. Platform credits wallet via webhook. No client action needed.
Client-confirm: project milestone
Agency completes Phase 3. Fires trigger. Client gets email: "Invoice #1047 — Phase 3: Homepage and landing pages — $4,500 — Pay Now." Client reviews, confirms work matches, clicks Pay Now.