Ciao a tutti,
in fase di registrazione i clienti riescono a registrarsi con partita IVA ma quando fanno il login alla loro area riservata compare questo errore:
"La partita IVA inserita (XXXXXXX) non è una partita IVA valida. Verranno addebitate le tasse."
ho controllato e la partita iva è esatta.
Ho sbagliato qualche impostazione?
Grazie
Ciao,
non so quale versione utilizzi o se hai installato qualche modulo specifico per la partita iva. Personalmente non ho mai incontrato un problema del genere su Magento.
Considera comunque che, in generale, molti sistemi che verificano la validità della partita Iva, fanno controlli sul Vies
Quindi se una partita Iva comunitaria è corretta nel proprio paese ma non è presente nel Vies potrebbe risultare non corretta.
Spero di essermi espresso chiaramente.
Saluti
Ciao,
quello che dice @fabrisys è giusto.
Per evitare che ti esca l'errore puoi aggiungere il controllo "manuale" della partita IVA italiana, modificando la funzione checkVatNumber che trovi nel file /app/code/core/Mage/Customer/Helper/Data.php alla riga 524.
Alla riga 566 aggiungi il seguente codice:
if($countryCode == "IT"){ $result = true; if($requestParams['vatNumber']=='') $result = false; //la p.iva deve essere lunga 11 caratteri if(strlen($requestParams['vatNumber'])!=11) $result = false; //la p.iva deve avere solo cifre if(!ereg("^[0-9]+$", $requestParams['vatNumber'])) $result = false; $primo=0; for($i=0; $i<=9; $i+=2) $primo+= ord($requestParams['vatNumber'][$i])-ord('0'); for($i=1; $i<=9; $i+=2 ){ $secondo=2*( ord($requestParams['vatNumber'][$i])-ord('0') ); if($secondo>9) $secondo=$secondo-9; $primo+=$secondo; } if( (10-$primo%10)%10 != ord($requestParams['vatNumber'][10])-ord('0') ) $result = false; $gatewayResponse->setIsValid($result); $gatewayResponse->setRequestDate((string) $result->requestDate); $gatewayResponse->setRequestIdentifier((string) $result->requestIdentifier); $gatewayResponse->setRequestSuccess(true); }
Ciao SielcoSistemi ho provato a mettere in pratica il tuo consiglio ma non funziona. Ecco cosa trovo come codice alla riga 566:
{ // Default response $gatewayResponse = new Varien_Object(array( 'is_valid' => false, 'request_date' => '', 'request_identifier' => '', 'request_success' => false ));
Ciao,
che versione di Magento hai?
La modifica che ho postato, è quella che uso io per la versione 1.9.
Ho avuto lo stesso problema con Magento 1.9.3.2 con installata la patch php7.2
Ho installato il php_soap
Io utilizzo cpanel quindi mi è stato sufficiente abilitarlo.
La guida che mi ha illuminato è questa:
Magento EU VAT tax validation fails, customer group change not applied