Aggiunta connessione per iPA

This commit is contained in:
Thomas Zilio 2018-07-09 18:26:22 +02:00
parent 8937878cfe
commit 45ee5f8b7b
3 changed files with 30 additions and 2 deletions

View File

@ -27,6 +27,7 @@
"danielstjules/stringy": "^3.1",
"ezyang/htmlpurifier": "^4.8",
"filp/whoops": "^2.1",
"guzzlehttp/guzzle": "^6.3",
"ifsnop/mysqldump-php": "^2.3",
"intervention/image": "^2.3",
"league/csv": "^8.2",

View File

@ -112,7 +112,7 @@ class FatturaElettronica
],
'ProgressivoInvio' => $documento['numero_esterno'],
'FormatoTrasmissione' => ($cliente['tipo'] == 'Ente pubblico') ? 'FPA12' : 'FPR12',
'CodiceDestinatario' => !empty($cliente['codice_pa']) ? $cliente['codice_pa'] : $default_code,
'CodiceDestinatario' => !empty($cliente['codice_destinatario']) ? $cliente['codice_destinatario'] : $default_code,
];
// Telefono di contatto
@ -126,7 +126,7 @@ class FatturaElettronica
}
// Inizializzazione PEC solo se necessario
if (empty($cliente['codice_pa'])) {
if (empty($cliente['codice_destinatario'])) {
$result['PECDestinatario'] = $cliente['pec'];
}
@ -485,6 +485,29 @@ class FatturaElettronica
return $output;
}
public static function PA($codice_fiscale)
{
$id = setting('Authorization ID Indice PA');
if (empty($id)) {
return null;
}
// Localhost: ['curl' => [CURLOPT_SSL_VERIFYPEER => false]]
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://www.indicepa.gov.it/public-ws/WS01_SFE_CF.php', [
'form_params' => [
'AUTH_ID' => $id,
'CF' => $codice_fiscale,
],
]);
$json = json_decode($response->getBody(), true);
return isset($json['data'][0]['OU'][0]['cod_uni_ou']) ? $json['data'][0]['OU'][0]['cod_uni_ou'] : null;
}
/**
* Salva il file XML.
*

View File

@ -206,6 +206,10 @@ INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `directory`, `options`) VALUES (NULL, 'Fatturazione Elettronica', 'Fatturazione Elettronica', (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di vendita'), (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di vendita'), 'tab', 'fatturazione', 'custom');
INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Authorization ID Indice PA', '', 'string', 1, 'Generali', 0);
ALTER TABLE `an_anagrafiche` ADD `codice_destinatario` varchar(7);
-- Aggiornamento zz_settings
ALTER TABLE `zz_settings` CHANGE `idimpostazione` `id` int(11) NOT NULL AUTO_INCREMENT;
UPDATE `zz_views` SET `query` = REPLACE(`query`, 'idimpostazione', 'id');