> 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 # Method name: memberListOrders(options: MemberListOrdersOptions) # Method package: wixPricingPlansV2 # Method menu location: wixPricingPlansV2 --> orders --> memberListOrders # Method Link: https://dev.wix.com/docs/velo/apis/wix-pricing-plans-v2/orders/member-list-orders.md # Method Description: Retrieves a list of up to 100 pricing plan orders for currently logged-in member. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Get orders for currently logged in members ```javascript import { orders } from 'wix-pricing-plans.v2'; export async function myMemberListOrdersFunction() { try { const ordersList = await orders.memberListOrders(); return ordersList; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to: * { * "orders": [ * { * "planPrice": "0", * "_id": "292c6b6b-81ec-4c10-b067-78b1a1b2fada", * "_createdDate": "2024-02-05T17:26:23.348Z", * "subscriptionId": "973e0e0b-85c2-4d2b-9693-fc8f1140d958", * "pausePeriods": [], * "_updatedDate": "2024-02-05T17:26:24.129Z", * "planName": "Free Plan", * "buyer": { * "memberId": "695568ff-1dc2-49ff-83db-2b518d35692b", * "contactId": "695568ff-1dc2-49ff-83db-2b518d35692b" * }, * "lastPaymentStatus": "NOT_APPLICABLE", * "status": "ACTIVE", * "orderMethod": "UNKNOWN", * "planDescription": "", * "formData": { * "formId": "ee62cefa-bdc2-4b5d-baab-6faeef83cecb", * "submissionId": "6d68798b-b5ea-4471-b029-dea6e4ac043a", * "submissionData": {} * }, * "statusNew": "ACTIVE", * "cycles": [ * { * "index": 1, * "startedDate": "2024-02-05T17:26:23.348Z" * } * ], * "type": "ONLINE", * "planId": "3a3e0ac2-a9e3-4bfd-ade3-bec3bab34d4b", * "startDate": "2024-02-05T17:26:23.348Z", * "currentCycle": { * "index": 1, * "startedDate": "2024-02-05T17:26:23.348Z" * }, * "pricing": { * "singlePaymentUnlimited": true, * "prices": [ * { * "duration": { * "cycleFrom": 1, * "numberOfCycles": 1 * }, * "price": { * "tax": { * "name": "Tax", * "includedInPrice": false, * "rate": "6.5", * "amount": "0" * }, * "total": "0", * "proration": "0", * "fees": [], * "currency": "USD", * "subtotal": "0.00", * "discount": "0" * } * } * ] * }, * "priceDetails": { * "planPrice": "0", * "tax": { * "name": "Tax", * "includedInPrice": false, * "rate": "6.5", * "amount": "0" * }, * "total": "0", * "currency": "USD", * "subtotal": "0.00", * "discount": "0", * "singlePaymentUnlimited": true * } * }, * { * "planPrice": "0", * "_id": "7b4ec42c-582a-4e2f-874b-09e66e0ae09d", * "_createdDate": "2024-01-28T08:35:15.230Z", * "subscriptionId": "08bc02c5-7663-4578-948a-ff23370e07e5", * "pausePeriods": [], * "_updatedDate": "2024-01-28T08:35:16.080Z", * "planName": "Standard Plan", * "buyer": { * "memberId": "695568ff-1dc2-49ff-83db-2b518d35692b", * "contactId": "695568ff-1dc2-49ff-83db-2b518d35692b" * }, * "lastPaymentStatus": "NOT_APPLICABLE", * "status": "ACTIVE", * "orderMethod": "UNKNOWN", * "planDescription": "Full functionality for new users", * "formData": { * "formId": "3ef36359-24bd-471a-aa8b-a5ca683b50f4", * "submissionId": "2cf62c7a-d3ed-4dd9-816d-01919aaf2170", * "submissionData": {} * }, * "statusNew": "ACTIVE", * "cycles": [ * { * "index": 1, * "startedDate": "2024-01-28T08:35:15.230Z" * } * ], * "type": "ONLINE", * "planId": "df83348a-777d-46ab-8d62-a43c415bdb11", * "startDate": "2024-01-28T08:35:15.230Z", * "currentCycle": { * "index": 1, * "startedDate": "2024-01-28T08:35:15.230Z" * }, * "pricing": { * "singlePaymentUnlimited": true, * "prices": [ * { * "duration": { * "cycleFrom": 1, * "numberOfCycles": 1 * }, * "price": { * "total": "0", * "proration": "0", * "fees": [], * "currency": "USD", * "subtotal": "0.00", * "discount": "0" * } * } * ] * }, * "priceDetails": { * "planPrice": "0", * "total": "0", * "currency": "USD", * "subtotal": "0.00", * "discount": "0", * "singlePaymentUnlimited": true * } * } * ] * } */ ``` ## Get orders for currently logged in members (export from backend code) ```javascript import { Permissions, webMethod } from 'wix-web-module'; import { orders } from 'wix-pricing-plans.v2'; export const myMemberListOrdersFunction = webMethod(Permissions.Anyone, async () => { try { const ordersList = await orders.memberListOrders(); return ordersList; } catch (error) { console.error(error); // Handle the error } }); /* Promise resolves to: * { * "orders": [ * { * "planPrice": "0", * "_id": "292c6b6b-81ec-4c10-b067-78b1a1b2fada", * "_createdDate": "2024-02-05T17:26:23.348Z", * "subscriptionId": "973e0e0b-85c2-4d2b-9693-fc8f1140d958", * "pausePeriods": [], * "_updatedDate": "2024-02-05T17:26:24.129Z", * "planName": "Free Plan", * "buyer": { * "memberId": "695568ff-1dc2-49ff-83db-2b518d35692b", * "contactId": "695568ff-1dc2-49ff-83db-2b518d35692b" * }, * "lastPaymentStatus": "NOT_APPLICABLE", * "status": "ACTIVE", * "orderMethod": "UNKNOWN", * "planDescription": "", * "formData": { * "formId": "ee62cefa-bdc2-4b5d-baab-6faeef83cecb", * "submissionId": "6d68798b-b5ea-4471-b029-dea6e4ac043a", * "submissionData": {} * }, * "statusNew": "ACTIVE", * "cycles": [ * { * "index": 1, * "startedDate": "2024-02-05T17:26:23.348Z" * } * ], * "type": "ONLINE", * "planId": "3a3e0ac2-a9e3-4bfd-ade3-bec3bab34d4b", * "startDate": "2024-02-05T17:26:23.348Z", * "currentCycle": { * "index": 1, * "startedDate": "2024-02-05T17:26:23.348Z" * }, * "pricing": { * "singlePaymentUnlimited": true, * "prices": [ * { * "duration": { * "cycleFrom": 1, * "numberOfCycles": 1 * }, * "price": { * "tax": { * "name": "Tax", * "includedInPrice": false, * "rate": "6.5", * "amount": "0" * }, * "total": "0", * "proration": "0", * "fees": [], * "currency": "USD", * "subtotal": "0.00", * "discount": "0" * } * } * ] * }, * "priceDetails": { * "planPrice": "0", * "tax": { * "name": "Tax", * "includedInPrice": false, * "rate": "6.5", * "amount": "0" * }, * "total": "0", * "currency": "USD", * "subtotal": "0.00", * "discount": "0", * "singlePaymentUnlimited": true * } * }, * { * "planPrice": "0", * "_id": "7b4ec42c-582a-4e2f-874b-09e66e0ae09d", * "_createdDate": "2024-01-28T08:35:15.230Z", * "subscriptionId": "08bc02c5-7663-4578-948a-ff23370e07e5", * "pausePeriods": [], * "_updatedDate": "2024-01-28T08:35:16.080Z", * "planName": "Standard Plan", * "buyer": { * "memberId": "695568ff-1dc2-49ff-83db-2b518d35692b", * "contactId": "695568ff-1dc2-49ff-83db-2b518d35692b" * }, * "lastPaymentStatus": "NOT_APPLICABLE", * "status": "ACTIVE", * "orderMethod": "UNKNOWN", * "planDescription": "Full functionality for new users", * "formData": { * "formId": "3ef36359-24bd-471a-aa8b-a5ca683b50f4", * "submissionId": "2cf62c7a-d3ed-4dd9-816d-01919aaf2170", * "submissionData": {} * }, * "statusNew": "ACTIVE", * "cycles": [ * { * "index": 1, * "startedDate": "2024-01-28T08:35:15.230Z" * } * ], * "type": "ONLINE", * "planId": "df83348a-777d-46ab-8d62-a43c415bdb11", * "startDate": "2024-01-28T08:35:15.230Z", * "currentCycle": { * "index": 1, * "startedDate": "2024-01-28T08:35:15.230Z" * }, * "pricing": { * "singlePaymentUnlimited": true, * "prices": [ * { * "duration": { * "cycleFrom": 1, * "numberOfCycles": 1 * }, * "price": { * "total": "0", * "proration": "0", * "fees": [], * "currency": "USD", * "subtotal": "0.00", * "discount": "0" * } * } * ] * }, * "priceDetails": { * "planPrice": "0", * "total": "0", * "currency": "USD", * "subtotal": "0.00", * "discount": "0", * "singlePaymentUnlimited": true * } * } * ] * } */ ``` ## Cancel or pause a member order ```javascript /******************************* * Backend code - order.web.js * ********************************/ import { Permissions, webMethod } from 'wix-web-module'; import { orders } from 'wix-pricing-plans.v2'; import { elevate } from 'wix-auth'; const elevatedPauseOrder = 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(); } ``` ## Resume paused orders by a member ```javascript /******************************* * Backend code - order.web.js * *******************************/ import { Permissions, webMethod } from 'wix-web-module'; import { orders } from 'wix-pricing-plans.v2'; import { elevate } from 'wix-auth'; const elevatedResumeOrder = elevate(orders.resumeOrder); export const getPausedMemberOrders = webMethod( Permissions.Anyone, async () => { try { const options = { orderStatuses: 'PAUSED' }; const result = await orders.memberListOrders(options); const getPausedMemberOrders = result.orders; return result; } catch (error) { console.error(error); // Handle the error } }); export const resumeOrder = webMethod( Permissions.Anyone, async (orderId) => { try { await elevatedResumeOrder(orderId); return; } catch (error) { console.error(error); // Handle the error } }); /************* * Page code * *************/ import { getPausedMemberOrders, resumeOrder } from 'backend/order.web'; $w.onReady(function () { let selectedOrderId; populateOrderButtonList(); $w('#orderSelection').onChange(() => { selectedOrderId = $w('#orderSelection').value; $w('#resumeOrderBtn').enable(); }); $w('#resumeOrderBtn').onClick(async () => { await resumeOrder(selectedOrderId); }); }); async function populateOrderButtonList() { const pausedOrders = await getPausedMemberOrders(); $w('#pausedOrders').options = pausedOrders.map(item => { return { label: item.planName, value: item._id } }); $w('#pausedOrders').show(); } ``` ---