Update checkout session before confirmation

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
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required
Body Params

Contract data for checkout session. Updating this will recalculate estimates.

customer

Customer snapshot for guest checkout or to override existing customer details. Cannot change customer_id, only customer details.

When this checkout session expires. Format: ISO 8601 datetime.

Display currency for the checkout session. Must be a valid ISO 4217 currency code (e.g., 'USD', 'EUR'). If provided with contract, must match the contract currency.

length between 1 and 2083

URL to redirect customers after successful checkout. Must be a valid, fully-qualified URL.

length between 1 and 2083

URL to redirect customers after cancellation. Must be a valid, fully-qualified URL.

length between 1 and 2083

URL to redirect customers when payment is pending. Must be a valid, fully-qualified URL.

attribution

UTM and attribution data for marketing tracking. Helps track the source of the checkout session.

custom_data

Arbitrary key-value storage for additional data. Can be used to store metadata or integration-specific information.

enum

Reason for updating the checkout session. Useful for audit and tracking purposes.

length ≤ 500

Optional note explaining the reason for the update in more detail.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json