Avisos
Vaciar todo

Descartar cliente

10 Respuestas
3 Usuarios
0 Reactions
23 Visitas
RAFAEL
Respuestas: 567
Honorable Member
Topic starter
 

¿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


 
Respondido : 23/01/2025 5:37 pm
Argenis
Respuestas: 11697
Illustrious Member Moderator
 

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 🖐️ 


 
Respondido : 23/01/2025 5:46 pm
RAFAEL
Respuestas: 567
Honorable Member
Topic starter
 

@argenis

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


 
Respondido : 27/01/2025 10:50 am
Pepe
 Pepe
Respuestas: 41336
Illustrious Member Admin
 

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.

  • Accede a WooCommerce > Ajustes > Cuentas y privacidad.
  • Asegúrate de marcar las siguientes opciones:
    • "Permitir a los clientes crear una cuenta durante el pago".
    • Desmarca la opción "Permitir a los clientes realizar pedidos sin una cuenta".
  • Guarda los cambios.

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


 
Respondido : 27/01/2025 11:11 am
RAFAEL
Respuestas: 567
Honorable Member
Topic starter
 

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

 


 
Respondido : 27/01/2025 11:23 am
Pepe
 Pepe
Respuestas: 41336
Illustrious Member Admin
 

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

 

 


 
Respondido : 27/01/2025 12:19 pm
RAFAEL
Respuestas: 567
Honorable Member
Topic starter
 

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?


 
Respondido : 27/01/2025 12:41 pm
Pepe
 Pepe
Respuestas: 41336
Illustrious Member Admin
 

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


 
Respondido : 27/01/2025 12:51 pm
RAFAEL
Respuestas: 567
Honorable Member
Topic starter
 

Disculpa por mi desconocimiento. Donde se aplica  Snippet ( función )?

GRacias


 
Respondido : 28/01/2025 9:22 am
Pepe
 Pepe
Respuestas: 41336
Illustrious Member Admin
 

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


 
Respondido : 28/01/2025 9:39 am