WooCommerce: descontos de paridade de poder de compra (PPP)

Publicados: 2022-08-03

Desde… hoje, os cursos online do Business Bloomer são acessíveis para todos .

É lamentável que os produtos digitais (como nossos cursos online WooCommerce) tenham preços em dólares americanos, mas não há ajuste para países menos privilegiados.

Isso é uma pena, porque o conteúdo deve ser acessível a TODOS os desenvolvedores do WooCommerce em todo o mundo, independentemente do nível de renda. Recebo dezenas de e-mails por mês de pessoas incríveis que não podem pagar um curso de US$ 397 porque ganham essa quantia em 4 meses se tiverem sorte.

Então, vamos mudar isso. Aqui vem a Paridade do Poder de Compra (PPP) para o resgate.

PPP é uma métrica especial que nos diz o real “poder de compra” de um determinado país. Pegue uma cesta de mercadorias idênticas, pague em sua moeda local em seu próprio país; comprar os mesmos itens em USD nos Estados Unidos. Compare essa diferença com a taxa de câmbio real. Agora você realmente tem uma ideia de quanto um país pode pagar por essa cesta de mercadorias.

Vamos falar em inglês simples. Você é da Índia ? Você pode obter até 75% de desconto em nossos cursos online. Você é da África do Sul ? Talvez um desconto de 59%! Você é da Argentina ? 61% de desconto em média. Você é da Noruega ? Sem desconto, desculpe (parece que você se sai melhor que os EUA). E assim por diante…

Neste post, vou passar por um exemplo rápido de matemática PPP para lhe dar algum contexto e, em seguida, vou contar como implementei descontos PPP neste mesmo site WooCommerce.

Quer me ajudar a testar a funcionalidade de desconto PPP que está atualmente na versão beta? Adicione um curso ao carrinho, por exemplo, CustomizeWoo PRO, selecione seu país de cobrança na finalização da compra e deixe um comentário abaixo com o desconto obtido, se houver.

Apreciar!

Graças aos ajustes de PPP da Business Bloomer, a partir de hoje, os clientes do Afeganistão terão até 75% de desconto em cursos online premium.

Paridade do Poder de Compra - A Matemática

Exemplo: nos Estados Unidos, posso comprar o livro “ whatever ” por US$ 10. Na Índia, com base na taxa de câmbio de hoje ( US$ 1 = INR 78), o preço deveria ser INR 780…. mas não é, porque a Índia não tem o mesmo poder aquisitivo dos Estados Unidos .

Se o mesmo livro " QUE SEJA " na Índia custa INR 300, o PPP é igual a INR 300 / USD 10 = 30. Você pode ver que há uma enorme diferença entre a taxa de câmbio real (78) e o PPP calculado ( 30). Isso quer dizer que a Índia, em média, pode comprar o mesmo item por menos dólares porque não pode pagar o valor exato convertido.

Agora podemos usar os 2 números para chegar à seguinte conclusão: na Índia, este item de US$ 10 pode ser adquirido em moeda local por INR 300; dada a taxa de câmbio atual de 78, isso significa que um item de USD 10 pode ser comprado por 300/78 = USD 3,84

Em poucas palavras, se a Índia puder pagar apenas US$ 3,84 em 10, os produtos na Índia vendidos por uma empresa norte-americana em dólares devem ter um desconto de 61,6% para serem “justos” e alinhados com o PPP . Um curso de US$ 100 deve custar US$ 38,4 na Índia.

Implementação de paridade de poder de compra WooCommerce

Decidi detectar o país diretamente na página Checkout, assim que o País de cobrança for escolhido. Não estou usando geolocalização porque é mais lento e também porque com a tecnologia VPN você pode não saber realmente de onde é um usuário.

Aqui está o PHP que eu uso para ler dinamicamente o país de cobrança (código de 2 letras) quando o checkout é carregado/atualizado:

