Navigation
Getting Started
Business Setup
Money
WebApp Modules
Developers
Offers Lifecycle Events
Overview
Lifecycle events are fired by the Offers module as purchases are created, payments are processed, subscriptions change state, and refunds or disputes are recorded. Each event can trigger an automation in the Automations module — sending emails, applying tags, granting or revoking access, and more.
Events originate from two places:
- Webhook processor — inbound payment events from your payment processor (Stripe, DashNex Pay)
- Offer services — internal actions such as manual status changes, refunds, and subscription cancellations
Event Reference
purchase_completedFired when a purchase transitions to completed status — either via a successful payment webhook or a manual status change by an admin. This is the primary event for granting product access and sending confirmation emails.
payment_failedFired when a payment attempt is declined by the payment processor. Includes the first failed charge and any subsequent retry failures during dunning. Use this event to send failed-payment notification emails to your customer.
subscription_renewedFired when a subscription's recurring charge is successfully collected. Triggers on every billing cycle after the initial purchase. Use to send renewal receipts or update subscription-based access.
subscription_cancelledFired when a subscription is cancelled — either by the customer, an admin, or automatically after dunning exhaustion. Use to revoke access, apply a churn tag, or trigger a win-back automation.
purchase_refundedFired when a refund is recorded on a purchase. Automatically removes any purchase tags and applies refund tags defined on the offer and checkout. Use to revoke product access or trigger a refund follow-up sequence.
purchase_disputedFired when a customer opens a dispute (chargeback) on a purchase. Use to immediately suspend access while the dispute is under review.
purchase_cancelledFired when a purchase is cancelled — either manually by an admin or automatically after the dunning schedule is exhausted. Applies cancellation tags defined on the offer and checkout.
purchase_pendingFired when a purchase is created and awaiting payment confirmation. Useful for sending "your order is being processed" messages for slower payment methods.
Using Events with Automations
Each lifecycle event can be used as an automation trigger. In the Automations module, select the event as the trigger and configure the actions to run — such as sending a transactional email, applying a tag, or enrolling the contact in a sequence.
You can filter automations to run only for a specific offer, checkout, or product, giving you precise control over which purchases trigger each workflow.
Common automation patterns
- purchase_completed → Send welcome email + grant portal access
- payment_failed → Send dunning email with payment update link
- subscription_renewed → Send renewal receipt email
- subscription_cancelled → Start win-back email sequence
- purchase_refunded → Remove product access, apply refund tag
Automatic Tag Application
The Offers module applies contact tags automatically on certain events — no automation setup required:
- purchase_completed — Applies purchase tags from the offer and checkout
- purchase_refunded — Removes purchase tags, applies refund tags
- purchase_cancelled — Applies cancellation tags from the checkout
Configure purchase and refund tags on the Offer, and per-checkout tags on each Checkout.
Next Steps
- Automations — Build workflows triggered by lifecycle events
- Dunning — Configure failed-payment recovery, which integrates with payment_failed events
- Offers — Set purchase and refund tags on your offers