WooCommerce: sconti sulla parità di potere d'acquisto (PPP).
Pubblicato: 2022-08-03Da... oggi, i corsi online di Business Bloomer sono alla portata di tutti .
È un peccato che i prodotti digitali (come i nostri corsi online WooCommerce) abbiano un prezzo in dollari americani, ma non ci sono adeguamenti per i paesi meno privilegiati.
Questo è un peccato perché i contenuti dovrebbero essere accessibili a TUTTI gli sviluppatori WooCommerce in tutto il mondo, indipendentemente dal loro livello di reddito. Ricevo decine di e-mail al mese da persone straordinarie che non possono davvero permettersi un corso da 397 USD perché guadagnano quella somma di denaro in 4 mesi se sono fortunati.
Quindi, cambiamo questo. Ecco che arriva in soccorso la Purchasing Power Parity (PPP).
Il PPP è una metrica speciale che ci dice il vero "potere d'acquisto" di un determinato paese. Prendi un paniere di merci identiche, paga nella tua valuta locale nel tuo paese; acquistare gli stessi articoli in USD negli Stati Uniti. Confronta questa differenza con il tasso di cambio effettivo. Ora hai davvero un'idea di quanto un paese può permettersi di pagare per quel paniere di merci.
Parliamo in un inglese semplice. Vieni dall'India ? Puoi ottenere fino al 75% di sconto sui nostri corsi online. Sei del Sud Africa ? Forse uno sconto del 59%! Sei dell'Argentina ? 61% di sconto in media. Vieni dalla Norvegia ? Nessuno sconto, mi dispiace (sembra che tu stia meglio degli Stati Uniti). E così via…
In questo post, analizzerò un rapido esempio di matematica PPP per darti un po' di contesto, e poi ti dirò come ho implementato gli sconti PPP in questo stesso sito WooCommerce.
Vuoi aiutarmi a testare la funzionalità di sconto PPP che è attualmente in versione beta? Aggiungi un corso al carrello, ad esempio CustomizeWoo PRO, seleziona il tuo paese di fatturazione al momento del pagamento e lascia un commento qui sotto con lo sconto che hai ottenuto, se presente.
Divertiti!

