> 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 # PauseOrder # Package: pricingPlans # Namespace: OrderManagementService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/orders/pause-order.md ## Permission Scopes: Manage Orders: SCOPE.DC-PAIDPLANS.MANAGE-ORDERS ## Introduction Pauses an order. Calling this method changes the order status to `"PAUSED"` and updates the `pausePeriods` array. Only orders with `status`: `ACTIVE` can be paused. For orders with recurring payments, it also pauses the payment schedule. Buyers are not charged when an order is paused. Pausing an order affects the end date of the order by adding the time the order is paused to the `endDate`. The `endDate` and the `earliestEndDate` for the order are adjusted to include the pause period when the order is resumed. To resume a paused order, call Resume Order. --- ## REST API ### Schema ``` Method: pauseOrder Description: Pauses an order. Calling this method changes the order status to `"PAUSED"` and updates the `pausePeriods` array. Only orders with `status`: `ACTIVE` can be paused. For orders with recurring payments, it also pauses the payment schedule. Buyers are not charged when an order is paused. Pausing an order affects the end date of the order by adding the time the order is paused to the `endDate`. The `endDate` and the `earliestEndDate` for the order are adjusted to include the pause period when the order is resumed. To resume a paused order, call Resume Order. URL: https://www.wixapis.com/pricing-plans/v2/orders/{id}/pause Method: POST Return type: PauseOrderResponse EMPTY-OBJECT {} ``` ### Examples ### PauseOrder ```curl ~~~cURL curl -X POST \ 'https://www.wixapis.com/pricing-plans/v2/orders/9e2f0450-f8ab-4459-a4a9-a851ebbd12d1/pause' \ -H 'Authorization: ' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.pricingPlans.OrderManagementService.pauseOrder(_id) Description: Pauses an order. Calling this method changes the order status to `"PAUSED"` and updates the `pausePeriods` array. Only orders with `status`: `ACTIVE` can be paused. For orders with recurring payments, it also pauses the payment schedule. Buyers are not charged when an order is paused. Pausing an order affects the end date of the order by adding the time the order is paused to the `endDate`. The `endDate` and the `earliestEndDate` for the order are adjusted to include the pause period when the order is resumed. To resume a paused order, call Resume Order. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: _id Method parameters: param name: _id | type: string | description: Order GUID. | required: true Return type: PROMISE EMPTY-OBJECT {} ``` ### Examples ### Cancel or pause a member order (with $w) This example provides a dropdown list of active orders for a logged-in member. The member selects a plan from the `#ordersDropdown` and clicks the `#cancelOrderBtn` to cancel the plan or the `#pauseOrderBtn` to pause the plan. ```javascript /********************************** * Backend code - order.web.js/ts * **********************************/ import { Permissions, webMethod } from '@wix/web-methods'; import { orders } from '@wix/pricing-plans'; import { auth } from '@wix/essentials'; const elevatedPauseOrder = auth.elevate(orders.pauseOrder); export const listCurrentMemberOrders = webMethod( Permissions.Anyone, async (orderStatuses) => { try { const result = await orders.memberListOrders(orderStatuses); return result; } catch (error) { console.error(error); // Handle the error } }); export const requestCancellation = webMethod( Permissions.Anyone, async (orderId) => { const effectiveAt = 'NEXT_PAYMENT_DATE'; try { await orders.requestCancellation(orderId, effectiveAt) ; return; } catch (error) { console.error(error); // Handle the error } }); export const pauseOrder = webMethod( Permissions.Anyone, async (orderId) => { try { await elevatedPauseOrder(orderId); return; } catch (error) { console.error(error); // Handle the error } }); /************* * Page code * *************/ import { listCurrentMemberOrders, requestCancellation, pauseOrder } from 'backend/order.web'; $w.onReady(function () { // Disabe UI elements on page load $w('#requestCancelOrderBtn').disable(); $w('#pauseOrderBtn').disable(); $w('#ordersDropdown').disable(); let selectedOrderId; populateOrdersDropdown(); $w('#ordersDropdown').onChange( () => { selectedOrderId = $w('#ordersDropdown').value; $w('#requestCancelOrderBtn').enable(); $w('#pauseOrderBtn').enable(); }); $w('#requestCancelOrderBtn').onClick(async () => { await requestCancellation(selectedOrderId); }); $w('#pauseOrderBtn').onClick(async () => { await pauseOrder(selectedOrderId); }); }); async function populateOrdersDropdown() { const activeOrdersList = await listCurrentMemberOrders({orderStatuses: 'ACTIVE'}); $w('#ordersDropdown').options = activeOrdersList.orders.map((order) => { return { label: order.planName, value: order._id } }); $w('#ordersDropdown').enable(); } ``` ### Pause a pricing plan order (with elevated permissions) ```javascript import { orders } from '@wix/pricing-plans'; import { auth } from '@wix/essentials'; /* Sample _id value: '9af3cbe6-fe27-4fdb-a0b0-892289b03d22' */ const elevatedPauseOrder = auth.elevate(orders.pauseOrder); export async function myPauseOrderFunction(_id) { try { await elevatedPauseOrder(_id); return; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### Pause a pricing plan order ```javascript import { orders } from '@wix/pricing-plans'; /* Sample _id value: '9af3cbe6-fe27-4fdb-a0b0-892289b03d22' */ export async function myPauseOrderFunction(_id) { try { await orders.pauseOrder(_id); return; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### pauseOrder (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 pauseOrder(_id) { const response = await myWixClient.orders.pauseOrder(_id); }; ``` ---