StripeManaged.Subscription (StripeManaged v0.1.0)

Copy Markdown View Source

Manage subscriptions created through Managed Payments.

Subscriptions are created via Checkout Sessions, not directly. Use this module to retrieve, update, and cancel existing subscriptions.

Note: Invoice Items cannot be attached to Managed Payments subscriptions. All sales must originate from Checkout Sessions.

Summary

Functions

Cancels a subscription.

Lists subscriptions. Filter by customer, price, status, etc.

Returns a lazy Stream of all subscriptions, auto-paginating.

Resumes a paused subscription.

Retrieves a subscription by ID.

Updates a subscription.

Functions

cancel(id, params \\ %{}, opts \\ [])

@spec cancel(String.t(), map(), keyword()) :: StripeManaged.Client.response()

Cancels a subscription.

By default, cancels immediately. Pass cancel_at_period_end: true to cancel at the end of the current billing period instead.

list(params \\ %{}, opts \\ [])

@spec list(
  map(),
  keyword()
) :: StripeManaged.Client.response()

Lists subscriptions. Filter by customer, price, status, etc.

list_all(params \\ %{}, opts \\ [])

@spec list_all(
  map(),
  keyword()
) :: Enumerable.t()

Returns a lazy Stream of all subscriptions, auto-paginating.

resume(id, params \\ %{}, opts \\ [])

@spec resume(String.t(), map(), keyword()) :: StripeManaged.Client.response()

Resumes a paused subscription.

retrieve(id, opts \\ [])

@spec retrieve(
  String.t(),
  keyword()
) :: StripeManaged.Client.response()

Retrieves a subscription by ID.

update(id, params, opts \\ [])

@spec update(String.t(), map(), keyword()) :: StripeManaged.Client.response()

Updates a subscription.

Supports changing prices (upgrade/downgrade), quantity, metadata, and payment_behavior for proration control.