Introduction

The Checkout Templates API allows you to manage pre-populated checkouts to share with customers. When customers then create checkouts from these templates, the new checkouts already include this information.

With this API, you can:

  • Run a sale on a specific product for a limited time
  • Limit a sale offer to a select number of checkouts
  • Customize the checkout experience

Before you begin

It’s important to note that the checkout template functionality is not currently available in the Wix Dashboard. If you create checkout templates with the API, you will also manage and update your checkout templates through the API. For example, when you offer a sale through a checkout template you need the API to change the template’s status to INACTIVE in order to turn off the sale when you want it to end.

Was this helpful?
Yes
No

Setup

To use the CheckoutTemplates API, install the @wix/ecom package using npm or Yarn:

Copy
1
npm install @wix/ecom

or

Copy
1
yarn add @wix/ecom

Then import { checkoutTemplates } from @wix/ecom:

Copy
1
import { checkoutTemplates } from '@wix/ecom'
Was this helpful?
Yes
No

createCheckoutFromTemplate( )

Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Creates a new checkout based on the checkout template.

Before using this function, you must have a checkout template available. Create a checkout template with createCheckoutTemplate().

The customer can be directed to the new checkout using the checkout's checkoutUrl.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Learn more about permission scopes.
Copy
function createCheckoutFromTemplate(checkoutTemplateId: string, siteId: string): Promise<CreateCheckoutFromTemplateResponse>
Method Parameters
checkoutTemplateIdstringRequired

ID of the checkout template to use to create a checkout from.


siteIdstringRequired

ID of the site associated with the checkout template.

Returns
Return Type:Promise<CreateCheckoutFromTemplateResponse>
Was this helpful?
Yes
No

createCheckoutTemplate( )

Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Creates a checkout template.

A checkout template is used to create a new checkout that will include predefined information. For example, a single link with a checkoutTemplateId can be shared with customers and each time the link is clicked, a new checkout page will be created for that customer with certain checkout information already populated.

The customizable features include the option to allow or to lock coupon codes or gift cards. For example, if a store owner is using the checkout template to offer a flash sale to their social media followers, they may want to lock the option to apply an additional coupon on top of the sale being offered. If so, they can set customization.lockedCoupon to true.

A checkout can be created with a checkout template by calling createCheckoutFromTemplate(). The site may add further customizations to the new checkout and then redirect the customer using the new checkout's checkoutUrl.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Learn more about permission scopes.
Copy
function createCheckoutTemplate(checkoutTemplate: CheckoutTemplate): Promise<CheckoutTemplate>
Method Parameters
checkoutTemplateCheckoutTemplateRequired

Checkout template to create.

Returns
Return Type:Promise<CheckoutTemplate>
Was this helpful?
Yes
No

deleteCheckoutTemplate( )

Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Deletes a checkout template.

If a checkout template is deleted and a customer attempts to create a checkout with that checkoutTemplateId then the customer will be redirected to the domain site.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Learn more about permission scopes.
Copy
function deleteCheckoutTemplate(checkoutTemplateId: string): Promise<void>
Method Parameters
checkoutTemplateIdstringRequired

ID of the checkout template to delete.

Was this helpful?
Yes
No

getCheckoutTemplate( )

Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Retrieves a checkout template.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Learn more about permission scopes.
Copy
function getCheckoutTemplate(checkoutTemplateId: string): Promise<CheckoutTemplate>
Method Parameters
checkoutTemplateIdstringRequired

ID of the checkout template to retrieve.

Returns
Return Type:Promise<CheckoutTemplate>
Was this helpful?
Yes
No

queryCheckoutTemplates( )

Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Creates a query to retrieve a list of checkout templates.

The queryCheckoutTemplates() function builds a query to retrieve a list of checkout templates and returns a CheckoutTemplatesQueryBuilder object.

The returned object contains the query definition, which is typically used to run the query using the find() function.

You can refine the query by chaining CheckoutTemplatesQueryBuilder functions onto the query. CheckoutTemplatesQueryBuilder functions enable you to sort, filter, and control the results that queryCheckoutTemplates() returns.

queryCheckoutTemplates() runs with the following CheckoutTemplatesQueryBuilder default that you can override:

  • ascending("_id")

The functions that are chained to queryCheckoutTemplates() are applied in the order they are called. For example, if you apply ascending("status") and then ascending("_id"), the results are sorted first by the "status", and then, if there are multiple results with the same "status", the items are sorted by "_id".

The following CheckoutTemplatesQueryBuilder functions are supported for the queryCheckoutTemplates() function. For a full description of the checkout template object, see the object returned for the items property in CheckoutTemplatesQueryResult.

PROPERTYSUPPORTED FILTERS & SORTING
_ideq(),ne(),exists(),in(),hasSome(),startsWith(),ascending(),descending()
statuseq(),ne(),exists(),in(),hasSome(),ascending(),descending()

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Learn more about permission scopes.
Copy
function queryCheckoutTemplates(): CheckoutTemplatesQueryBuilder
Request
This method does not take any parameters
Was this helpful?
Yes
No

updateCheckoutTemplate( )

Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Updates a checkout template.

If the info in a checkout template is updated, only new checkouts created from this template will include the updated items. Checkouts previously created from this template before the update will not be affected.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Learn more about permission scopes.
Copy
function updateCheckoutTemplate(_id: string, checkoutTemplate: UpdateCheckoutTemplate): Promise<CheckoutTemplate>
Method Parameters
_idstringRequired

Checkout template ID.


checkoutTemplateUpdateCheckoutTemplateRequired

Checkout template info to update.

Returns
Return Type:Promise<CheckoutTemplate>
Was this helpful?
Yes
No