#Does 'subscription.active' fire only at the start of the first cycle or every cycle ?

1 messages · Page 1 of 1 (latest)

echo surge
#

I allot credits in my SaaS to be used by the user. Should I give them to the user on 'subscription.active' or 'subscription.renewed' ? Which would give better UX ?

spice quarryBOT
# echo surge I allot credits in my SaaS to be used by the user. Should I give them to the use...

Short answer: use both.

Best UX pattern

  • subscription.active → grant initial credits immediately
    • User just paid; instant access feels correct.
  • subscription.renewedrefill/reset credits for the new billing cycle
    • Happens only after a successful renewal charge.

Why

  • subscription.active fires once → ideal for first-time provisioning.
  • subscription.renewed fires every cycle → clean, predictable refills.
  • Avoids double-crediting and edge cases.

Implementation tips

  • Make credit grants idempotent per event + billing period.
  • If you allow plan changes, handle adjustments on subscription.plan_changed.

Helpful Links

Dodo Payments Documentation

The payload sent to your webhook endpoint when a subscription is created, updated, or changes state.

Dodo Payments Documentation

Understand the different webhook events triggered by Dodo Payments during payment, refund, subscription, dispute, and license key activities