• Meu E-commerce está gerando compras com status de pagamento pendente mesmo quando os campos n?o est?o sendo digitados ou est?o inválidos.

Viewing 1 replies (of 1 total)
  • Thread Starter miguelnatus

    (@miguelnatus)

    Resolvi o problema com essa action:

    add_action( ‘woocommerce_after_checkout_validation’, ‘validation_checkout’, 9999, 2);
    function validation_checkout( $fields, $errors ){
    if( !empty( $errors->get_error_codes() ) ) {
    foreach( $errors->get_error_codes() as $code ) {
    $errors->remove( $code );
    }
    $errors->add( ‘validation’, ‘Preencha todos os campos obrigatórios para fazer o pedido!’ );

    } else if ( empty( $_POST[‘billing_first_name’] ) ) {
    $errors->add( ‘woocommerce_password_error’, __( ‘Nome é um campo obrigatório’ ) );
    } else if ( empty( $_POST[‘billing_last_name’] ) ) {
    $errors->add( ‘woocommerce_password_error’, __( ‘Sobrenome é um campo obrigatório’ ) );
    } else if ( empty( $_POST[‘billing_address_1’] ) ) {
    $errors->add( ‘woocommerce_password_error’, __( ‘Endere?o é um campo obrigatório’ ) );
    } else if ( empty( $_POST[‘billing_city’] ) ) {
    $errors->add( ‘woocommerce_password_error’, __( ‘Cidade é um campo obrigatório’ ) );
    } else if ( empty( $_POST[‘billing_state’] ) ) {
    $errors->add( ‘woocommerce_password_error’, __( ‘Estado é um campo obrigatório’ ) );
    } else if ( empty( $_POST[‘billing_postcode’] ) ) {
    $errors->add( ‘woocommerce_password_error’, __(‘CEP é um campo obrigatório’ ) );
    } else if ( empty( $_POST[‘billing_phone’] ) || strlen($_POST[‘billing_phone’]) < 15 ) {
    $errors->add( ‘woocommerce_password_error’, __( strlen($_POST[‘billing_phone’]) ) );
    $errors->add( ‘woocommerce_password_error’, __( ‘Telefone é um campo obrigatório e tem que possuir pelo menos 15 dígitos’ ) );
    }

    }

Viewing 1 replies (of 1 total)
  • The topic ‘Compra sendo gerada como pagamento pendente mesmo com campos inválidos .’ is closed to new replies.