Subscriptions

Create and manage recurring subscriptions with plans, trials, cancellations, and billing schedules.

Overview

Subscriptions connect customers to plans for recurring access and billing. Each subscription tracks its billing cycle, trial period, cancellation status, and renewal schedule.

Subscriptions can be standard recurring, gift (donor or recipient), or membership-based with IP authorization.


How It Works

  1. Create a subscription - Assign a customer to a plan with optional trial period and coupon
  2. Manage the lifecycle - Handle renewals, plan changes, pauses, and cancellations
  3. Track status - Monitor active, trialing, past_due, canceled, and expired states

Example: A customer subscribes to your Premium Monthly plan with a 14-day trial. After the trial, they're automatically billed. Later, they upgrade to the Annual plan mid-cycle with prorated billing.


API Endpoints

MethodEndpointDescription
GET/api/v1/core/subscriptionsList all subscriptions
POST/api/v1/core/subscriptionsCreate a new subscription
GET/api/v1/core/subscriptions/{id}Get a subscription's details
PUT/api/v1/core/subscriptions/{id}Update a subscription
DELETE/api/v1/core/subscriptions/{id}Cancel a subscription
PUT/api/v1/core/subscriptions/{id}/change_planChange subscription plan
POST/api/v1/core/subscriptions/{id}/skip_trialEnd trial immediately
POST/api/v1/core/subscriptions/renewRenew a subscription
POST/api/v1/core/subscriptions/redeemRedeem a gift subscription
DELETE/api/v1/core/subscriptions/{id}/phasesDelete a subscription phase
POST/api/v1/core/subscriptions/{id}/shipments/{shipment_id}/returnsCreate a shipment return

Subscription Statuses

StatusWhat It Means
activeSubscription is active and paid
canceledSubscription was canceled
past_duePayment failed, awaiting retry
trialingCustomer is in trial period
unpaidPayment failed after all retries
incompleteInitial payment failed, awaiting completion
incomplete_expiredInitial payment window expired
extendedSubscription extended beyond normal period

Related Endpoints