Setup

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

Copy
npm install @wix/ecom

or

Copy
yarn add @wix/ecom

Then import { checkout } from @wix/ecom:

Copy
import { checkout } from "@wix/ecom";
Did this help?

addToCheckout( )


Adds catalog line items and/or custom line items to a checkout.

The addToCheckout() function returns a Promise that resolves to the updated checkout when the specified items have been added.

Note: When adding catalog items, options.lineItems.catalogReference is required.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Manage eCommerce - Admin Permissions
Learn more about app permissions.
Method Declaration
Copy
function addToCheckout(
  _id: string,
  options: AddToCheckoutOptions,
): Promise<AddToCheckoutResponse>;
Method Parameters
_idstringRequired

Checkout ID.


optionsAddToCheckoutOptions

Items to be added to checkout.

Returns
Return Type:Promise<AddToCheckoutResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function addToCheckout(id, options) { const response = await checkout.addToCheckout(id, options); }
Did this help?

createCheckout( )


Creates a checkout.

The createCheckout() function returns a Promise that resolves to the new checkout when it's created.

Notes:

  • Checkout must include at least 1 item in the options.lineItems array.
  • options.channelType is required.
  • If _id for options.lineItems is added, make sure that each _id is unique.
  • If options.checkoutInfo.customFields are added, then options.checkoutInfo.customFields.value is required.
Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Manage eCommerce - Admin Permissions
Learn more about app permissions.
Method Declaration
Copy
function createCheckout(options: CreateCheckoutOptions): Promise<Checkout>;
Method Parameters
optionsCreateCheckoutOptions

Checkout creation options.

Returns
Return Type:Promise<Checkout>
JavaScript
import { checkout } from "@wix/ecom"; async function createCheckout(options) { const response = await checkout.createCheckout(options); }
Did this help?

createOrder( )


Creates an order from a specified checkout.

The createOrder() function returns a Promise that resolves to the new order's ID and paymentGatewayOrderID when the order is created. Pass the paymentGatewayOrderId as the paymentId param to the startPayment() function to allow a customer to pay for their order.

Note: The following requirements must be met for an order to be created from a checkout.

  • A checkout cannot have calculation errors. Pass the checkout._id to Get Checkout and take a look at the calculationErrors field.
  • A checkout must have at least 1 line item.
  • All of the line Items have an availability.status of "AVAILABLE" or "PARTIALLY_AVAILABLE".
  • If there is a payment to be made, meaning that priceSummary.total is greater than 0, the billingInfo.address field must be provided.
  • When a checkout has line items to be shipped, the shippingInfo.shippingDestination.address and shippingInfo.selectedCarrierServiceOption fields must be provided.
  • When a checkout has line items for pickup, the shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails field must be provided.
Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function createOrder(
  _id: string,
  options: CreateOrderOptions,
): Promise<CreateOrderResponse>;
Method Parameters
_idstringRequired

Checkout ID.


optionsCreateOrderOptions

Further order creation options.

Returns
Return Type:Promise<CreateOrderResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function createOrder(id, options) { const response = await checkout.createOrder(id, options); }
Did this help?

getCheckout( )


Retrieves a checkout.

The getCheckout() function returns a Promise that resolves when the specified checkout is retrieved.

Permissions
Manage eCommerce - all permissions
Read eCommerce - all read permissions
Manage Stores - all permissions
Read Stores - all read permissions
Manage Orders
Read Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function getCheckout(_id: string): Promise<Checkout>;
Method Parameters
_idstringRequired

Checkout ID.

Returns
Return Type:Promise<Checkout>
JavaScript
import { checkout } from "@wix/ecom"; async function getCheckout(id) { const response = await checkout.getCheckout(id); }
Did this help?

getCheckoutUrl( )


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 the checkout page URL of a specified checkout.

By default, a checkoutUrl generates for a checkout and directs to a standard Wix checkout page. However, if overrideCheckoutUrl has a value, it will replace and set the value of checkoutUrl.

Permissions
Manage eCommerce - all permissions
Read eCommerce - all read permissions
Manage Stores - all permissions
Read Stores - all read permissions
Manage Orders
Read Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function getCheckoutUrl(_id: string): Promise<GetCheckoutURLResponse>;
Method Parameters
_idstringRequired

Checkout ID.

Returns
Return Type:Promise<GetCheckoutURLResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function getCheckoutUrl(id) { const response = await checkout.getCheckoutUrl(id); }
Did this help?

markCheckoutAsCompleted( )


Marks a checkout as completed - checkout.complete boolean is set to true.

The markCheckoutAsCompleted() function returns a Promise that resolves when the specified checkout is marked as completed.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function markCheckoutAsCompleted(_id: string): Promise<void>;
Method Parameters
_idstringRequired

Checkout ID.

JavaScript
import { checkout } from "@wix/ecom"; async function markCheckoutAsCompleted(id) { const response = await checkout.markCheckoutAsCompleted(id); }
Did this help?

removeCoupon( )


Removes the coupon from a specified checkout.

The removeCoupon() function returns a Promise that resolves to the updated checkout when the coupon is removed from the specified checkout.

Note: A checkout can only hold 1 coupon.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function removeCoupon(_id: string): Promise<RemoveCouponResponse>;
Method Parameters
_idstringRequired

ID of the checkout to remove the coupon from.

Returns
Return Type:Promise<RemoveCouponResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function removeCoupon(id) { const response = await checkout.removeCoupon(id); }
Did this help?

removeGiftCard( )


Removes the gift card from a specified checkout.

The removeGiftCard() function returns a Promise that resolves to the updated checkout when the gift card is removed from the specified checkout.

Note: A checkout can only hold 1 gift card.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function removeGiftCard(_id: string): Promise<RemoveGiftCardResponse>;
Method Parameters
_idstringRequired

