Learn more about Checkout Links, how to use them, and their best practices.
A Checkout Link is a unique, secure URL that you generate using Checkout to create an alternative way for your customers to pay for a purchase. Each Checkout Link represents a predefined Cart that can include specific products, quantities, and prices. It can be used only once and only for a single payment. When a customer clicks the Checkout Link, they are taken directly to a secure, hosted Checkout page where they can review their order and complete the payment. This approach reduces friction and increases security by handling the sensitive payment process on commercetools' compliant infrastructure.
Checkout Links share the same feature set as Checkout, which means that you can benefit from all its existing capabilities. These include features such as UI customizations, multi-PSP support, multiple payment methods, localization, payment predicates, and automatic order creation. The only difference is in how the Checkout is initialized. Instead of being triggered through a Cart or a product page on your website, it's generated as a shareable link that your customers can open directly. Checkout Links are hosted on your own website domain, ensuring a consistent and trusted experience for your customers.
Benefits of Checkout Links
| Topic | Description | Benefit |
|---|---|---|
| Pre-configured Cart | The link is generated with a fixed, pre-defined Order (products, quantities, amounts, and discounts). | Accuracy: eliminates potential ordering errors and ensures that the customer pays the exact intended amount. |
| Direct-to-Checkout | Clicking the link takes a customer instantly to a fully hosted, branded Checkout form, bypassing any website steps. | Maximum conversion: provides the fastest, most direct path to purchase, reducing customer drop-off and cart abandonment. |
| Secure and compliant | The transaction is processed entirely in the secure, PCI DSS compliant environment of Checkout. | Reduced risk: significantly lowers your organization's security scope and liability because you don't have to handle sensitive card data. |
| Easy distribution | The URL is simple and can be shared across any digital channel (email, SMS, LLMs, social media messaging, or QR Codes). | Sales agility: Allows you to accept payment anytime, anywhere your customers are, even outside of a traditional digital commerce environment. |
Use cases for Checkout Links
You can use Checkout Links whenever you need a fast, secure, and hosted way to accept payments. The following are some of the most impactful examples:
- Conversational commerce: integrate Checkout Links into AI chatbots or LLM-based assistants such as ChatGPT plugins or in-app AI sales agents. This lets you instantly generate and share a secure Checkout Link when a customer decides to make a purchase.
- Abandoned cart recovery: send customers a direct, personalized link via SMS or email that immediately takes them back to your checkout page, maximizing conversion recovery.
- Social and conversational commerce: use Checkout Links in social media messages, SMS, or messaging apps to sell directly where customers engage. You can use this method for social media influencer-related or campaign-specific sales.
- QR code payments: generate Checkout Links as QR codes to be used in-store or at events and pop-up shop environments. Customers can scan the code, and then pay instantly through the hosted Checkout page.
Create a Checkout Link
Before creating a Checkout Link, make sure that you've completed the following steps:
- Confirm your Checkout permissions and subscriptions in the Merchant Center
- Install at least one Payment Connector
- Create at least one Checkout Application
- Integrate Checkout with your web application
checkoutFlow method.Structure of a Checkout Link
You can structure Checkout Links in multiple ways to best fit your set up and security model:
Internal Checkout Link table
A robust option is to store an internal Checkout Link record in your database that includes the following data:
- Associated Cart ID
- Expiration date
- Any relevant custom information
Each record has its own internal ID that you can reference, as shown in the following example:
https://{your-domain}/checkout-links/{yourCheckoutLinkId}
This approach uses the following flow:
- Your customer accesses the Checkout Link containing the
checkoutLinkId. - Your backend looks up the record in the database to retrieve the
cartIdand any additional configuration details. - Using that
cartId, your backend creates a Checkout Session with the Sessions API. - The frontend initializes the Checkout SDK with the resulting
sessionIdand configuration data.
The internal Checkout Link table approach lets you have more flexibility, better link management, and custom per-link behavior.
Cart ID in the Checkout Link URL path
cartId directly in the Checkout Link URL, as shown in the following example:https://{your-domain}/checkout-links/{cartId}
This approach uses the following flow:
- Your customer navigates to the Checkout Link.
- Your backend extracts the
cartId. - Your backend calls the Sessions API to create a Checkout Session for that Cart.
- Your backend returns the
sessionIdto the frontend, which initializes the Checkout SDK.
cartId publicly in the URL, which might not be suitable for all use cases.Tokenized or signed Checkout Links
cartId is to generate a short-lived token or signed URL that encodes the cartId and any other relevant information, as shown in the following example:https://{your-domain}/checkout-links?token={token}
This approach uses the following flow:
- Your customer accesses the Checkout Link containing the token.
- Your backend validates and decodes the token to extract the
cartId. - Your backend creates the Checkout Session using the Sessions API.
- The frontend initializes the Checkout SDK with the resulting
sessionId.
cartId, and lets you set an expiration time and define the access permissions.Best practices for Checkout Links
Use the following recommendations to maximize the effectiveness of your Checkout Links:
Maximize trust through Checkout customization
A crucial best practice for using Checkout Links is ensuring the Checkout page feels like an extension of your brand. When the checkout environment is familiar and consistent, your customers feel more secure and are more likely to complete the transaction. Use Checkout’s customization features to achieve this high level of brand integrity and trust:
- Logo integration: add your high-resolution company logo to the Checkout page in Checkout application settings. This step ensures customers immediately recognize your brand, building security and trust and reducing abandonment rates.
- Styling and aesthetics: customize the font family and color scheme to directly mirror your official website or app design. Maintaining this consistent branded experience reinforces professionalism and reliability throughout the entire purchasing journey.
- Text and labels: adopt your brand's specific tone and language in all Checkout text, labels, and messages. This creates a seamless, familiar user experience by eliminating generic messaging and strengthening your brand voice.
- Payment method presentation: adjust the display name, logo, and brief description for each available payment method, for example, credit cards or digital wallets. This provides customers with a better understanding of their options, ensuring they confidently select their preferred method.
Listen to Messages and events for real-time updates
A key best practice is to integrate your systems to listen for real-time messages and events from Checkout. This ensures data integrity across your systems, enables accurate customer support, and supports reliable financial reconciliation.
- Checkout Messages: these are notifications triggered in a customer's browser (the frontend) when a specific action occurs on Checkout. By listening to Messages, you can instantly adjust the customer's view or provide immediate, context-specific feedback. For example, when a customer selects a payment method, the Payment Integration Selected message is triggered. If you listen to this Message, you can instantly display customized instructions or information relevant to that specific payment type. By using these Messages, you can dynamically guide customers and improve their checkout experience.
- Checkout Events: these are server-to-server notifications that report on the final state of an order or payment lifecycle. Subscribing to this comprehensive set of backend events helps you fully understand what happens after a payment is initialized. This enables seamless experience and helps your support team assist customers if any issues arise with the order or transaction. For example, if an event is triggered that indicates a refund action has failed, then you receive an immediate notification. This lets your support team to be proactive. You can then intervene and trigger the refund again to make sure that your customer receives their money quickly.
Customize your payment flow with Payment Predicates
By using Payment Predicates, you can introduce logic into your Checkout flow. This ensures that your customers can see only the most relevant payment options and protects your business from failed order creations.
- Payment Integration predicates: use Payment Integration predicates to tailor the availability of payment methods based on criteria you define, ensuring an optimized customer experience. By showing only relevant payment method options, you can reduce customer decision fatigue and increase the likelihood of a successful payment. For example, if you want to enable PayPal only for a specific Customer Group, you can achieve this using Payment Integration predicates.
- Automated Reversal predicates: use Automated Reversal predicates to define conditions for automatically canceling or refunding a payment if an order-creation process fails after the customer has paid. This is a risk mitigation tool that protects the customer experience and reduces your operational burden by automatically handling refunds for system-side errors.
Improve customer communication
How you present the link to your customer directly impacts their willingness to click and complete the transaction. Follow these best practices to maximize trust and professionalism:
- Use clear context: when sharing a Checkout Link to a customer through either email or chat message, always state the reason for the payment and the exact amount. We recommend that you don't paste the URL in your message without providing any additional context.
- Set expectations on completion: clearly inform the customer what happens next. For example: "Click this link to pay your invoice. You will be redirected to our secure Checkout page hosted by [your company name]."
- Maintain brand consistency: make sure that the email or message that contains the Checkout Link is sent from a recognizable, trusted business channel. For example, send the email from a company-branded email address, not a personal one. This reinforces the trust that you've built through your custom Checkout styling.