Price display affects purchase decisions.
Elements to show:
- Current price
- Original price (if on sale)
- Discount percentage
- Price per unit (if applicable)
- Shipping estimate
Formatting:
const formatPrice = (amount, currency) => {
return new Intl.NumberFormat('en-US', {
style: 'currency',
currency
}).format(amount);
};
Dynamic pricing: Update when variant changes. Show "From $X" when variants have different prices.
Accessibility: Don't rely on strikethrough alone for original price.