createPlan( )


Creates a pricing plan.

The createPlan() function returns a Promise that resolves to a newly-created pricing plan after it has successfully been created.

The passed PlanInfo object must contain a pricing model. A pricing model is one of the following:

  • A subscription: A subscription with recurring payments and how often the plan recurs. Subscriptions can have free trial days.
  • A plan that does not renew: A single payment for a specific duration that does not renew.
  • An unlimited plan: A single payment for an unlimited amount of time (until cancelled).

Pricing plans created by this function are available to the site owner in the Pricing Plans section in the Dashboard.

Only users with "Manage Pricing Plans" permissions can create plans.

Method Declaration
Copy
function createPlan(planInfo: CreatePlanInfo): Promise<Plan>;
Method Parameters
planInfoCreatePlanInfoRequired

The information for the plan being created.

Returns
Return Type:Promise<Plan>
Create a plan
JavaScript
/******************************* * Backend code - plans.web.js * *******************************/ import { Permissions, webMethod } from "wix-web-module"; import wixPricingPlansBackend from "wix-pricing-plans-backend"; export const myCreatePlanFunction = webMethod( Permissions.Anyone, (planInfo) => { return wixPricingPlansBackend.createPlan(planInfo); }, ); /************* * Page code * *************/ import { myCreatePlanFunction } from "backend/plans.web"; // … const planInfo = { name: "Gold", description: "Gold membership to the MyGame World of Online Gaming", perks: ["Multiplayer", "Multiple devices", "No ads", "Unlimited access"], pricing: { price: { value: "10.00", currency: "USD", }, singlePaymentUnlimited: true, }, public: true, maxPurchasesPerBuyer: 1, allowFutureStartDate: true, buyerCanCancel: true, termsAndConditions: "No sharing access with others!", }; myCreatePlanFunction(planInfo) .then((plan) => { // plan created const planId = plan._id; const description = plan.description; console.log(plan); }) .catch((error) => { // plan not created const createError = error; }); /* Full plan object: * * { * "_id": "1ff7b4c8-877b-7896-11aa-6c69ae0b18eb", * "name": "Gold", * "description": "Gold membership to the MyGame World of Online Gaming", * "perks": [ * "Multiplayer", * "Multiple devices", * "No ads", * "Unlimited access" * ], * "pricing": { * "price": { * "value": "10.00", * "currency": "USD" * }, * "singlePaymentUnlimited": true * }, * "public": true, * "archived": false, * "primary": false, * "hasOrders": false, * "_createdDate": "2020-12-21T09:38:14.939Z", * "_updatedDate": "2020-12-21T09:38:14.939Z", * "slug": "gold", * "maxPurchasesPerBuyer": 1, * "allowFutureStartDate": true, * "buyerCanCancel": true, * "termsAndConditions": "No sharing access with others!" * } */
Errors

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

Did this help?