/**
 * @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
   }
}

Depois de obter o país de cobrança, muitas coisas acontecem:

  1. Certifico-me de que o país não é os EUA, pois seu valor PPP é 1 por definição.
  2. Certifico-me de que o carrinho contém a categoria “cursos online”, caso contrário eu saio.
  3. Recebo o código da moeda do país (do próprio WooCommerce).
  4. Eu chamo uma API de taxa de câmbio gratuita (exchangerate.host) e obtenho a taxa de câmbio em relação ao USD.
  5. Eu calculo o código de 3 letras do país conforme necessário para o ponto 6 (em oposição à versão de 2 letras). Isso é feito chamando a API do Worldbank.
  6. Eu chamo uma API PPP gratuita (Worldbank) e obtenho o valor PPP do país (calculado como o valor médio dos últimos 5 anos).
  7. Eu calculo o desconto com base no valor PPP (máximo 75%)

Aqui está o PHP que uso para obter o código da moeda, a taxa de câmbio e o valor PPP para um determinado país de cobrança do 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 );

Nesta fase, uma notificação de checkout é exibida :

  • Se não existir valor de PPP para aquele país (o Worldbank não possui dados para todos os países), convido os clientes a entrar em contato comigo porque não quero que ninguém seja excluído de possíveis descontos.
  • Se existir valor PPP e o país tiver menor poder aquisitivo, mostro uma notificação de checkout com um botão “Aplicar cupom” de 1% a 75% de desconto (ao clicar, o checkout recarrega e aplica o desconto).

Aqui está o código PHP que exibe o aviso de checkout quando o PPP não é nulo e o desconto está entre 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' );
}

Cupons de paridade de poder de compra WooCommerce

Claro, eu também tive que olhar para a criação de códigos de cupom, porque eu decidi manter os descontos PPP opcionais, ou seja , os clientes têm que clicar para aplicar seu desconto . Esta é uma boa estratégia – eu acredito – porque alguém pode não querer usar o desconto (por exemplo , eu posso ser um desenvolvedor americano morando na Índia, então eu realmente tenho um dos maiores valores de poder aquisitivo ).

Portanto, tive que:

  • gerar códigos de cupom em massa, um para cada valor de desconto (snippet PHP em breve)
  • aplicar automaticamente um cupom ao clicar no botão "Aplicar cupom" (snippet PHP em breve)
  • oculte os códigos de cupom no checkout, para evitar o compartilhamento/abuso do cupom

E é isso.

O WooCommerce PPP está agora na versão beta, já em execução na página de checkout do Business Bloomer, e você pode testá-lo adicionando um curso ao carrinho (por exemplo, aqui está um link direto para adicionar CustomizeWoo PRO ao carrinho), selecionando um país de cobrança e lendo o checkout notificação com o valor do desconto.

Perguntas frequentes sobre paridade de poder de compra do WooCommerce

Rodolfo, meu país tem 49% de desconto e não 74% como a Índia?

Os cálculos são baseados em dados públicos disponíveis online, então não leve para o lado pessoal! Fiz o meu melhor considerando o valor médio do PPP nos últimos 5 anos. Se você ainda acredita que os cálculos não são justos, poste um comentário abaixo e vamos conversar. Ainda estamos em beta.

Rodolfo, e os golpes e as pessoas más?

Estes sempre farão parte do comércio online. Provavelmente vou fazer com que algumas pessoas entrem em países de cobrança aleatórios para obter um desconto - mas acredito que seus pedidos falharão, pois o PayPal/Stripe não reconhecerá esse país. Se esta verificação falhar, não há problema algum. Essas transações serão definitivamente menores do que a quantidade de pessoas em todo o mundo que agora podem pagar meus cursos.

Rodolfo, por que apenas cursos online?

Porque os outros produtos/assinaturas estão todos abaixo de $99 e não posso descontá-los. O mesmo que consultoria/desenvolvimento WooCommerce – infelizmente os impostos aqui na Itália são altos e eu preciso manter minha taxa horária.

Rodolfo, posso ter o código PPP completo do WooCommerce?

Dê-me alguns dias/semanas. Em breve, isso será empacotado em um mini-plugin, para que você possa aplicar o mesmo em sua própria loja WooCommerce.

Rodolfo, sou um estudante existente e há X meses paguei o preço total em USD…

Conheço sua dor, mas lembre-se de que você tem acesso vitalício aos vídeos, bem como suporte vitalício para o WooCommerce. Se isso ainda não for suficiente, eu entendo. Entre em contato e verei se posso ajudar.