In questa sezione si illustra come il sistema fiscale genera una firma offline (in caso di malfunzionamento del dispositivo TSE) e quali dati vengono restituiti in tale caso dal FiscalClient.
Talvolta la comunicazione con il TSE/TSS restituisce un messaggio di errore (guasto hardware, impossibilità per il Cloud TSE di connettersi al Cloud CSP, ecc.). In tal caso, prosegua la procedura di cassa come di consueto: il sistema fiscale crea automaticamente le firme offline e provvede alla rifirma automatica dello scontrino non appena il TSE/TSS è nuovamente disponibile.
Esistono diverse modalità con cui il sistema fiscale può reagire a un guasto del TSE:
- guasto del TSE solo durante la fase di createDocument
- errore del TSE solo durante le operazioni «storeDocument» o «cancelDocument»
- Errore del TSE durante le operazioni createDocument e storeDocument/cancelDocument
In tutti i casi il sistema fiscale gestisce il malfunzionamento del TSE per conto del sistema POS e occorre solo supportare le diverse risposte fiscali.
Errore TSE durante l’operazione createDocument
In questo caso, l’apertura della transazione sul TSE non è andata a buon fine (createDocument).
Il sistema fiscale restituisce una risposta fiscale speciale:
{
"FiscalCountry": 0,
"FiscalDocumentNumber": "-99",
"FiscalDocumentStartTime": 0,
"ProcessStartTime": 0,
"ErrorDescription": "Tse connection error.",
"CashRegisterId":"3656-1",
"Signature": "",
"UserMessage": null,
"PrintMessage": "",
"RequestTime": "2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime": "2021-09-07T07:07:09.7981746+02:00",
"QrCode": "",
"RetailForceReceiptId": "0wxyz0001",
"AdditionalFields":
{
"QrCodeDataString": "", -- empty
"TransactionStartTime": 0, -- zero
"TransactionEndTime": 1630991229,
"ProcessData": "", -- empty
"ProcessType": "Kassenbeleg-V1",
"TseSerial": "7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "", -- empty
"TseSignatureCounter": 0, -- zero
"TseCertificate": "...", -- certificate data
"FiscalDocumentRevision": 0,
}
}Il flusso operativo lato POS rimane invariato. È sufficiente inviare i valori memorizzati della «fiscalResponse» («fiscalDocumentNumber»: «-99», «fiscalDocumentStartTime»: {come restituito}, «fiscalDocumentRevision»: 0) durante l’operazione «storeDocument». Il sistema fiscale provvederà autonomamente a creare automaticamente la transazione prima della memorizzazione del documento (firma) e fornirà una risposta fiscale regolare durante l’operazione «storeDocument».
Errore durante l’operazione `storeDocument`/`cancelDocument`
In questo caso, il sistema fiscale restituirà una risposta fiscale di errore:
{
"FiscalCountry": 0,
"FiscalDocumentNumber": "0",
"FiscalDocumentStartTime": 0,
"ProcessStartTime": 0,
"ErrorDescription": "Tse connection error.",
"CashRegisterId": "3656-1",
"Signature": "Tse not connected.",
"UserMessage": "Tse not connected.",
"PrintMessage": "TSE ausgefallen.",
"RequestTime": "2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime ":"2021-09-07T07:07:09.7981746+02:00",
"QrCode": "",
"RetailForceReceiptId": "0wxyz0001",
"AdditionalFields":
{
"QrCodeDataString": "", -- empty
"TransactionStartTime": 0, -- zero
"TransactionEndTime": 1630991229,
"ProcessData": "", -- empty
"ProcessType": "Kassenbeleg-V1",
"TseSerial": "7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "", -- empty
"TseSignatureCounter": 0, -- zero
"TseCertificate": "...", -- certificate data
"FiscalDocumentRevision": 0,
}
}Al termine dell’errore TSE, il sistema fiscale rifirma automaticamente tutte le ricevute generate e archiviate durante l’interruzione. Il sistema POS non deve intraprendere alcuna azione a questo punto.
Errore TSE durante le operazioni createDocument e storeDocument/cancelDocument
In caso di tali errori TSE, il processo di invio dei dati al sistema fiscale rimane invariato; il software POS non necessita di alcun adeguamento a questa situazione, solo la risposta fiscale differisce da una normale risposta di firma.
{
"FiscalCountry": 0,
"FiscalDocumentNumber": "0",
"FiscalDocumentStartTime": 0,
"ProcessStartTime": 0,
"ErrorDescription": "Tse connection error.",
"CashRegisterId": "3656-1",
"Signature": "Tse not connected.",
"UserMessage": "Tse not connected.",
"PrintMessage": "TSE ausgefallen.",
"RequestTime": "2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime": "2021-09-07T07:07:09.7981746+02:00",
"QrCode": "",
"RetailForceReceiptId": "0wxyz0001",
"AdditionalFields":
{
"QrCodeDataString": "", -- empty
"TransactionStartTime": 0, -- zero
"TransactionEndTime": 1630991229,
"ProcessData": "", -- empty
"ProcessType": "Kassenbeleg-V1",
"TseSerial": "7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "", -- empty
"TseSignatureCounter": 0, -- zero
"TseCertificate": "...", -- certificate data
"FiscalDocumentRevision": 0,
}
}Al termine del malfunzionamento del TSE, il sistema fiscale provvede automaticamente a rifirmare tutte le ricevute generate e memorizzate durante l’interruzione. Il sistema POS non deve effettuare alcuna operazione in questa fase.
Questo articolo è stato tradotto automaticamente.
Commenti
0 commenti
Accedi per aggiungere un commento.