Your app can include multiple pricing plans for your users to purchase. Each plan can offer different features and tiers of access to your app.
This article explains how to test your app's upgrade process to ensure that your app responds as expected when an upgrade occurs. Testing helps you verify:
To ensure that the upgrade process for your app's paid plans behaves as expected, simulate the user experience by installing and upgrading your app from a test site.
Before you begin, make sure that:
Select your app in the app dashboard.
Hover over Test App at the top of the page, and then select Dashboard and a site for testing the upgrade flow.
App Market opens, prompting you to upgrade the app on your test site.
Select Upgrade on your app to proceed to the Wix pricing page. If you are using an external pricing page, complete the checkout flow according to your site's configuration.
Note: For external pricing pages, ensure users cannot downgrade through your external pricing page. Downgrades or switches to monthly pricing require subscription cancellation and repurchase of the cheaper plan.
Select a paid plan to start the purchase flow.
Enter your payment information.
Important: If you are upgrading to a plan with a free trial, you must make a real transaction with a valid credit card. This transaction is a nominal amount for validation purposes only and you will be refunded immediately.
Payment depends on your app's status.
Select Submit Purchase to complete your app upgrade.
Confirm that your upgraded app instance's functionality operates as expected.
To verify the upgrade for troubleshooting purposes, check that the upgrade is reflected in the app instance information. Call the following Wix APIs depending on the billing model of the upgraded plan:
purchases
array.isFree
field in the response object is false
.Note: By default, apps built using Blocks only support plans with recurring billing models. Verify the upgrade by calling getDecodedAppInstance()
. The response object includes a vendorProductId
field only if the app was upgraded to a paid plan or free trial on that app instance. See this code example and learn more about setting Blocks app pricing plans.