Introduction

Developer Preview
APIs in Developer Preview are subject to change and are not intended for use in production.
Send us your suggestions for improving this API. Your feedback is valuable to us.

 

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

With the Checkout Templates 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.

To use the Checkout Templates API, import { checkoutTemplates } from the wix-ecom-backend module:

Copy
import { checkoutTemplates } from "wix-ecom-backend";

Permissions information

Except for createCheckoutFromTemplate(), all functions in the Checkout Templates API are restricted and only run if you elevate permissions using the wix-auth elevate() function.

Warning: Elevating a function allows it to be called by any site visitor. Exercise caution to prevent security vulnerabilities.

Did this help?

createAndRedirectToCheckout( )


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 and redirects to the new checkout page.

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

To build a URL that uses this function, follow this format: https://www.wixapis.com/ecom/v1/checkout-templates/{checkoutTemplateId}/create-and-redirect-to-checkout?siteId={siteId}

To create a checkout but not automatically redirect to the checkout page, use createCheckoutFromTemplate().

Method Declaration
Copy
function createAndRedirectToCheckout(
  checkoutTemplateId: string,
  siteId: string,
): Promise<RawHttpResponse>;
Method Parameters
checkoutTemplateIdstringRequired

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


siteIdstringRequired

ID of the site associated with the checkout template.

Returns
Return Type:Promise<RawHttpResponse>
JavaScript
import { checkoutTemplates } from "wix-ecom-backend"; async function createAndRedirectToCheckout(checkoutTemplateId, siteId) { try { const result = await checkoutTemplates.createAndRedirectToCheckout( checkoutTemplateId, siteId, ); return result; } catch (error) { console.error(error); // Handle the error } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

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.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
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>
JavaScript
import { checkoutTemplates } from "wix-ecom-backend"; async function createCheckoutFromTemplate(checkoutTemplateId, siteId) { try { const result = await checkoutTemplates.createCheckoutFromTemplate( checkoutTemplateId, siteId, ); return result; } catch (error) { console.error(error); // Handle the error } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

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.

Authentication

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function createCheckoutTemplate(
  checkoutTemplate: CheckoutTemplate,
): Promise<CheckoutTemplate>;
Method Parameters
checkoutTemplateCheckoutTemplateRequired

Checkout template to create.

Returns
Return Type:Promise<CheckoutTemplate>
JavaScript
import { checkoutTemplates } from "wix-ecom-backend"; async function createCheckoutTemplate(checkoutTemplate) { try { const result = await checkoutTemplates.createCheckoutTemplate(checkoutTemplate); return result; } catch (error) { console.error(error); // Handle the error } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

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.

Authentication

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function deleteCheckoutTemplate(checkoutTemplateId: string): Promise<void>;
Method Parameters
checkoutTemplateIdstringRequired

ID of the checkout template to delete.

JavaScript
import { checkoutTemplates } from "wix-ecom-backend"; async function deleteCheckoutTemplate(checkoutTemplateId) { try { const result = await checkoutTemplates.deleteCheckoutTemplate(checkoutTemplateId); return result; } catch (error) { console.error(error); // Handle the error } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

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.

Authentication

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function getCheckoutTemplate(
  checkoutTemplateId: string,
): Promise<CheckoutTemplate>;
Method Parameters
checkoutTemplateIdstringRequired

ID of the checkout template to retrieve.

Returns
Return Type:Promise<CheckoutTemplate>
JavaScript
import { checkoutTemplates } from "wix-ecom-backend"; async function getCheckoutTemplate(checkoutTemplateId) { try { const result = await checkoutTemplates.getCheckoutTemplate(checkoutTemplateId); return result; } catch (error) { console.error(error); // Handle the error } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

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()
Authentication

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function queryCheckoutTemplates(): CheckoutTemplatesQueryBuilder;
Request
This method does not take any parameters
JavaScript
import { checkoutTemplates } from "wix-ecom-backend"; async function queryCheckoutTemplates() { const { items } = checkoutTemplates.queryCheckoutTemplates().find(); }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

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.

Authentication

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function updateCheckoutTemplate(
  _id: string,
  checkoutTemplate: UpdateCheckoutTemplate,
  options: UpdateCheckoutTemplateOptions,
): Promise<CheckoutTemplate>;
Method Parameters
_idstringRequired

Checkout template ID.


checkoutTemplateUpdateCheckoutTemplateRequired

Checkout template info to update.


optionsUpdateCheckoutTemplateOptions
Returns
Return Type:Promise<CheckoutTemplate>
JavaScript
import { checkoutTemplates } from "wix-ecom-backend"; async function updateCheckoutTemplate(id, checkoutTemplate, options) { try { const result = await checkoutTemplates.updateCheckoutTemplate( id, checkoutTemplate, options, ); return result; } catch (error) { console.error(error); // Handle the error } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?