subscription-integration

Installation
SKILL.md

Dodo Payments Subscription Integration

Implement recurring billing with trials, plan changes, and on-demand charging. Subscriptions are created through Checkout Sessions, managed via the subscriptions API, and monitored through webhooks.

When to use this skill

  • Building a subscription product with recurring billing and trials
  • Handling plan upgrades, downgrades, and migrations mid-cycle
  • Implementing on-demand/off-session charging with mandates
  • Managing failed payments and dunning recovery
  • Building a customer self-service portal for subscription management

Core Concepts

Subscription lifecycle: The eight subscription statuses are pending, active, past_due, on_hold, paused, cancelled, failed, and expired. A trialing subscription reports active; subscription.renewed is an event, not a status. A failed renewal moves a subscription to past_due (only if you configured a grace period; access is kept) or on_hold (access revoked); both are recoverable. paused is a deliberate freeze by you or the customer. failed is terminal and only happens when initial creation fails. Cancellation sets it to cancelled or schedules it to become expired at period end.

Checkout Sessions: The recommended path for creating subscriptions. A single-use hosted checkout that collects payment and customer data, then creates the subscription server-side.

Installs
994
GitHub Stars
12
First Seen
Jan 21, 2026