Open aneotoena opened 7 years ago
Hola @aneotoena
hola, tengo dos consultas. por favor se lo agradecería mucho si me las pueden contestar la primera, ¿porque en las validaciones del nombre y apellido del chekout no se admite la letra ñ? tiene alguna razón en especial? lo que sucede es de que un cliente quiere que admita la letra ñ y mi segunda pregunta, yo hice un cambio del array de ciudades por distritos porque asi lo deseaba el cliente, tendrá algun problema la pagar con la tarjeta? de ante mano muchas gracias
Hola @KevMendoza en la version v2 del api ya no vas a necesitar pasar nombres y apellidos puedes ver este ejemplo. https://culqicharge.herokuapp.com/
yo hice un cambio del array de ciudades por distritos porque asi lo deseaba el cliente para la creacion de Cargo(Charge) no deberia haber ningun problema
Vuelvo a traer este tema a discusion dado que en la version 2 de la API como menciona @marti1125 ya no es obligatorio pasar algunos datos, incluyendo pais, ciudad y telefono, sin embargo el plugin sigue exigiendo estos datos para hacer checkout.
Estoy de acuerdo en que la función debe ser removida, ni siquiera valida correctamente, sólo verifica que los campos tengan cierta longitud. Además considero que la validación de los campos le compete al propio negocio, según sus requerimientos. Por ejemplo, tengo una tienda que sólo funciona en Perú, de manera que no necesito el campo país, pero este plugin limita las reglas de negocio.
function some_custom_checkout_field_process() {
error_log("[CULQI]...Validando...");
if(preg_match('/^[^0-9±!@£$%^&*_+§¡€#¢§¶•ªº«\\<>?:;|=.,]{2,50}$/', $_POST['billing_first_name'])) {
//error_log("Nombre correcto");
} else {
wc_add_notice('Por favor, ingresa un <strong>nombre </strong>válido', 'error' );
}
if(preg_match('/^[^0-9±!@£$%^&*_+§¡€#¢§¶•ªº«\\<>?:;|=.,]{2,50}$/', $_POST['billing_last_name'])) {
//error_log("Apellido correcto");
} else {
wc_add_notice('Por favor, ingresa un <strong>apellido </strong>válido.', 'error' );
}
if(strlen ($_POST['billing_email'])>4 && strlen ($_POST['billing_email'])<50) {
//error_log("Email correcto");
} else {
wc_add_notice('Por favor, ingresa un <strong>e-mail </strong>válido. Usa menos de 50 caracteres y más de 4.', 'error' );
}
if(strlen ($_POST['billing_phone'])>5 && strlen ($_POST['billing_phone'])<15 &&
preg_match('/^[1-9][0-9]*$/', $_POST['billing_phone']) ) {
//error_log("Teléfono correcto");
} else {
wc_add_notice('Por favor, ingresa un <strong>número telefónico </strong>válido. Solo numeros', 'error' );
}
if(strlen ($_POST['billing_country'])>1 && strlen ($_POST['billing_country'])<3) {
//error_log("País correcto");
} else {
wc_add_notice('Por favor, ingresa un <strong>país </strong>válido.', 'error' );
}
if(strlen ($_POST['billing_city'])>2 && strlen ($_POST['billing_city'])<30) {
//error_log("Ciudad correcto");
} else {
wc_add_notice('Por favor, ingresa una <strong>ciudad </strong>válida.', 'error' );
}
if(strlen ($_POST['billing_address_1'])>5 && strlen ($_POST['billing_address_1'])<100) {
//error_log("Dirección correcto");
} else {
wc_add_notice('Por favor, ingresa una <strong>dirección </strong>válida.', 'error' );
}
}
Sí opino lo mismo, yo no necesito pasar ciudad, sin embargo me lo pide
Las tiendas que trabajan unicamente de forma local, pueden haber modificado en woocommerce los datos solicitados al momento del checkout para eliminar campos como "país" y "ciudad", sin embargo estos datos son requeridos de todos modos por Culqi por lo que podría forzarse desde el backend. Dado que son obligatorios segun el API, podria existir la posibilidad de seleccionar en el backend datos por default para todas las transacciones de estos campos.
El campo telefono a pesar de estar en el API como string, no acepta valores que no sean numericos en el plugin y que si pueden usarse en telefonos () + - anex. etc.