Select endpoints allow sorting results by field. Use "order": "ASC"
to sort results in ascending order, and "order": "DESC"
to sort in descending order.
For example, to sort plans by created date in descending order:
"sort": { "fieldName": "createdDate", "order": "DESC" }
Refer to the following tables to check which fields support sorting.
Field | Description | Query Filter Operators | Sorting |
---|---|---|---|
id | Plan ID | $eq, $ne, $hasSome | |
primary | Whether the plan is marked as primary, and highlighted in the site with a custom ribbon | $eq, $ne | Allowed |
slug | URL-friendly version of the plan name. Unique across all plans in the same site | $eq, $ne, $startsWith, $endsWith, $contains | Allowed |
createdDate | Date plan was created | $eq, $ne, $gt, $ge, $lt, $le, $between | Allowed |
updatedDate | Date plan was updated | $eq, $ne, $gt, $ge, $lt, $le, $between | Allowed |
Using the Plans API, you can create and manage pricing plans.
This includes building a customized membership plan experience, including implementing a customizable pricing page where customers can view the plans, including their perks, prices, and other features including free trials, purchase limitations, and more.
With the Plans API, you can:
Create and update plans. This includes:
Setting up pricing models for plans, such as free, one-time payment, and recurring payments (subscriptions).
Determining if pricing plans should have a duration or be valid until canceled by a customer.
Limiting plans so they can be purchased only 1 time by a single customer. By default, customers can make unlimited purchases of the same plan.
Note that updating the properties of an existing pricing plan doesn't affect any current orders or purchases of the plan. Existing orders retain their existing terms and pricing.
Get, list, and query plans.
Change the visibility, availability, and accessibility of a plan.
Get statistics about plans.
Archive plans.
Set or clear the primary plan. This determines if a plan is highlighted with a custom ribbon when viewing the plans on a site.
It's important to explore the types of plans available and other specifications, such as payment options and purchasing constraints.
Pricing plans can be:
Free plans. There is no charge to the site visitor or member.
One-time payment plans. The site visitor or member is charged once. These plans can be set to expire or continue indefinitely until they cancel.
Recurring plans. The site visitor or member is charged at predefined intervals (such as weekly, monthly, yearly). These plans can be set to expire or continue indefinitely until they cancel the subscription. Recurring plans can have free trial days.
Recurring plans can be set to have free trial days using the plan's freeTrialDays
property.
During free trial days, site visitor and members can cancel the plan and they won’t be charged.
Free trial days are applied only once per site visitor or member for a plan. This means that if a plan with a free trial was purchased once, the second time they purchase it, the free trial days aren't applied. In this case, the site visitor or member is charged for the plan right away.
Some plans can be purchased only a limited number of times by a single site visitor or member based on the value of the plan's purchaseLimitations
property.
If the plan is updated, the limit is checked by the current plan details. For example, let's assume a plan's purchase limit was initially set to 1 and a site visitor or member purchased the plan. If later the limit is updated to 2, they can still purchase the same plan a second time.
A plan can be active for specified periods of time from the date of purchase. The active period is established in the same intervals as the payment periods (weeks, months, years). Plans can also be defined so they never expire (meaning, the plan continues indefinitely until the member cancels). This is true for both one-time and recurring plans.
Slugs are used to support dynamic pages.
A slug is generated on a plan's creation and is updated when a plan's name is updated. For example, if the plan's name is "Test Plan," the generated slug is "test-plan." If a plan already exists with a slug "test-plan" for the site, a number is appended to it. The slug becomes "test-plan-1".
It's important to note the following point before starting to code:
Plan: A membership plan or package, offering bundles of features or “perks.”
Primary plans: Plans that are labeled with a ribbon that is customizable on a site.
Archived plans: Plans that can no longer be purchased or edited, but existing plan holders can still enjoy purchased membership and continue to be charged until canceled or expired.
Hidden plans: Plans that are not currently visible to customers. Hidden plans may still be sold manually to customers.
Free trial: A feature allowing for the trying out of the perks of the plan for a selected amount of days before the first charge. Relevant for recurring plans.
Plan Policy: The definition of terms and conditions for the customer. A plan's policy can be displayed on a site's checkout page.
This article shares a possible use case you could support, as well as a sample flow that could support the use case. This can be a helpful jumping off point as you plan your implementation.
Wix users can keep their external platform up to date with the pricing plans they offer. For example, when a site owner adds a new pricing plan to a Wix site, the external platform will have the new plan available for purchase.
Use this flow to implement a sync from a Wix site to an external system:
createdEvent.entity
if a plan was created or actionEvent.body.plan
if a plan was archived.Information about the pricing plan.
Plan ID.
Plan name.
Plan description.
List of text strings that promote what is included with this plan. For example, "Plenty of parking" or "Free gift on your birthday."
Plan price, payment schedule, and expiration.
Whether the plan is public (visible to site visitors and members).
Whether the plan is archived. Archived plans are not visible and can't be purchased anymore, but existing purchases remain in effect.
Whether the plan is marked as primary.
Whether the plan has any orders (including pending and unpaid orders).
Date plan was created.
Date plan was last updated.
URL-friendly version of plan name. Unique across all plans in the same site.
Number of times the same buyer can purchase the plan. Currently limited to support:
0
, meaning no limitation.1
, meaning limited to 1 purchase per buyer.Whether the buyer can start the plan at a later date. Defaults to false.
Whether the buyer is allowed to cancel their plan. Defaults to false. If false, calling Request Cancellation returns an error.
Any terms and conditions that apply to the plan. This information is displayed during checkout.
ID of the form associated with the plan at checkout.
Learn more about forms.
Retrieves a list of up to 100 public pricing plans. Public plans are visible plans that are available to site visitors and can be purchased.
List of public pricing plans.
Object containing paging-related data (such as the number of plans returned, the offset, and so on).
curl -X GET \
https://www.wixapis.com/pricing-plans/v2/plans/public?offset=15&limit=2
-H 'Authorization: <AUTH>'
{
"plans": [
{
"id": "31e40c78-...-980f-0bf8436307fb",
"name": "VIP Monthly",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"primary": false,
"createdDate": "2020-06-18T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "vip-monthly",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
},
{
"id": "31e40c78-...-980f-0bf8436307fb",
"name": "Silver membership",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "WEEK"
},
"cycleCount": 12
},
"price": {
"value": "10",
"currency": "USD"
}
},
"primary": false,
"createdDate": "2020-06-18T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "silver-membership",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
]
}
Retrieves a list of up to 1,000 public pricing plans, given the provided pagination, sorting, and filtering (SDK | REST).
Query options.
List of public pricing plans that match the specified query.
Object containing paging-related data (such as the number of plans returned, the offset, and so on).
curl -X POST \
https://www.wixapis.com/pricing-plans/v2/plans/public/query
--data-binary '{
"query": {
"paging" : {
"offset": 0,
"limit": 1
},
"sort": [
{
"fieldName": "createdDate",
"order": "DESC"
}
],
"filter": {
"id": {
"$ne": "ee187a1b-...-9f7a-936f2cd9d100"
}
}
}
}'
-H 'Authorization: <AUTH>'
{
"plans": [
{
"id": "31e40c78-3ac0-443d-980f-0bf8436307fb",
"name": "VIP Monthly",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"primary": false,
"createdDate": "2020-06-18T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "vip-monthly",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
]
}
Retrieves a pricing plan by ID.
You can only call this method when authenticated as a Wix app or Wix user identity.
Plan ID.
Pricing plan.
curl -X GET \
https://www.wixapis.com/pricing-plans/v2/plans/ee187a1b-...-9f7a-936f2cd9d100
-H 'Authorization: <AUTH>'
{
"plan": {
"id": "ee187a1b-...-9f7a-936f2cd9d100",
"name": "VIP monthly",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"public": true,
"archived": false,
"primary": false,
"hasOrders": true,
"createdDate": "2021-01-10T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "vip-monthly",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
}
Retrieves a list of up to 100 pricing plans (including public, hidden, and archived plans).
You can only call this method when authenticated as a Wix app or Wix user identity.
Archived filter. Defaults to ACTIVE
(not archived) only.
Visibility filter. Defaults to PUBLIC_AND_HIDDEN
(meaning, both are listed).
Number of pricing plans to list. Defaults to 75
.
Number of pricing plans to skip. Defaults to 0
.
IDs of plans to list. If non-existent IDs are specified, they are ignored and don't cause errors. If no IDs are specified, all public and hidden plans are listed according to the order displayed in a site's dashboard (which you can set with Arrange Plans). You can specify a maximum of 100 IDs.
List of all public and hidden pricing plans.
Object containing paging-related data (such as the number of plans returned, the offset, and so on).
curl -X GET \
https://www.wixapis.com/pricing-plans/v2/plans?planIds=e9e1d210-...-b6e8-92e56705b937&planIds=2cb7396c-...-bb2e-cb27ac741d78&offset=1&archived=ACTIVE
-H 'Authorization: <AUTH>'
{
"plans": [
{
"id": "e9e1d210-...-b6e8-92e56705b937",
"name": "VIP monthly",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"public": true,
"archived": false,
"primary": false,
"hasOrders": true,
"createdDate": "2021-01-10T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "vip-monthly",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
},
{
"id": "2cb7396c-...-bb2e-cb27ac741d78",
"name": "Silver membership",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "WEEK"
},
"cycleCount": 12
},
"price": {
"value": "10",
"currency": "USD"
}
},
"public": true,
"archived": false,
"primary": false,
"hasOrders": true,
"createdDate": "2021-01-10T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "silver-membership",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
]
}
Creates a pricing plan. The specified plan
object must contain a pricing model. A pricing model can be 1 of the following:
You can only call this method when authenticated as a Wix app or Wix user identity.
Plan details.
Created plan.
curl -X POST \
https://www.wixapis.com/pricing-plans/v2/plans
--data-binary '{
"plan": {
"name": "VIP monthly",
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
}
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
}
}
}'
-H 'Authorization: <AUTH>'
{
"plan": {
"id": "31e40c78-...-0bf8436307fb",
"name": "VIP monthly",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"public": true,
"archived": false,
"primary": false,
"hasOrders": true,
"createdDate": "2021-01-10T09:05:20.063Z",
"updatedDate": "2021-01-10T09:05:20.063Z",
"slug": "vip-monthly",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
}
Gets statistics about the pricing plans. Currently provides only the total number of pricing plans, including archived plans.
You can only call this method when authenticated as a Wix app or Wix user identity.
Total number of plans created, including active plans (both public and hidden) and archived plans.
curl -X GET \
https://www.wixapis.com/pricing-plans/v2/plans/stats
-H 'Authorization: <AUTH>'
{
"totalPlans": 80
}
Updates a pricing plan. Updating a plan doesn't impact existing orders made for the plan. All orders keep the details of the original plan that was active at the time of purchase.
You can only call this method when authenticated as a Wix app or Wix user identity.
Plan ID.
ID of the plan to update.
Updated plan.
curl -X PATCH \
https://www.wixapis.com/pricing-plans/v2/plans/31e40c78-...-0bf8436307fb
--data-binary '{
"plan": {
"id": "31e40c78-...-0bf8436307fb",
"name": {
"value": "VIP Monthly Updated"
},
"archived": false,
"primary": false
}
}'
-H 'Authorization: <AUTH>'
{
"plan": {
"id": "31e40c78-...-0bf8436307fb",
"name": "VIP Monthly Updated",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"public": true,
"archived": false,
"primary": false,
"hasOrders": true,
"createdDate": "2021-01-10T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "vip-monthly-updated",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
}
Sets visibility for pricing plans. Visible plans are considered public plans. By default, pricing plans are public, meaning they are visible. Plans can be hidden so that site members and visitors can't choose them. As opposed to archiving, setting visibility can be reversed. This means that a public plan can be hidden, and a hidden plan can be made public (visible). (An archived plan always remains archived and can't be made active again.) Changing a plan’s visibility doesn't impact existing orders for the plan. All orders for hidden plans are still active and keep their perks.
You can only call this method when authenticated as a Wix app or Wix user identity.
The ID of the plan to either display or hide on a site page.
Whether a plan is visible to members and site visitors. Updates the public
field.
Pricing plan.
curl -X PATCH \
https://www.wixapis.com/pricing-plans/v2/plans/890016b7-...-a545-681e7d28fc00/visibility
--data-binary '{"visible": false}'
-H 'Authorization: <AUTH>'
{}
Marks a pricing plan as the primary pricing plan. When viewing pricing plans on a site, the primary plan is highlighted with a customizable ribbon. Only a single plan can be marked as a primary plan at any given time. If there is an existing plan marked as primary, calling Make Plan Primary causes the existing primary plan to lose its primary status.
You can only call this method when authenticated as a Wix app or Wix user identity.
Pricing plan ID.
Pricing plan.
curl -X POST \
https://www.wixapis.com/pricing-plans/v2/plans/e9e1d210-...-b6e8-92e56705b937/make-primary
-H 'Authorization: <AUTH>'
{
"plan": {
"id": "e9e1d210-...-b6e8-92e56705b937",
"name": "VIP monthly",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"public": true,
"archived": false,
"primary": true,
"hasOrders": true,
"createdDate": "2021-01-10T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "vip-monthly",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
}
Sets all pricing plans as not primary. When viewing pricing plans on a site, no plan is highlighted with a customizable ribbon.
You can only call this method when authenticated as a Wix app or Wix user identity.
curl -X POST \
https://www.wixapis.com/pricing-plans/v2/plans/clear-primary
-H 'Authorization: <AUTH>'
{}
Archives a single plan.
When a plan is archived, it's no longer visible as a public plan that can be chosen by site members or visitors.
This is because the plan's public
property is automatically set to false
.
Archived plans can't be purchased or reactivated.
Plan archiving doesn't impact existing orders made for the plan. All orders for the plan are still active and keep their perks, payment options, and terms.
Wix users can see archived plans in a site's dashboard under Pricing Plans -> Archived Plans.
Note: An attempt to archive an already-archived plan throws an error.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the active plan to archive.
Archived plan.
curl -X POST \
https://www.wixapis.com/pricing-plans/v2/plans/31e40c78-...-0bf8436307fb/archive
-H 'Authorization: <AUTH>'
{
"plan": {
"id": "31e40c78-...-0bf8436307fb",
"name": "VIP monthly",
"description": "",
"perks": {
"values": ["Free consulting", "Multi-user"]
},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "23",
"currency": "USD"
}
},
"public": false,
"archived": true,
"primary": false,
"hasOrders": true,
"createdDate": "2021-01-10T09:05:20.063Z",
"updatedDate": "2021-02-09T09:21:47.649Z",
"slug": "vip-monthly",
"maxPurchasesPerBuyer": 1,
"allowFutureStartDate": true,
"buyerCanCancel": true,
"termsAndConditions": "No sharing please."
}
}
Triggered when a plan's buyerCanCancel
field is updated.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.pricing_plans.plan
.
Event name. Expected buyer_can_cancel_updated
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.pricing_plans.plan_buyer_can_cancel_updated",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"plan": {
"id": "e12bef18-1094-4ad5-b38b-86bfdabab27e",
"name": "Forever",
"description": "",
"perks": {
"values": []
},
"pricing": {
"singlePaymentUnlimited": true,
"price": {
"value": "330",
"currency": "USD"
},
"feeConfigs": []
},
"public": true,
"archived": false,
"primary": false,
"hasOrders": false,
"createdDate": "2022-06-02T13:08:40.458Z",
"updatedDate": "2024-11-12T10:28:06.689Z",
"slug": "forever",
"maxPurchasesPerBuyer": 0,
"allowFutureStartDate": false,
"buyerCanCancel": false,
"termsAndConditions": ""
}
}
Triggered when a pricing plan is created.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.pricing_plans.plan
.
Event name. Expected created
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.pricing_plans.plan_created",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
//Subscription (i.e. recurring payment) plan archived:
{
"id": "68117b5d-ddc7-4b7c-bb8f-ee8ffeb6ae06",
"entityFqdn": "wix.pricing_plans.plan",
"slug": "created",
"entityId": "b5d4d289-394c-464d-8133-41891a413f0f",
"createdEvent": {
"entityAsJson": {
"id": "b5d4d289-394c-464d-8133-41891a413f0f",
"name": "Advanced plan",
"description": "",
"perks": {},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "MONTH"
},
"cycleCount": 3
},
"price": {
"value": "45",
"currency": "USD"
},
"freeTrialDays": 7
},
"public": true,
"createdDate": "2021-01-05T15:37:43.437Z",
"updatedDate": "2021-01-05T15:37:43.437Z",
"slug": "advanced-plan",
"allowFutureStartDate": false,
"buyerCanCancel": true,
"termsAndConditions": ""
}
},
"eventTime": "2021-01-05T15:37:43.544020Z",
"triggeredByAnonymizeRequest": false
}
//Pricing for single payment plan with duration:
{
"pricing": {
"singlePaymentForDuration": {
"count": 3,
"unit": "MONTH"
},
"price": {
"value": "23",
"currency": "USD"
}
}
}
//Pricing for single payment unlimited duration plan (i.e. valid until canceled):
{
"pricing": {
"singlePaymentUnlimited": true,
"price": {
"value": "47",
"currency": "USD"
}
}
}
Triggered when a pricing plan is archived.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.pricing_plans.plan
.
Event name. Expected plan_archived
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.pricing_plans.plan_plan_archived",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
//Subscription (i.e. recurring payment) plan archived:
{
"id": "5748fa2d-5b8f-4f0e-b7c1-8fd0d800cb0b",
"entityFqdn": "wix.pricing_plans.plan",
"slug": "plan_archived",
"entityId": "b5d4d289-394c-464d-8133-41891a413f0f",
"actionEvent": {
"bodyAsJson": {
"plan": {
"id": "b5d4d289-394c-464d-8133-41891a413f0f",
"name": "Advanced plan",
"description": "",
"perks": {},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "WEEK"
},
"cycleCount": 2
},
"price": {
"value": "45",
"currency": "USD"
},
"freeTrialDays": 7
},
"public": false,
"archived": true,
"hasOrders": true,
"createdDate": "2020-06-03T11:06:38.950Z",
"updatedDate": "2021-01-05T15:36:56.162Z",
"slug": "advanced-plan",
"allowFutureStartDate": false,
"buyerCanCancel": true,
"termsAndConditions": ""
}
}
},
"eventTime": "2021-01-05T15:36:56.289502Z",
"triggeredByAnonymizeRequest": false
}
//Pricing for single payment plan with duration
{
"pricing": {
"singlePaymentForDuration": {
"count": 3,
"unit": "MONTH"
},
"price": {
"value": "23",
"currency": "USD"
}
}
}
//Pricing for single payment unlimited duration plan (i.e. valid until canceled):
{
"pricing": {
"singlePaymentUnlimited": true,
"price": {
"value": "47",
"currency": "USD"
}
}
}
Triggered when a pricing plan is updated.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.pricing_plans.plan
.
Event name. Expected updated
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.pricing_plans.plan_updated",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
//Subscription (i.e. recurring payment) plan archived:
{
"id": "e110a720-2c62-4e40-8b75-269d98b4bdec",
"entityFqdn": "wix.pricing_plans.plan",
"slug": "updated",
"entityId": "b5d4d289-394c-464d-8133-41891a413f0f",
"updatedEvent": {
"currentEntityAsJson": {
"id": "b5d4d289-394c-464d-8133-41891a413f0f",
"name": "Advanced plan",
"description": "",
"perks": {},
"pricing": {
"subscription": {
"cycleDuration": {
"count": 1,
"unit": "WEEK"
},
"cycleCount": 2
},
"price": {
"value": "45",
"currency": "USD"
},
"freeTrialDays": 7
},
"public": false,
"archived": true,
"hasOrders": true,
"createdDate": "2020-06-03T11:06:38.950Z",
"updatedDate": "2021-01-05T15:36:56.162Z",
"slug": "advanced-plan",
"allowFutureStartDate": false,
"buyerCanCancel": true,
"termsAndConditions": ""
}
},
"eventTime": "2021-01-05T15:36:56.209579Z",
"triggeredByAnonymizeRequest": false
}
//Pricing for single payment plan with duration:
{
"pricing": {
"singlePaymentForDuration": {
"count": 3,
"unit": "MONTH"
},
"price": {
"value": "23",
"currency": "USD"
}
}
}
//Pricing for single payment unlimited duration plan (i.e. valid until canceled):
{
"pricing": {
"singlePaymentUnlimited": true,
"price": {
"value": "47",
"currency": "USD"
}
}
}