Chat on WhatsApp

Trade pricing hidden until verified, how does this actually work in Magento?

Cleanly. Magento has native customer-group-based pricing + category visibility. The architecture:

  • Customer groups: NOT_LOGGED_IN (default, sees MSRP), pending_verification (registered but not yet license-verified, sees MSRP + “verification in progress” banner), licensed_pro (verified, sees trade pricing 30-50% below MSRP). Optional licensed_pro_tier_2 for high-volume buyers with extra discount tiers.
  • Price scope per group: on each product, set MSRP as the base price + a tier price for licensed_pro group. Native Magento. Works in cart, checkout, all the email templates.
  • Hide trade price from logged-out users: the GraphQL / REST product endpoint must gate the tier-price field by customer group. Default Magento exposes all tier prices in GraphQL even to anonymous users, that’s a scrape attack waiting to happen. Patch the resolver to only return the customer’s group’s tier price.
  • Scraper defense: Cloudflare bot-management + rate-limit on the product endpoint. Optionally fingerprint repeat visitors and block the obvious scrapers from competitors.

The trickier piece: MAP (minimum advertised price) compliance. Brands like Olaplex Pro have strict MAP rules; you can’t show trade pricing publicly, only after login + verification. Native Magento handles this; the audit trail (showing the brand auditor that pricing is gated) lives in customer-group access logs.

A SalonCentric / CosmoProf clone runs exactly this pattern: MSRP shown to public + Google, professional pricing visible only after license verification.

Was this helpful?