• Resolved Alfio Piccione

    (@picaland)


    Uso il plugin in un progetto, e sto riscontrando questo problema: da non loggato non viene validato il campo “billing_cf” e ottengo un notice di errore “Digita la tua Partita Iva”.
    Sapreste dirmi la causa di ciò e come posso risolvere?

    la funzione del plugin è questa:

    	public function piva_checkout_field_process() {
    		if($_POST["billing_invoice_type"] == "invoice") {
    			if($_POST["billing_country"] == 'IT' && strlen($_POST['billing_cf']) > 13) {
    				if(!preg_match($this->regexCF, $_POST['billing_cf'])) {
    					wc_add_notice(sprintf(__('Tax Identification Number %1$s is not correct', WCPDF_IT_DOMAIN), "<strong>". strtoupper($_POST['billing_cf']) . "</strong>"),$notice_type = 'error');
    					$this->has_error = true;
    				}
    			} elseif(in_array($_POST["billing_country"], $this->eu_vat_countries)) {
    				if(empty($_POST['billing_cf']) || strlen($_POST['billing_cf']) < 8) {
    					wc_add_notice(__('Please enter your VAT number or Tax Code', WCPDF_IT_DOMAIN),$notice_type = 'error');
    					$this->has_error = true;
    				} elseif(!preg_match($this->regexPIVA, $_POST["billing_country"].$_POST['billing_cf'])) {
    					wc_add_notice(sprintf(__('VAT number %1$s is not correct', WCPDF_IT_DOMAIN), "<strong>". $_POST["billing_country"]."-".$_POST['billing_cf'] . "</strong>"),$notice_type = 'error');
    					$this->has_error = true;
    				}
    			} else {
    				if($this->invoice_required_non_UE && !$_POST['billing_cf']) {
    					wc_add_notice(__('Please enter your VAT number', WCPDF_IT_DOMAIN) ,$notice_type = 'error');
    					$this->has_error = true;
    				}
    			}
    		}
    		if($_POST["billing_invoice_type"] == "receipt" && $_POST['billing_cf'] && $_POST["billing_country"] == 'IT'){
    			if(!preg_match($this->regexCF, $_POST['billing_cf']) && !preg_match("/^([0-9]{11})$/i", $_POST['billing_cf'])) {
    				wc_add_notice(sprintf(__('Tax Identification Number %1$s is not correct', WCPDF_IT_DOMAIN), "<strong>". strtoupper($_POST['billing_cf']) . "</strong>"),$notice_type = 'error');
    				$this->has_error = true;
    			}
    		}
    	}

    Ma non capisco il motivo per cui da questa risposta considerando che
    billing_country = IT
    e inserisco 11 caratteri per la Piva.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author labdav

    (@labdav)

    hmmm
    non ci risulta nessun errore del genere.
    puoi darci il dettaglio del debug.log?
    così proviamo a capire dov’è il problema.
    bisognerebbe capire anche quali sono le impostazioni e i dati inseriti.

    Thread Starter Alfio Piccione

    (@picaland)

    Una cosa che noto è che “billing_invoice_type” non è definito e quindi non entra in questo –> if($_POST[“billing_invoice_type”] == “invoice”)

    Se necessita posso darvi i dati di accesso al sito per un controllo.

    Ecco i parametri inviati:
    Stringa query
    wc-ajax:checkout

    Dati dei moduli
    _wp_http_referer:/?wc-ajax=update_order_review
    _wpnonce:7deee8ff26
    account_password:
    billing_address_1:Via+xxx,+15
    billing_cf:18223008764
    billing_city:Catania
    billing_company:
    billing_country:IT
    billing_customer_type:personal
    billing_email:[email protected]
    billing_first_name:Alfredo

    billing_invoice_type:

    billing_last_name:Piccione
    billing_postcode:12345
    billing_state: CT
    order_comments:
    payment_method:bacs

    Questa la risposta
    result:failure
    messages: <div class=”clnet-alert-box clnet-alert-box–error”><p class=”clnet-alert-box__message”>Digita la tua Partita Iva</p></div>
    refresh:false
    reload:false

    Plugin Author labdav

    (@labdav)

    billing_invoice_type corrisponde al campo select di scelta fra fattura o ricevuta.
    Se non compare è probabile che l’abbiate inavvertitamente tolto, forse con qualche plugin di riordinamento dei campi del checkout.

    Thread Starter Alfio Piccione

    (@picaland)

    Risolto!
    Era un problema nella sovrascrittura custom del campo “billing_invoice_type”.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Notice “Digita la tua Partita Iva” checkout da non loggato’ is closed to new replies.