A veces necesitamos remover o agregar métodos de pago según la ubicación del cliente y para estos casos disponemos del país, estado y del código postal del comprador.
Antes debemos conocer las nomenclaturas de cada método de pago para así poder jugar con ellas, aquí te muestro las que vienen por defecto en Woocommerce:
Código | Descripción |
cod | Es la pasarela de contraentrega |
cheque | Es la pasarela de cheques ( sirve más en US) |
paypal | Pasarela Paypal |
bacs | Depósito en cuentas bancarias |
Una vez que ya conocemos estas nomenclaturas vamos a usar el hook “woocommerce_available_payment_gateways” para este fin, y debemos poner el siguiente código PHP en functions.php de nuestro theme activo.
Esto es para Woocommerce 3.0.x
Aquí un ejemplo: vamos a quitar el método de pago de Paypal cuando el cliente esta ubicado en Argentina.
1 2 3 4 5 6 7 8 9 10 11 |
<?php add_filter('woocommerce_available_payment_gateways','gowoo_addremove_payments',10,1); function gowoo_addremove_payments($array_payments) { if( WC()->customer->get_billing_country() == 'AR' ) unset($array_payments['paypal']); return $array_payments; } ?> |
Aquí otro ejemplo: vamos a quitar el método de pago de contraentrega cuando el comprador está en Estados Unidos como país y Florida como estado.
1 2 3 4 5 6 7 8 9 10 11 |
<?php add_filter('woocommerce_available_payment_gateways','gowoo_addremove_payments',10,1); function gowoo_addremove_payments($array_payments) { if( WC()->customer->get_billing_country() == 'US' && WC()->customer->get_billing_state() == 'FL' ) unset($array_payments['cod']); return $array_payments; } ?> |
Si tienes dudas, usa los comentarios.
Qué es Payme? Payme es una pasarela de pago de Alignet que nos ...
Suscribete y tendrás los más recientes posts en tu email
Cómo se puede averiguar la nomenclatura de otras formas de pago: transferencia bancaria. western union, etc
Que tal.
Tendrás que ver el HTML del radio button de tu pasarela, ahí ponen el código. Para transferencia bancaria ahí lo he puesto en este post en una tabla arriba.
Otra cosa, Wester Union no es pasarela sino es método de envío.
Saludos
Hola, ¿cómo se podría ocultar el tipo de pago para una variación de un producto variable?
Gracias
Hola que tal este muy bueno el post, queria preguntar si hay alguna manera de hacerlo por medio de u plugin?