Set Up an External Pricing Page

You can host a pricing page on your own platform to showcase the key features of each plan you are offering. Ensure you have added at least one pricing plan in the App Dashboard.

Before you begin

Hosting a pricing page on your own platform requires you to monitor user actions and respond appropriately within your app, so you should:

  1. Set up OAuth.
  2. Subscribe to the relevant webhooks:
  3. Use each user's unique App Instance ID to recognize them as a Wix user and display the correct settings.
  4. Ensure users cannot downgrade through your external pricing page. Downgrades or switches to monthly pricing require subscription cancellation and repurchase of the cheaper plan.

Step 1 | Add a URL for your external pricing page

Set a URL to direct users from Wix to your platform.

To add the URL:

  1. Go to the Pricing page in your app's dashboard.
  2. Select Link to External Pricing Page
  3. Add the URL for your pricing page.
  4. Click Save.

Users can access your pricing page from:

  • App Market listing: Users can view pricing without installing your app.
  • Upgrade App button in Manage Apps: Users will see this if they have already installed your app. You can use a query parameter with the user's App Instance to identify users, log them in, and show relevant pricing info.

Step 2 | Connect your CTAs to the Wix API

Link each plan's call-to-action button on your pricing page to a call to Wix's Billing API to get the relevant checkout link. Refresh checkout links regularly as they are only valid for 48 hours.

When a user clicks a plan's call-to-action button, direct them to the checkout link. They will continue the checkout process within Wix.

  • After purchase, Wix redirects the user to the Success URL you submitted in the API call. If not provided, Wix's default success page is used. For apps with an Internal Dashboard, use https://www.wix.com/my-account/app/<appID>/<AppInstanceID> as the Success URL.
  • If registered to the Paid Plan Purchased webhook, you will receive it now. Validate that the returned Plan ID matches the plan from the checkout link.
  • Validate the user's Premium plan by calling the App Instance endpoint.

See also

Did this help?