Automatic filtering of webinars by Pricing Plans purchases

Hello,
I’m using the Wix Pricing Plans module to sell webinars. I’ve created multiple webinar plans in Pricing Plans, and I need my “Webinars (List)” page to automatically display only the webinars that the logged‑in user has purchased via Pricing Plans.

What I’ve tried so far:
On the frontend, I show either a “Buy” or “Watch” button based on whether the user has any active subscriptions.
I check user purchases via orders.listOrders({ buyerId }) from wix-pricing-plans-backend.

Currently the page still lists all webinars, or shows incorrect order data. I want the list to be dynamically narrowed so that each user sees only those webinar items they have actually purchased.

Expected behavior:

  1. A logged‑in user visits the Webinars List page.
  2. The site queries Pricing Plans orders for their buyerId.
  3. The Webinars List displays only those collection items (webinars) whose pricingPlanId matches one of the user’s purchased plans.

Questions:

  1. Is there a built‑in parameter or Velo API method to filter App Collections by Pricing Plans purchases?
  2. What is the correct way to link the Pricing Plans v2 modules (plans, orders) with my Webinars collection so that filtering happens automatically?
  3. Could you share a sample code snippet or detailed Velo instructions for this scenario?

Thank you for your help!

Refer to my code in this post that returns a list of all active pricing plan orders placed by a user, without using any backend code:

In the above example, the code returns "ACTIVE" or "NA" depending on the subscription status. However you can fetch all the plan IDs by returning the activeOrdersArray itself.

Then loop through each item in activeOrdersArray, and store each planId in another array, and finally pass this planId array inside a hasSome() filter and apply it to your dataset.

That should do the job.

1 Like