culqi / culqi-woocommerce

Plugin Culqi para WooCommerce (WordPress).
https://developers.culqi.com
GNU General Public License v3.0
12 stars 26 forks source link

Requisitos en el checkout #11

Open aneotoena opened 7 years ago

aneotoena commented 7 years ago

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.

marti1125 commented 7 years ago

Hola @aneotoena

KevMendoza commented 7 years ago

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

marti1125 commented 7 years ago

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

aneotoena commented 6 years ago

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.

dimacros commented 4 years ago

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' );
        }
    }
cperezortiz commented 3 years ago

Sí opino lo mismo, yo no necesito pasar ciudad, sin embargo me lo pide