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.