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:
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.
function createPlan(planInfo: CreatePlanInfo): Promise<Plan>;
The information for the plan being created.
/*******************************
* 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!"
* }
*/
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.