Skip to content
  • There are no suggestions because the search field is empty.

Checkout Versioning

To maintain a consistent and reliable payment workflow, Paydock's Checkout feature uses versioning. This allows you to control when and how you adopt updates, ensuring stability for your transactions.

Key Concepts

  • Consistency: Explicitly specifying a version in templates and API requests ensures your checkout processes work the same way across all environments.

  • Control: You decide when to adopt new features or updates, preventing unexpected changes to your payment workflows.

Versioning in the Dashboard

When you create or edit a template in the Dashboard, you'll see a "Version" field. This lets you manage and apply different versions of your templates to various checkout workflows.

  • Template Versions: Each template version corresponds to a specific set of features and behaviours.

  • Backwards Compatibility: Older template versions remain supported, so you can update templates without disrupting existing workflows.

Versioning in the API

When you create an intent using the /intent API endpoint, you must pass the Checkout intent version you want to use. This ensures the API and the checkout widget are always aligned. This removes ambiguity and reduces the risk of inconsistencies, even as Paydock releases updates.


Smart SDK Lookup

Paydock recommends using the Smart SDK Lookup to simplify SDK management. This feature automatically provides the optimal SDK URL based on the version you specify in your intent request.

How it works:

When you make an intent request, the API response will include a recommended_sdk_version_url. You then dynamically load this URL in your frontend application. This approach ensures you're always using a compatible SDK version without manual updates.

Best Practices:

  • Dynamic Injection: Always load the SDK URL from the intent request response.

  • Avoid Static URLs: Don't use static URLs or the "latest" tag, as this can lead to unexpected changes.

If your frontend logic doesn't support dynamic URLs, you can use Explicit Static Versioning. With this method, you manually specify the exact SDK version URL. However, this means you'll need to periodically update the URL to access new features and improvements.