Different Price for Different Users in Wix Shop
Velo Code Solution
New opportunities for flexible customization of your Wix online store. Our Velo code solution allows you to create a system of regular or premium customers in your online store who will see the exclusive price for various products. You choose and set up customer groups and discounts yourself.
How did Wix Individual Price Tag Work?
Functionality is built on database where list of products has many columns for price input. This is then connected to Wix pages of your site with Velo. There is also a straightforward system of assigning each registered user to the correct pricing group.
The solution has a huge number of usage scenarios and is applicable to absolutely any online store. With different price options, you can make correct impression on your customers, keeping other customers unaware of prices for other groups.
Tools
Wix Velo API
Example Code
import wixData from 'wix-data';
import wixUsers from 'wix-users';
import { session } from 'wix-storage'
let roles = ["HPPL1", "HPPL2", "DVPL1", "DVPL2"];
let currentRole;
let allProducts
$w.onReady(async function () {
let filter = session.getItem("filter");
if (wixUsers.currentUser.loggedIn) {
let userRoles = await wixUsers.currentUser.getRoles()
currentRole = userRoles.find(ur => roles.some(r => r == ur.name)).name;
}
if (currentRole) {
$w("#eur").expand();
$w('#' + currentRole.toLowerCase() + "price").expand();
if (!filter)
$w("#products").setFilter(wixData.filter().isNotEmpty(currentRole.toLowerCase()));
else {
$w("#products").setFilter(wixData.filter().isNotEmpty(currentRole.toLowerCase()).contains("title", filter));
session.removeItem("filter");
}
allProducts = await wixData.query("CustomPrice").isNotEmpty(currentRole.toLowerCase()).ascending(currentRole.toLowerCase()).limit(1000).find();
$w("#maxPrice").max = allProducts.items[allProducts.items.length - 1][currentRole.toLowerCase()];
$w('#maxPrice').min = allProducts.items[0][currentRole.toLowerCase()];
$w("#maxPrice").value = allProducts.items[allProducts.items.length - 1][currentRole.toLowerCase()];
$w("#addToCart").expand();
$w('#maxPrice').expand()
FillDrops()
} else {
if (filter) {
$w("#products").setFilter(wixData.filter().contains("title", filter));
session.removeItem("filter");
}
allProducts = await wixData.query("CustomPrice").limit(1000).find()
FillDrops()
}
});
More Velo Integrations
Related Items Integration in Wix Store
Integration of advanced store features "Related Items" for the Wix website. Add features Related Items to your Wix Store
Wix AWS Integration: A Comprehensive Guide
Learn how to seamlessly integrate AWS with Wix. This comprehensive guide covers everything you need to know for smooth setup and optimal performance