Search.../

cancelOrder( )

Cancels an existing order.

Description

The cancelOrder() function returns a Promise that resolves when the order is successfully canceled.

For orders with recurring payments, a cancellation can be set to occur either IMMEDIATELY or at the NEXT_PAYMENT_DATE. For orders with one-time payments, a cancellation occurs IMMEDIATELY.

Canceling an order causes the following changes:

  • The order status changes to "CANCELED".

The onOrderCanceled() event handler runs when an order is canceled.

Canceling during the free trial period

When a buyer cancels their order during the free trial period, the buyer's subscription expires at the end of the free trial period and they will not be billed. The buyer may continue using the benefits until the end of the free trial period.

When a site owner cancels an ordered plan during the free trial period, they choose to apply the cancellation IMMEDIATELY or at the NEXT_PAYMENT_DATE. Canceling IMMEDIATELY ends the subscription for the buyer immediately, even during the free trial period and the buyer won't be billed. Canceling at the NEXT_PAYMENT_DATE allows the buyer to continue using the benefits of the subscription until the end of the free trial period. Then, the subscription ends and the buyer is not billed.

Note: Only site visitors with the Manage Pricing Plans and Manage Subscriptions permissions can cancel orders. You can override the permissions by setting the function's suppressAuth option to true.

Syntax

function cancelOrder(orderId: string, effectiveAt: string, [options: Options]): Promise<void>

cancelOrder Parameters

NAME
TYPE
DESCRIPTION
orderId
string

ID of the order to cancel.

effectiveAt
string

When the order is canceled. One-time orders can only be canceled immediately. Supported values:

  • "IMMEDIATELY". The order is canceled immediately.
  • "NEXT_PAYMENT_DATE". The order is canceled at the next payment date.
options
Optional
Options

Options to use when canceling an order.

Returns

Fulfilled - When the order is canceled.

Return Type:

Promise<void>

Was this helpful?

Cancel an order at a later date

Copy Code
1import { Permissions, webMethod } from 'wix-web-module';
2import { orders } from 'wix-pricing-plans-backend';
3
4// Sample orderId value: 'a8c4a1b2-b5e8-4b33-9693-057ec93e9a27'
5//
6// Sample effectiveAt value: 'NEXT_PAYMENT_DATE'
7
8export const myCancelOrderFunction = webMethod(Permissions.Anyone, async (orderId, effectiveAt) => {
9 try {
10 const order = await orders.cancelOrder(orderId, effectiveAt);
11
12 return order;
13 } catch (error) {
14 console.error(error);
15 }
16});
17
18// Returns a promise that resolves to void
Cancel an order immediately, bypassing permission checks

Copy Code
1import { Permissions, webMethod } from 'wix-web-module';
2import { orders } from 'wix-pricing-plans-backend';
3
4/* Sample orderId value: 'a8c4a1b2-b5e8-4b33-9693-057ec93e9a27'
5 *
6 * Sample effectiveAt value: 'IMMEDIATELY'
7 *
8 * Sample options value:
9 * {
10 * suppressAuth: true
11 * }
12 */
13
14export const myCancelOrderWithOptionsFunction = webMethod(Permissions.Anyone, async (orderId, effectiveAt, options) => {
15 try {
16 const order = await orders.cancelOrder(orderId, effectiveAt, options);
17
18 return order;
19 } catch (error) {
20 console.error(error);
21 }
22});
23
24// Returns a promise that resolves to void