1
refreshClientSession(): Promise<Boolean>
ts
copy

Update the checkout with the latest client session.

Overview

When working with dynamic client sessions, merchants must call refreshClientSession to ensure the Headless Checkout has access to the most recent session changes. This method synchronizes the client-side representation with server-side updates.

Usage Guidelines

  • Call refreshClientSession immediately after updating the client session via PATCH /client-session
  • Ensures access to the latest session modifications for payment processing
  • Returns a boolean indicating the refresh operation's success

Important Limitations

  • This method only updates the client session data (currency, amount, etc.) in the SDK
  • It does not refresh the list of available payment methods or saved payment methods
  • It's critical to call this method after updating the client session to avoid payment declines especially for certain payment methods that are frontend-driven (Apple Pay, Google Pay, PayPal, and Klarna)
  • Some payment methods have specific limitations:
    • PayPal does not support currency updates and may require a complete SDK reload

Example

12345678
// After you've updated the client session via the API endpoint// PATCH /client-session
// Initialize Headless Checkoutconst headless = await Primer.createHeadless(clientToken, options);
// Refresh client session to access the latest changesconst success = await headless.refreshClientSession();
ts
copy

For complete information on how to update a client session, see our Manage client sessions documentation.

Platform Support

This method is currently available on the Web SDK. Mobile platforms (iOS, Android, React Native) require reinitializing the checkout to refresh the client session.