Parità di potere d'acquisto – La matematica
Esempio: negli Stati Uniti, posso acquistare il libro “ WHATEVER ” per 10 USD . In India, in base al tasso di cambio odierno (1 USD = 78 INR ), il prezzo dovrebbe essere 780 INR …. ma non lo è, perché l'India non ha lo stesso potere d'acquisto degli Stati Uniti .
Se in India lo stesso libro " CHE QUALUNQUE " ha un prezzo di INR 300, PPP è uguale a INR 300 / USD 10 = 30. Puoi vedere che c'è un'enorme differenza tra il tasso di cambio effettivo (78) e il PPP calcolato ( 30). Vale a dire che l'India, in media, può acquistare lo stesso articolo a meno dollari perché non può permettersi di pagare l'esatto importo convertito.
Possiamo ora utilizzare le 2 cifre per arrivare alla seguente conclusione: in India questo articolo da 10 USD può essere acquistato in valuta locale per INR 300; dato l'attuale tasso di cambio di 78, ciò significa che un articolo da 10 USD può essere acquistato lì per 300/78 = 3,84 USD
In poche parole, se l'India può permettersi solo 3,84 USD su 10, i prodotti in India venduti da una società statunitense in USD dovrebbero essere scontati del 61,6% per essere “eque” e in linea con il PPP . Un corso da 100 USD dovrebbe avere un prezzo di 38,4 USD in India.
WooCommerce Purchasing Power Parity Implementazione
Ho deciso di rilevare il Paese direttamente nella pagina Checkout, una volta scelto il Paese di fatturazione. Non sto usando la geolocalizzazione perché è più lenta e anche perché con la tecnologia VPN potresti non sapere davvero da dove viene un utente.
Ecco il PHP che utilizzo per leggere dinamicamente il paese di fatturazione (codice a 2 lettere) una volta che il checkout viene caricato/aggiornato:
/**
* @snippet Get Billing Country @ WooCommerce Checkout
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'woocommerce_checkout_update_order_review', 'bbloomer_ppp' );
function bbloomer_ppp( $post_data ) {
parse_str( $post_data, $output );
if ( $output['billing_country'] ) {
$country_code_2 = $output['billing_country'];
// THEN, DO SOMETHING WITH COUNTRY CODE
}
}
Una volta ottenuto il paese di fatturazione, accadono molte cose:
- Mi assicuro che il paese non sia gli Stati Uniti, poiché il suo valore PPP è 1 per definizione.
- Mi assicuro che il carrello contenga la categoria “corsi online”, altrimenti esco.
- Ottengo il codice valuta del paese (da WooCommerce stesso).
- Chiamo un'API gratuita per il tasso di cambio (exchangerate.host) e ottengo il tasso di cambio della valuta rispetto a USD.
- Calcolo il codice a 3 lettere del paese in quanto è necessario per il punto 6 (al contrario della versione a 2 lettere). Questo viene fatto chiamando l'API Worldbank.
- Chiamo un'API PPP gratuita (Worldbank) e ottengo il valore PPP del paese (calcolato come valore medio negli ultimi 5 anni).
- Calcolo lo sconto in base al valore PPP (max 75%)
Ecco il PHP che utilizzo per ottenere il codice valuta, il tasso di cambio e il valore PPP per un determinato paese di fatturazione WooCommerce:
/**
* @snippet Get Currency, Ex Rate & PPP By Billing Country
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
// GET CURRENCY CODE
$locale_info = include WC()->plugin_path() . '/i18n/locale-info.php';
$currency = $locale_info[$output['billing_country']]['currency_code'];
// GET EXCHANGE RATE
$req_url = 'https://api.exchangerate.host/latest/?base=USD&symbols=' . $currency;
$response_json = file_get_contents( $req_url );
$response = json_decode( $response_json );
if ( $response->success === true ) {
$exchange_rate = $response->rates->{$currency};
}
// GET COUNTRY PPP VALUE (AVERAGE FOR PREVIOUS 5 YEARS)
$ppp_url = 'https://api.worldbank.org/v2/country/' . $country_code_3 . '/indicator/PA.NUS.PRVT.PP?date=' . date( "Y", strtotime( "-5 years" ) ) . ':' . date( "Y", strtotime( "-1 year" ) ) . '&format=json';
$ppp = json_decode( file_get_contents( $ppp_url ), true );
$values = array();
foreach ( $ppp[1] as $key => $val ) {
if ( $val['date'] && $val['value'] ) {
$values[$val['date']] = (float) $val['value'];
}
}
$avg_ppp = array_sum( $values ) / count( $values );
A questo punto, viene visualizzata una notifica di pagamento :

- Se non esiste un valore PPP per quel paese (Worldbank non ha dati per ogni paese), invito i clienti a contattarmi perché non voglio che nessuno venga escluso da potenziali sconti.
- Se il valore PPP esiste e il paese ha meno potere d'acquisto, mostro una notifica di pagamento con uno sconto dall'1% al 75% sul pulsante "Applica coupon" (al clic, il checkout si ricarica e applica lo sconto).
Ecco il codice PHP che mostra l'avviso di pagamento quando PPP non è nullo e lo sconto è compreso tra 1 e 75% :
/**
* @snippet Show Notice @ WooCommerce Checkout
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
$message = 'Your country is eligible for a ' . $discount . '% discount on courses! Read more about Purchasing Power Parity <a href="/woocommerce-purchasing-power-parity-discounts" target="_blank">here</a>. <a href="' . esc_url( add_query_arg( 'ppp', $discount, wc_get_checkout_url() ) ) . '" class="button wc-forward">Apply Discount</a>';
if ( ! WC()->cart->has_discount( $discount ) ) {
wc_add_notice( $message, 'success' );
}
WooCommerce Buoni di parità di potere d'acquisto
Ovviamente, ho dovuto anche esaminare la creazione di codici coupon, perché ho deciso di mantenere gli sconti PPP opzionali, ovvero i clienti devono fare clic per applicare lo sconto . Questa è una buona strategia – credo – perché qualcuno potrebbe non voler utilizzare lo sconto (ad esempio , potrei essere uno sviluppatore statunitense che vive in India, quindi in realtà ho uno dei valori di potere d'acquisto più alti ).
Ho quindi dovuto:
- generare codici coupon in blocco, uno per ogni importo di sconto (snippet PHP in arrivo)
- applica automaticamente un coupon facendo clic sul pulsante "Applica coupon" (snippet PHP in arrivo)
- nascondi i codici coupon alla cassa, per evitare la condivisione/abuso del coupon
E questo è tutto.
WooCommerce PPP è ora in versione beta, già in esecuzione sulla pagina di pagamento di Business Bloomer, e puoi provarlo aggiungendo un corso al carrello (ad esempio ecco un link diretto per aggiungere CustomizeWoo PRO al carrello), selezionando un paese di fatturazione e leggendo il checkout notifica con l'importo dello sconto.
Domande frequenti sulla parità di potere d'acquisto di WooCommerce
I calcoli si basano su dati pubblici disponibili online, quindi non prenderli sul personale! Ho fatto del mio meglio considerando il valore medio di PPP negli ultimi 5 anni. Se ritieni ancora che i calcoli non siano giusti, pubblica un commento qui sotto e parliamo. Siamo ancora in versione beta.
Questi faranno sempre parte del commercio online. Probabilmente farò entrare alcune persone in paesi di fatturazione casuali per ottenere uno sconto, ma credo che i loro ordini falliranno poiché PayPal/Stripe non riconoscerà quel paese. Se questo controllo fallisce, nessun problema. Queste transazioni saranno sicuramente inferiori alla quantità di persone in tutto il mondo che ora possono permettersi i miei corsi.
Perché gli altri prodotti/abbonamenti sono tutti inferiori a $ 99 e non posso scontarli. Come per la consulenza/sviluppo WooCommerce – sfortunatamente qui in Italia le tasse sono alte e devo attenermi alla mia tariffa oraria.
Dammi qualche giorno/settimana. Questo sarà presto impacchettato in un mini-plugin, in modo che tu possa applicare lo stesso al tuo negozio WooCommerce.
Conosco il tuo dolore, ma ricorda che hai accesso a vita ai video e supporto a vita per WooCommerce. Se questo non è ancora sufficiente, lo capisco. Mettiti in contatto e vedrò se posso aiutarti.