Set Up One-Time Payments

One-time payments let you offer packages that Wix users pay for as standalone, non-recurring purchases. For example, if your app sells custom images, you can sell each image as a one-time purchase or offer a pack of 10 images at a set fee.

One-time payments use the single billing model and can be part of either a freemium or premium business model.

Important: You can't mark your app as "Free" and offer one-time payments, as this would mislead Wix users. Your app must use a freemium or premium business model.

Step 1 | Add pricing plans

Add at least 1 single pricing plan to define what Wix users can purchase in your app.

  1. Go to the Pricing page in your app's dashboard.
  2. Select Freemium or Premium under Business model.
  3. Go to Pricing Plans and click Add Plan.
  4. Choose the Single billing model. This sets up a non-recurring upfront fee each time Wix users use a service in the app.
  5. Set a price for the plan.
  6. Add plan details:
    • Plan Name: Add a name for the plan (max. 23 characters). Choose a name that clearly describes what the Wix user is purchasing, such as "100 SMS Credits" or "Image Pack."
    • Benefits: Add up to 4 benefits that describe what's included in the package.
  7. Click Add Plan.
  8. Click Save.

Note: Single plans don't appear in the Wix App Market listing or on the Wix-hosted pricing page. You need to design your own pricing page to showcase these plans. See step 2.

Repeat these steps for each package you want to offer. For example, you might create separate plans for different credit amounts or package sizes.

You can always come back and update your pricing plans later if your needs change.

Step 2 | Design your own pricing page

Because single plans aren't supported on the Wix-hosted pricing page, you need to build your own pricing UI. Display this page in your app's settings panel or dashboard so Wix users can browse the available packages and make a purchase.

Your pricing page should:

  • Show each available package with its name, price, and benefits.
  • Include a clear call-to-action button for each package.
  • Display the Wix user's current balance or remaining credits, if applicable.

To set up the full external pricing page flow, including OAuth and webhook configuration, see Set up an external pricing page.

Step 3 | Direct Wix users to the Wix checkout

When a Wix user clicks a call-to-action button on your pricing page, direct them to the Wix checkout to complete the purchase.

  1. Connect each package's call-to-action button to a call to the Billing API.
  2. Call Get URL to retrieve a checkout link for the selected plan. Open this link in a new tab.
  3. After the Wix user completes their purchase, Wix redirects them to the successUrl you specified in the Get URL call. If you don't specify a successUrl, Wix uses its default success page.

Note: Checkout links are valid for 48 hours. Call Get URL again to generate a fresh link before the current one expires.

For apps with an internal dashboard, set the successUrl to "https://www.wix.com/my-account/app/<APP_ID>/<INSTANCE_ID>" to redirect Wix users back to their app dashboard after purchase. You can find your app ID in the app dashboard, and the instance ID by calling Get App Instance.

Step 4 | Track purchases and manage balances

Unlike recurring plans, one-time purchases require you to track each Wix user's balance on your server. For example, if a Wix user buys 100 SMS credits, your app needs to know how many credits they've used and how many remain.

Listen for billing webhooks

Subscribe to the following webhooks to get notified when a Wix user makes a purchase:

Check the cycle property in these webhooks to identify the purchase details.

Retrieve purchase history

Use the Get Purchase History API to retrieve a Wix user's full purchase history. Don't rely solely on webhooks to know when a Wix user makes a purchase -- always validate with the API.

Update and track balances

Keep track of each Wix user's remaining balance on your server. Make sure that:

  • The balance persists even if the Wix user uninstalls and reinstalls your app.
  • Your app displays the Wix user's remaining balance so they know when to buy more.
  • Your app handles the case where a Wix user's balance runs out, such as by prompting them to make another purchase.

Step 5 | Test your pricing flow

All plans are automatically priced at 0.00 during development, so you can test the full purchase flow at no cost. Once your app is approved and published, the real prices you configured are activated.

Test the following:

  • The purchase flow works end-to-end, from your pricing page through Wix checkout and back to your app.
  • Your app receives and processes webhooks correctly after each purchase.
  • The Wix user's balance updates correctly after each purchase.
  • The balance displays correctly to the Wix user after purchase.

Learn more about testing your app's upgrade process.

See also

Did this help?