WooCommerce:購買力平價(PPP)折扣
已發表: 2022-08-03從……今天開始, Business Bloomer 在線課程對每個人來說都是負擔得起的。
不幸的是,數字產品(例如我們的 WooCommerce 在線課程)以美元定價,但對於特權較低的國家沒有調整。
遺憾的是,無論收入水平如何,全球所有 WooCommerce 開發人員都應該可以訪問內容。 我每個月都會收到幾十封電子郵件,這些人真的買不起 397美元的課程,因為如果幸運的話,他們可以在 4 個月內賺到這麼多錢。
所以,讓我們改變一下。 購買力平價(PPP) 來解決這個問題。
購買力平價是一個特殊的指標,它告訴我們一個特定國家的真正“購買力”。 拿一籃相同的商品,在本國用當地貨幣支付; 在美國用美元購買相同的物品。 將該差異與實際匯率進行比較。 現在你真的知道一個國家可以為那一籃子商品支付多少費用。
讓我們用簡單的英語交談。 你來自印度嗎? 您可以獲得高達 75% 的在線課程折扣。 你來自南非嗎? 也許有 59% 的折扣! 你來自阿根廷嗎? 平均折扣 61%。 你來自挪威嗎? 沒有折扣,對不起(看來你比美國做得更好)。 等等…
在這篇文章中,我將通過一個快速的 PPP 數學示例為您提供一些背景信息,然後我將告訴您我是如何在同一個 WooCommerce 網站中實現 PPP 折扣的。
想幫我測試目前處於測試階段的 PPP 折扣功能嗎? 將課程添加到購物車,例如 CustomizeWoo PRO,在結帳時選擇您的帳單國家/地區,並在下方留下您獲得的折扣(如果有)的評論。
享受!
購買力平價——數學
示例:在美國,我可以花 10美元購買“ WHATEVER ”書。在印度,根據今天的匯率(1美元= 78盧比),價格應該是 780盧比……。 但事實並非如此,因為印度的購買力不如美國。
如果在印度同樣的“ WHATEVER ”書定價為 300盧比,PPP 等於 300盧比/10美元= 30。可以看到實際匯率(78)和計算出來的 PPP( 30)。 也就是說,平均而言,印度可以用更少的美元購買同樣的商品,因為它無法支付確切的換算金額。
我們現在可以使用這兩個數字得出以下結論:在印度,這件 10美元的商品可以用當地貨幣 300盧比購買; 鑑於當前的匯率為 78,這意味著可以在那里以 300/78 = 3.84美元的價格購買 10 美元的商品
簡而言之,如果印度每 10 件商品中只能負擔 3.84美元,那麼美國公司以美元出售的產品在印度應折價 61.6% 才算“公平”且符合購買力平價。 100美元的課程,在印度的價格應為 38.4美元。
WooCommerce 購買力平價實施
一旦選擇了計費國家,我決定直接在結帳頁面上檢測國家。 我沒有使用地理定位,因為它速度較慢,還因為使用 VPN 技術,您可能並不真正知道用戶來自哪裡。
這是我用來在結帳加載/刷新後動態讀取帳單國家/地區(2 個字母代碼)的 PHP :
/**
* @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
}
}
一旦我得到帳單國家,就會發生很多事情:
- 我確保國家不是美國,因為它的購買力平價值定義為 1。
- 我確保購物車包含“在線課程”類別,否則我退出。
- 我得到了國家的貨幣代碼(來自 WooCommerce 本身)。
- 我調用一個免費的外匯匯率 API (exchangerate.host) 並獲取對美元的貨幣匯率。
- 我計算了第 6 點所需的國家/地區的 3 字母代碼(而不是 2 字母版本)。 這是通過調用 Worldbank API 來完成的。
- 我調用了一個免費的 PPP API(世界銀行)並獲得了該國的 PPP 值(計算為過去 5 年的平均值)。
- 我根據 PPP 值計算折扣(最大 75%)
這是我用來獲取給定 WooCommerce 計費國家/地區的貨幣代碼、匯率和 PPP 值的 PHP :
/**
* @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 );
在這個階段,會出現一個結帳通知:
- 如果該國家/地區不存在 PPP 值(世界銀行沒有每個國家/地區的數據),我邀請客戶與我聯繫,因為我不希望任何人被排除在潛在折扣之外。
- 如果 PPP 值存在並且該國家/地區的購買力較低,我會顯示一個結帳通知,其中包含 1% 到 75% 的“應用優惠券”按鈕(點擊時,結帳重新加載並應用折扣)。
這是當 PPP 不為空且折扣在 1 到 75% 之間時顯示結帳通知的 PHP 代碼:
/**
* @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 購買力平價優惠券
當然,我還必須研究優惠券代碼的創建,因為我決定保留 PPP 折扣可選,即客戶必須單擊才能應用他們的折扣。 這是一個很好的策略——我相信——因為有人可能不想使用折扣(例如,我可能是居住在印度的美國開發商,所以我實際上擁有最高的購買力值之一)。
因此,我不得不:
- 批量生成優惠券代碼,每個折扣金額一個(PHP 代碼片段即將推出)
- 在“應用優惠券”按鈕點擊時自動應用優惠券(PHP 代碼片段即將推出)
- 隱藏優惠券代碼@結帳,以避免優惠券共享/濫用
就是這樣。
WooCommerce PPP 現在處於測試階段,已經在 Business Bloomer 結帳頁面上運行,您可以通過將課程添加到購物車(例如,這是將 CustomizeWoo PRO 添加到購物車的直接鏈接)、選擇計費國家並閱讀結帳來對其進行測試通知折扣金額。
WooCommerce 購買力平價常見問題解答
計算基於在線提供的公開數據,因此請不要個人認為! 通過考慮過去 5 年的平均 PPP 值,我已經盡力了。 如果您仍然認為計算不公平,請在下面發表評論,讓我們談談。 我們仍處於測試階段。
這些將永遠是在線商務的一部分。 我可能會讓一些人進入隨機計費國家以獲得折扣——但我相信他們的訂單會失敗,因為 PayPal/Stripe 無法識別該國家。 如果此檢查失敗,則沒有任何問題。 這些交易肯定會少於全世界現在能負擔得起我課程的人數。
因為其他產品/訂閱都低於 99 美元,我不能打折。 與 WooCommerce 諮詢/開發相同——不幸的是,意大利的稅收很高,我需要堅持我的小時費率。
給我幾天/幾週。 這將很快打包到一個迷你插件中,以便您可以將其應用於您自己的 WooCommerce 商店。
我知道您的痛苦,但請記住,您可以終生訪問視頻以及終生支持 WooCommerce 問題。 如果這還不夠,我理解。 聯繫一下,我看看能不能幫忙。