put https://api.zenskar.com/checkout/
Update an existing checkout session's contract, customer details, expiration, currency, redirect URLs, attribution, or custom data.
Common use cases:
- Plan changes: Switch between subscription plans or products
- Quantity adjustments: Change seat counts or usage tiers
- Billing date changes: Adjust contract start date
- Customer information correction: Fix details for guest checkout
- Configuration updates: Change URLs, expiry, or add tracking data
Rules and validations:
- Only sessions in 'open' status and with payment_status 'not_started' can be updated
- Contract updates support both plan-based and product-based formats
- Currency must match between checkout session and contract if both provided
- URL fields must be valid, fully-qualified URLs with https scheme
- Customer details can only be updated for guest checkout sessions
- Customer identity (customer_id) cannot be changed after creation
System behavior:
- Contract changes automatically trigger recalculation of pricing estimates
- All updates are recorded in an audit trail under custom_data
- Last activity timestamp is updated to track checkout progression
- Validation errors will prevent any changes and return specific error codes
Related endpoints:
- POST /checkout_session: Creates the initial session that can be updated
- GET /checkout_session/{id}: Check current session state before updating
- POST /checkout_session/{id}/confirm: Process payment after updates are complete
- POST /checkout_session/summary: Preview pricing changes without creating a session