Documentation menu

TransactKit-Prov1.0.0

TransactKit-Pro subscriptions

Use hosted subscription Checkout, refresh managed subscriptions, change plans or quantities, cancel, and reactivate scheduled cancellations.

Updated

Hosted subscription Checkout

POST /api/subscriptions/checkout-sessions uses an existing recurring Stripe Price and supports quantity, Customer ID or email, stable business and attempt references, optional trial days, promotion codes, Automatic Tax, and metadata.

  • An open attempt is retrieved and reused.
  • An expired retry requires a new attempt reference.
  • Checkout uses a stable idempotency key derived from the local Subscription UUID and attempt reference.
  • Local checkoutStatus is independent from Stripe subscriptionStatus.

Managed subscription boundary

TransactKit-Pro deliberately manages exactly one Stripe Subscription Item per local subscription. Stripe supports broader multi-item subscriptions, but zero-item and multi-item resources are rejected by direct APIs or ignored safely by webhook synchronization.

  • Only subscriptions identified by a locally mapped Stripe ID or exact TransactKit-Pro UUID plus matching business-reference metadata are synchronized.
  • Unmanaged Stripe subscriptions are never adopted by business reference alone.
  • Customer subscription lists originate from local managed records and refresh attached Stripe subscriptions.

Plan and quantity changes

POST /api/subscriptions/{id}/change changes the Price, quantity, or both. prorationBehavior must be CREATE_PRORATIONS, ALWAYS_INVOICE, or NONE.

Cancellation and reactivation

  • Cancel with timing IMMEDIATELY to delete the Stripe subscription now.
  • Cancel with PERIOD_END to set cancel_at_period_end.
  • Reactivate only when a non-canceled subscription has a scheduled cancellation.
  • Stripe remains authoritative for transition validity, renewal, payment retry, trial, tax, and proration behavior.