> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # CancelOrder # Package: pricingPlans # Namespace: OrderManagementService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/orders/cancel-order.md ## Permission Scopes: Manage Orders: SCOPE.DC-PAIDPLANS.MANAGE-ORDERS ## Introduction Cancels an existing order. 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 can only be set for `IMMEDIATELY`. --- ## REST API ### Schema ``` Method: cancelOrder Description: Cancels an existing order. 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 can only be set for `IMMEDIATELY`. #### 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 Wix user cancels an ordered plan during the free trial period, they choose whether to apply the cancellation `IMMEDIATELY` or at the `NEXT_PAYMENT_DATE`. Canceling `IMMEDIATELY` will end 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. URL: https://www.wixapis.com/pricing-plans/v2/orders/{id}/cancel Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: effectiveAt Method parameters: param name: effectiveAt | type: CancellationEffectiveAt | required: true - enum: UNDEFINED - Undefined cancellation time. IMMEDIATELY - Cancellation occurs immediately and the buyer can no longer use the plan. NEXT_PAYMENT_DATE - Cancellation occurs at the next payment date and time. Buyer can continue to use the plan until that date and time. Return type: CancelOrderResponse EMPTY-OBJECT {} ``` ### Examples ### CancelOrder ```curl ~~~cURL curl -X POST \ 'https://www.wixapis.com/pricing-plans/v2/orders/d5ce1234-c0a9-476c-abd3-c781bd589a78/cancel' \ -H 'Authorization: ' \ --data-raw '{"effectiveAt":"IMMEDIATELY"}' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.pricingPlans.OrderManagementService.cancelOrder(_id, effectiveAt) Description: Cancels an existing order. 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 can only be set for `IMMEDIATELY`. #### 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 Wix user cancels an ordered plan during the free trial period, they choose whether to apply the cancellation `IMMEDIATELY` or at the `NEXT_PAYMENT_DATE`. Canceling `IMMEDIATELY` will end 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: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: _id, effectiveAt Method parameters: param name: _id | type: string | description: Order GUID. | required: true param name: effectiveAt | type: CancellationEffectiveAt | required: true - enum: UNDEFINED - Undefined cancellation time. IMMEDIATELY - Cancellation occurs immediately and the buyer can no longer use the plan. NEXT_PAYMENT_DATE - Cancellation occurs at the next payment date and time. Buyer can continue to use the plan until that date and time. Return type: PROMISE EMPTY-OBJECT {} ``` ### Examples ### Cancel an order immediately (with elevated permissions) ```javascript import { orders } from '@wix/pricing-plans'; import { auth } from '@wix/essentials'; /* Sample _id value: 'e6f12ae0-2618-41e7-a643-31ca2ee51e2b' * * Sample effectiveAt value: 'IMMEDIATELY' */ const elevatedCancelOrder = auth.elevate(orders.cancelOrder); export async function myCancelOrderFunction(_id, effectiveAt) { try { await elevatedCancelOrder(_id, effectiveAt); return; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### Cancel an order immediately ```javascript import { orders } from '@wix/pricing-plans'; /* Sample _id value: 'e6f12ae0-2618-41e7-a643-31ca2ee51e2b' * * Sample effectiveAt value: 'IMMEDIATELY' */ export async function myCancelOrderFunction(_id, effectiveAt) { try { await orders.cancelOrder(_id, effectiveAt); return; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### cancelOrder (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { orders } from '@wix/pricing-plans'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { orders }, // Include the auth strategy and host as relevant }); async function cancelOrder(_id,effectiveAt) { const response = await myWixClient.orders.cancelOrder(_id,effectiveAt); }; ``` ---