Commerce Events

Commerce webhooks use the flat sanitized payload (api_version: "2026-08-17"). Deduplicate on v2 event_id (v1 uses _id / id). Money is integer cents (84900 = $849.00).

A renewal must never be attributed as a new purchase — see first_purchase on Ecommerce Order Paid and Subscription Renewed.

EventFunnel meaning
Ecommerce Order PaidCheckout (or renewal order) payment collected. Use first_purchase to distinguish a new sale.
Subscription RenewedRecurring charge — not a new purchase. Always first_purchase: false.
Subscription Payment FailedRenewal payment attempt failed.
Subscription CancelledSubscription moved to pending-cancel.
Subscription PausedSubscription placed on hold.
Ecommerce Order RefundedRefund processed.
Post-Purchase Disqualification ProcessedPaid order unwound after a disqualifying intake answer.

Attribution (including optional landing_url / referrer_url) is documented in Attribution Passthrough.