ID of the checkout to remove the gift card from.

Returns
Return Type:Promise<RemoveGiftCardResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function removeGiftCard(id) { const response = await checkout.removeGiftCard(id); }
Did this help?

removeLineItems( )


Removes line items from the specified checkout.

The removeLineItems() function returns a Promise that resolves to the updated checkout when the line items are removed from the specified checkout.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function removeLineItems(
  _id: string,
  lineItemIds: Array<string>,
): Promise<RemoveLineItemsResponse>;
Method Parameters
_idstringRequired

ID of the checkout to remove line items from.


lineItemIdsArray<string>Required

IDs of the line items to be removed. To find the IDs of the checkout line items you'd like to remove, pass the checkout._id to getCheckout() and look for the IDs under lineItems and/or customLineItems.

Returns
Return Type:Promise<RemoveLineItemsResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function removeLineItems(id, lineItemIds) { const response = await checkout.removeLineItems(id, lineItemIds); }
Did this help?

removeOverrideCheckoutUrl( )


Developer Preview

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

Removes the overrideCheckoutUrl from a specified checkout.

When overrideCheckoutUrl is removed, the checkoutUrl will be set to the default, standard Wix checkout page URL.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function removeOverrideCheckoutUrl(
  _id: string,
): Promise<RemoveOverrideCheckoutUrlResponse>;
Method Parameters
_idstringRequired

ID of the checkout to remove the override checkout url from.

Returns
Return Type:Promise<RemoveOverrideCheckoutUrlResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function removeOverrideCheckoutUrl(id) { const response = await checkout.removeOverrideCheckoutUrl(id); }
Did this help?

updateCheckout( )


Updates a checkout.

The updateCheckout() function returns a Promise that resolves to the updated checkout when the specified properties are updated.

Notes:

  • If nothing is passed in the request, the call will fail.
  • The checkout.buyerInfo.email may not be removed once it is set.
Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Manage eCommerce - Admin Permissions
Learn more about app permissions.
Method Declaration
Copy
function updateCheckout(
  _id: string,
  checkout: UpdateCheckout,
  options: UpdateCheckoutOptions,
): Promise<Checkout>;
Method Parameters
_idstringRequired

Checkout ID.


checkoutUpdateCheckoutRequired

optionsUpdateCheckoutOptions

Checkout update options.

Returns
Return Type:Promise<Checkout>
JavaScript
import { checkout } from "@wix/ecom"; async function updateCheckout(id, checkout, options) { const response = await checkout.updateCheckout(id, checkout, options); }
Did this help?

updateLineItemsQuantity( )


Updates the quantity of one or more line items in a checkout.

This endpoint is only for updating the quantity of line items. To entirely remove a line item from the checkout, use removeLineItems(). To add a new line item to the checkout, use addToCheckout().

This endpoint checks the amount of stock remaining for this line item. If the specified quantity is greater than the remaining stock, then the quantity returned in the response is the total amount of remaining stock.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function updateLineItemsQuantity(
  _id: string,
  lineItems: Array<LineItemQuantityUpdate>,
): Promise<UpdateLineItemsQuantityResponse>;
Method Parameters
_idstringRequired

Checkout ID.


lineItemsArray<LineItemQuantityUpdate>Required

Line item info to update.

Returns
Return Type:Promise<UpdateLineItemsQuantityResponse>
JavaScript
import { checkout } from "@wix/ecom"; async function updateLineItemsQuantity(id, lineItems) { const response = await checkout.updateLineItemsQuantity(id, lineItems); }
Did this help?

onCheckoutCompleted( )


Note: This method registers a callback function as an event handler. Subscribe your app to the relevant event via the Webhooks page in the Wix Dev Center to enable it. For more information, see Handle Events With Webhooks.

Triggered when an order created from this checkout is successfully paid for or when a checkout is marked as completed.

Permissions
Manage eCommerce - all permissions
Read eCommerce - all read permissions
Manage Stores - all permissions
Read Stores - all read permissions
Manage Orders
Read Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function onCheckoutCompleted(handler: function): void;
Method Parameters
handlerfunction

handler(event: CheckoutCompletedEnvelope): void | Promise<void>

JavaScript
import { checkout } from "@wix/ecom"; checkout.onCheckoutCompleted((event) => { // handle your event here });
Did this help?

onCheckoutCreated( )


Note: This method registers a callback function as an event handler. Subscribe your app to the relevant event via the Webhooks page in the Wix Dev Center to enable it. For more information, see Handle Events With Webhooks.

Triggered when a checkout is created.

Permissions
Manage eCommerce - all permissions
Read eCommerce - all read permissions
Manage Stores - all permissions
Read Stores - all read permissions
Manage Orders
Read Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function onCheckoutCreated(handler: function): void;
Method Parameters
handlerfunction

handler(event: CheckoutCreatedEnvelope): void | Promise<void>

JavaScript
import { checkout } from "@wix/ecom"; checkout.onCheckoutCreated((event) => { // handle your event here });
Did this help?

onCheckoutUpdated( )


Note: This method registers a callback function as an event handler. Subscribe your app to the relevant event via the Webhooks page in the Wix Dev Center to enable it. For more information, see Handle Events With Webhooks.

Triggered when a checkout is updated.

Permissions
Manage eCommerce - all permissions
Read eCommerce - all read permissions
Manage Stores - all permissions
Read Stores - all read permissions
Manage Orders
Read Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function onCheckoutUpdated(handler: function): void;
Method Parameters
handlerfunction

handler(event: CheckoutUpdatedEnvelope): void | Promise<void>

JavaScript
import { checkout } from "@wix/ecom"; checkout.onCheckoutUpdated((event) => { // handle your event here });
Did this help?