Spoiler: el TD Estudio Design Club (Comunidad privada de Woo, cursos en línea de Woo, clases magistrales de Woo, recursos de Woo) ahora es asequible para todos.
En mi opinión, es desafortunado que los productos digitales (especialmente los relacionados con WordPress) No obtenga un ajuste de precio para países menos privilegiados.
El contenido debe ser accesible para todos los usuarios de todo el mundo, sin importar su nivel de ingresos. Recibo docenas de correos electrónicos por mes de personas increíbles que realmente no pueden pagar un Dólar estadounidense 397 Membresía porque ganan esa cantidad de dinero en 4 meses.
Entonces, cambiemos esto.
Aquí viene la paridad del poder adquisitivo (PPP) al rescate.
PPP es una métrica especial que nos dice el verdadero «poder adquisitivo» de un país determinado. Tome una canasta de bienes idénticos, pague en su moneda local en su propio país; Compre los mismos artículos en USD en los Estados Unidos. Compare esa diferencia con el tipo de cambio real. Ahora realmente tiene una idea de cuánto puede pagar un país para pagar esa canasta de bienes.
Hablemos en inglés sencillo. Eres de India? Puede obtener hasta un 75% de descuento cuando se aplica PPP. Eres de Sudáfrica? ¡Quizás un descuento del 59%! Eres de Argentina? 61% de descuento en promedio. Eres de Noruega? Sin descuento, lo siento (parece que lo haces mejor que los EE. UU.). Etcétera…
En esta publicación, revisaré un ejemplo rápido de Math PPP para darle un contexto, y luego le diré cómo implementé descuentos PPP en este mismo sitio web de WooCommerce.
¿Quieres ayudarme a probar la funcionalidad de descuento de PPP? Haga clic aquí para agregar la membresía de Grow Pase al carritocon un valor de $ 399, seleccione su país de facturación al finalizar la compra y deje un comentario A continuación con el descuento que obtienes, si es que hay. No siempre funciona, ¡sus comentarios siempre son útiles para que pueda solucionar posibles errores!
¡Disfrutar!
Paridad de poder adquisitivo: las matemáticas
Ejemplo: en Estados Unidos, puedo comprar el «LO QUE«Libro para Dólar estadounidense 10. En India, basado en el tipo de cambio actual (Dólar estadounidense 1 = INR 78), el precio debe ser INR 780 … Pero no lo es, porque India no tiene el mismo poder adquisitivo que los Estados Unidos.
Si lo mismo «LO QUE«El libro en India tiene un precio de INR 300, PPP es igual a INR 300 / Dólar estadounidense 10 = 30. Puede ver que hay una gran diferencia entre el tipo de cambio real (78) y el PPP calculado (30). Es decir que India, en promedio, puede comprar el mismo artículo por menos dólares porque no puede pagar el monto exacto convertido.
Ahora podemos usar las 2 cifras para llegar a la siguiente conclusión: en India esto Dólar estadounidense 10 artículos se pueden comprar en moneda local para INR 300; Dado el tipo de cambio actual de 78, esto significa que un Dólar estadounidense Se pueden comprar 10 artículos allí para 300/78 = Dólar estadounidense 3.84
En pocas palabras, si la India solo puede permitirse Dólar estadounidense 3.84 de 10, Los productos en India vendidos por una empresa estadounidense en USD deben descartarse en un 61.6% para ser «justos» y en línea con PPP.
A Dólar estadounidense 100 producto, debe tener un precio de Dólar estadounidense 38.4 en India.
Implementación de paridad de poder adquisitivo de WooCommerce
Decidí detectar el país directamente en la página de pago, una vez que se elige el país de facturación. No estoy usando la geolocalización porque es más lento, y también porque con la tecnología VPN es posible que realmente no sepa de dónde es un usuario.
Aquí está el PHP que utilizo para leer dinámicamente el país de facturación (Código de 2 letras) Una vez que el pago se carga/actualiza:
/** n*@snippet Get Billing Country @ WooCommerce Checkout n*@how-to https://tdestudiodesign.com/tutoriales n*@author Tomás Lucas D´Amario, TD Estudio Design n*@compatible WooCommerce 9 n*@community https://businessbloomer.comhttps://www.businessbloomer.com/club/ */ add_action( 'woocommerce_checkout_update_order_review', 'tddesign_ppp' ); function tddesign_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 vez que obtengo el país de facturación, suceden muchas cosas:
- Salgo si el país de facturación es nosotros, ya que su valor PPP es 1 por definición.
- Me aseguro de que el El carrito contiene el negocio Bloomer Club Categoría de productos, de lo contrario salgo.
- Obtengo el código de divisas del país (del propio WooCommerce).
- Llamo a una API de tipo de cambio de divisización gratuita (intercambiar.host) y obtenga el tipo de cambio de divisas contra USD.
- Calculo el código de 3 letras del país como es necesario para el punto 6 (a diferencia de la versión de 2 letras). Esto se hace llamando a la API de World Bank.
- Llamo a una API PPP gratis (Banco mundial) y obtener el valor PPP del país (calculado como el valor promedio en los últimos 5 años).
- Calculo el descuento según el valor de PPP (máximo 75%)
Aquí está el PHP que utilizo para obtener el código de divisas, el tipo de cambio y el valor de PPP Para un país de facturación de WooCommerce determinado:
/** n*@snippet Get Currency, Ex Rate & PPP By Billing Country n*@how-to https://tdestudiodesign.com/tutoriales n*@author Tomás Lucas D´Amario, TD Estudio Design n*@compatible WooCommerce 9 n*@community https://businessbloomer.comhttps://www.businessbloomer.com/club/ */ // 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 );
En esta etapa, Aparece una notificación de pago:
- Si no existe un valor de PPP para ese país (WorldBank no tiene datos para cada país), invito a los clientes a contactarme porque no quiero que nadie se excluya de los posibles descuentos.
- Si el valor de PPP existe y el país tiene menos potencia de compra, muestro una notificación de pago con un botón de «aplicar cupón» del 1% al 75% (al hacer clic, la recarga de la pago y aplica el descuento).
Aquí está el Código PHP que muestra el aviso de pago cuando el descuento calculado está entre 1 y 75%:
/** n*@snippet Show Notice @ WooCommerce Checkout n*@how-to https://tdestudiodesign.com/tutoriales n*@author Tomás Lucas D´Amario, TD Estudio Design n*@compatible WooCommerce 9 n*@community https://businessbloomer.comhttps://www.businessbloomer.com/club/ */ $message = 'Your country is eligible for a ' . $discount . '% discount on courses! Read more about Purchasing Power Parity <a href=https://www.businessbloomer.com/woocommerce-purchasing-power-parity-discounts/"/woocommerce-purchasing-power-parity-discounts" target="_blank">here</a>. <a href=https://www.businessbloomer.com/woocommerce-purchasing-power-parity-discounts/"' . 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' ); }
Cupones de paridad de poder adquisitivo de WooCommerce
Por supuesto, también tuve que analizar la creación de códigos de cupón, porque decidí mantener los descuentos de PPP opcionales, es decir Los clientes tienen que hacer clic para aplicar su descuento.
Esta es una buena estrategia, creo, porque es posible que alguien no quiera usar el descuento (por ejemplo, Puedo ser un desarrollador estadounidense que vive en la India, por lo que en realidad tengo uno de los valores de poder adquisitivo más altos).
Por lo tanto, tuve que:
- generar códigos de cupón a granel, uno para cada monto de descuento (Fragmento de php aquí)
- Codifique una función para aplicar automáticamente un cupón en el botón Haga clic (Php Snippet próximamente)
- ocultar los códigos de cupón @ checkoutpara evitar el intercambio/abuso de cupones
Y eso es todo.
WooCommerce Power Power Parity Preguntas frecuentes
Los cálculos se basan en datos públicos disponibles en línea, ¡así que no lo tome como personalmente! He hecho mi mejor esfuerzo considerando el valor promedio de PPP en los últimos 5 años. Si aún cree que los cálculos no son justos, publique un comentario a continuación y hablemos.
Estos siempre serán parte del comercio en línea. Probablemente haré que algunas personas ingresen a países de facturación aleatorios para obtener un descuento, pero creo que sus pedidos fallarán ya que PayPal/Stripe no les permitirá pagar si el país de facturación no coincide. Si esta verificación falla, no hay problema en absoluto. Estas transacciones serán definitivamente menores que la cantidad de personas en todo el mundo que ahora pueden pagar mis cursos.
Porque los otros productos están por debajo de $ 99 y no puedo descartarlos. Al igual que WooCommerce Consulting/Desarrole: desafortunadamente los impuestos aquí en Italia son altos y necesito seguir mi tarifa por hora.
Dame algo de tiempo, esto pronto será empaquetado en un mini plugin!