You can add Purchasing Power Parity (PPP) discounts in WooCommerce by detecting the customer’s billing country at checkout and applying a country-specific discount percentage that reflects local purchasing power — making digital products more fairly priced for shoppers in lower-income countries.
Why PPP Pricing Matters for Digital Products
- A fixed USD price can represent a wildly different share of income depending on the buyer’s country
- PPP pricing widens genuine access to digital products, courses, and memberships without a blanket price cut everywhere
- It reflects real economic differences rather than an arbitrary regional discount
- It works particularly well for information products and memberships with near-zero marginal cost per additional customer
Step 1: Get a PPP Discount Table by Country
PPP discount percentages are calculated by comparing the local cost of an equivalent basket of goods to the same basket priced in USD — rather than calculating this yourself, use a maintained PPP dataset or a pricing plugin that already includes country-level discount percentages.
Step 2: Apply the Discount Based on Billing Country
/** Apply a country-based PPP discount to cart totals */
add_action( 'woocommerce_cart_calculate_fees', 'apply_ppp_country_discount' );
function apply_ppp_country_discount( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
return;
}
$country = WC()->customer ? WC()->customer->get_billing_country() : '';
$ppp_discounts = array(
'IN' => 0.75,
'ZA' => 0.59,
'AR' => 0.61,
'PK' => 0.70,
);
if ( isset( $ppp_discounts[ $country ] ) ) {
$discount_rate = $ppp_discounts[ $country ];
$discount_amount = -1 * ( $cart->get_subtotal() * $discount_rate );
$cart->add_fee( 'Purchasing Power Adjustment', $discount_amount );
}
}

Step 3: Decide When the Discount Applies
Country detection based on billing address (entered at checkout) is more reliable than IP-based geolocation, which can be inaccurate for VPN users — but it does mean the discount only appears once the customer starts entering checkout details, not earlier in the shopping flow. Consider showing a note earlier (based on IP geolocation) that a discount may apply, while calculating the actual amount at checkout from the billing address.
Step 4: Prevent Discount Abuse
Since PPP discounts are based on self-reported billing country, some abuse is possible — many stores accept this as a reasonable tradeoff for genuinely widening access, but consider combining country detection with IP-based verification if abuse becomes a measurable problem.
Troubleshooting
Discount Doesn’t Apply for a Country in the List
Confirm the country code matches WooCommerce’s exact 2-letter ISO format used internally — a typo or wrong code format is the most common reason a listed country doesn’t trigger the discount.
Discount Doesn’t Update When the Customer Changes Their Billing Country
Confirm the fee calculation is hooked to fire on cart/checkout updates, not just the initial page load — woocommerce_cart_calculate_fees should recalculate automatically as billing details change during checkout, but caching can sometimes interfere with this.
Frequently Asked Questions
Is PPP pricing only for digital products?
It’s most common for digital products and memberships with negligible per-unit cost, since discounting a physical product with real production/shipping costs cuts more directly into margin.
Can customers abuse PPP discounts by entering a false country?
It’s possible, but most stores using PPP pricing accept some level of this as an acceptable tradeoff for the genuine access it provides to customers in lower-income countries.
Where do I find accurate PPP discount percentages by country?
Several economic data sources and dedicated PPP pricing plugins maintain updated country-level PPP ratios — use a maintained, regularly updated source rather than a static one-time calculation, since currency and cost-of-living data shifts over time.
Conclusion
PPP discounts widen genuine access to digital products by reflecting real differences in purchasing power across countries, calculated from billing country at checkout rather than a blanket regional discount. Use a maintained PPP data source and accept a reasonable level of self-reporting risk as part of the tradeoff. Getting this right is really what add purchasing power parity (ppp) discounts in woocommerce comes down to.
See also How to Hide the Add to Cart Button If Already Purchased in WooCommerce. Then read How to Display a Discount Percentage on the WooCommerce Shop Page.
Prefer no code? All-in-One Utilities Woo Add-on adds over 50 WooCommerce features, so you can switch them on without code.