¿Existe alguna forma de impedir que un cliente realice compras en mi web? Tengo un cliente con el que he tenido varios problemas: realiza devoluciones con una frecuencia inusual y, en algunos casos, incluye en ellas materiales que no hemos enviado. ¿Qué opciones o herramienta puedo utilizar tpara manejar esta situación?
Gracias
Contenido solo visible a usuarios registrados
Hola Rafael,
Puedes darle un vistazo a este plugin:
https://wordpress.org/plugins/user-blocker/
Con el puedes seguir los pasos que se plantean aquí:
Contenido solo visible a usuarios registrados
Con esto no podrán ingresar y realizar el pedido, si quieres algo mas especifico puedes conseguir la ip de la persona y bloquear esta ip en tu panel para que no puedan ver el sitio, el inconveniente de esto es que algunas veces utilizan o bien un vpn o es una IP pública que no se asigna solo a una persona sino a un servicio de internet.
En todo caso es mejor abordarlo con respecto al usuario, con la guía que te compartí deberías de poder hacerlo.
Un saludo 🖐️
El pluguin es para registrados y hay nay veces que el cliente es invitado (no se registra) si no hay otra solución tendré que ir a realizarlo por el cpanel.
Gracias
Hola Rafael.
Puedes bloquear a usuarios invitados pero ten en cuenta que seria a todos, es decir, ningún usuario invitado podría realizar compras y para realizar las compras tendrán qué registrarse.
De esta manera, solo los usuarios registrados podrán completar un pedido.
Por lo que comentas puede ser un Bot y veo que el formulario de finalizar compra no lo tienes protegido.
Instala el siguiente plugin y configurarlo con las claves del reCaptcha de Google:
-> https://wordpress.org/plugins/recaptcha-woo/
Un Saludo
No se trata de un bot, sino de un cliente que ha efectuado múltiples devoluciones, incluyendo el envío de cajas vacías.
Como solución temporal, he añadido su IP al cPanel. Sin embargo, para poder instalar el plugin, tendré que exigir el registro antes de realizar el pedido.
Gracias
Hol Rafael.
Ok de todas formas es bueno que lo tengas protegido.
para poder instalar el plugin, tendré que exigir el registro antes de realizar el pedido
Te refieres al de Captcha ? no no hace falta
Como solución temporal, he añadido su IP al cPanel
Vale, eso está bien pero ten en cuenta que si el cliente no tiene una IP Fija y le cambian la IP estarás con lo mismo podrá realizar pedidos como invitado.
Se pueden hacer bloqueos por Correo electrónico, por dirección completa ( Código postal + Calle ) y por ID de cliente incluso por nombre del cliente pero no se si siempre utiliza la misma dirección o el mismo nombre
Un Saludo
Cuando dices que "Se pueden hacer bloqueos por Correo electrónico, por dirección completa ( Código postal + Calle ) y por ID de cliente incluso por nombre del cliente pero no se si siempre utiliza la misma dirección o el mismo nombre" es que es una función del pluguin o te refieres a que se puede realizar por el cpanel?
Hola Rafael.
Se puede utilizar un Snippet ( función ), por ejemplo supongamos que quieres bloquear por ID de cliente:
add_action( 'woocommerce_after_checkout_validation', 'bloquear_compras_por_usuario', 10, 2 );
function bloquear_compras_por_usuario( $data, $errors ) {
$usuarios_bloqueados = array( 38 ); // IDs de usuario a bloquear
if ( is_user_logged_in() && in_array( get_current_user_id(), $usuarios_bloqueados ) ) {
$errors->add( 'validation', 'Tu cuenta no tiene permitido realizar compras en esta tienda.' );
}
}
O por nombre del cliente:
add_action( 'woocommerce_after_checkout_validation', 'bloquear_compras_por_nombre', 10, 2 );
function bloquear_compras_por_nombre( $data, $errors ) {
// Lista de nombres bloqueados (Nombre Apellido)
$nombres_bloqueados = array(
'Pedro Pérez Martínez',
);
// Nombre completo del cliente
$nombre_completo_cliente = trim( $data['billing_first_name'] . ' ' . $data['billing_last_name'] );
if ( in_array( $nombre_completo_cliente, $nombres_bloqueados ) ) {
$errors->add( 'validation', 'Lo sentimos, no puedes realizar compras en esta tienda.' );
}
}
Por dirección de la calle:
add_action( 'woocommerce_after_checkout_validation', 'bloquear_compras_por_direccion', 10, 2 );
function bloquear_compras_por_direccion( $data, $errors ) {
$direcciones_bloqueadas = array(
'Calle Falsa 62, 28001',
'Otra Calle 45, 08001'
); // Lista de direcciones completas a bloquear
$direccion_cliente = $data['billing_address_1'] . ', ' . $data['billing_postcode'];
if ( in_array( $direccion_cliente, $direcciones_bloqueadas ) ) {
$errors->add( 'validation', 'Lo sentimos, no podemos procesar pedidos desde esta dirección.' );
}
}
Incluso por correo electrónico:
add_action( 'woocommerce_after_checkout_validation', 'bloquear_compras_por_correo', 10, 2 );
function bloquear_compras_por_correo( $data, $errors ) {
$correos_bloqueados = array( 'cliente@example.com', 'spamuser@example.com' ); // Lista de correos a bloquear
if ( in_array( $data['billing_email'], $correos_bloqueados ) ) {
$errors->add( 'validation', 'Lo sentimos, tu cuenta no tiene permitido realizar compras en esta tienda.' );
}
}
Un Saludo
Disculpa por mi desconocimiento. Donde se aplica Snippet ( función )?
GRacias
Hola Rafael.
Puedes añadirlo en el archivo functions.php que encontrarás dentro de themes -> tu_plantilla o si utilizas algún plugin para añadir código como puede ser Code Snippets
Un saludo