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
/************************************** * Backend code - my-backend-file.jsw * *************************************/ import { checkout } from "wix-ecom-backend"; export async function myCreateOrderFromCheckoutFunction(checkoutId) { try { const createOrderResponse = await checkout.createOrder(checkoutId); console.log("Success! Created an order from the checkout"); return createOrderResponse; } catch (error) { console.error(error); // Handle the error } } /************* * Page code * ************/ import { myCreateOrderFromCheckoutFunction } from "backend/my-backend-file"; // Sample checkoutId: const checkoutId = "23a7b29a-3c14-4ef1-9353-f4b714b13217"; myCreateOrderFromCheckoutFunction(checkoutId) .then((createOrderResponse) => { const orderId = createOrderResponse.orderId; const paymentGatewayOrderId = createOrderResponse.paymentGatewayOrderId; console.log("Success! Created an order from the checkout"); return createOrderResponse; }) .catch((error) => { console.error(error); // Handle the error }); /* Promise resolves to: * * { * "orderId": "02843248-495f-45c0-a5d6-e913f647c9f2", * "paymentGatewayOrderId": "f30440f4-413a-4382-bc38-7280b155a5ed" * } * */
Errors

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

Did this help?