Ultimo aggiornamento 2/05/2014

5. Sicurezza: controllo prima del pagamento

5.1 Firma SHA-IN

Per controllare i dati trasmessi al sistema (nel caso di e-Commerce, i campi nascosti inviati alla pagina di pagamento), Ingenico ePayments richiede il metodo di verifica della sicurezza dei dati SHA. Per ciascun ordine, il server genera una stringa di caratteri univoci (=digest), separata da un trattino dall'algoritmo preferito dall'utente: SHA-1, SHA-256 o SHA-512.

È possibile effettuare un calcolo simile dopo la transazione, per verificare i parametri restituiti con gli URL di reindirizzamento. Quest'operazione viene definita SHA-OUT.

5.1.1 Creazione della stringa

La stringa con il trattino è composta dalla concatenazione dei valori dei campi trasmessi insieme all'ordine, in ordine alfabetico, nel formato ‘PARAMETRO=valore’. Ciascun parametro con il proprio valore è seguito da una passphrase. La passphrase è definita nella pagina "Informazione tecniche" dell'account Ingenico ePayments, nella scheda “Controllo dei dati e d'origine”, sezione “Controlli per e-Commerce”. È importante rispettare la distinzione tra maiuscole e minuscole quando si compilano questi valori per formare la stringa precedente il trattino!

Importante

  • Tutti i parametri inviati (e visualizzati nell'Elenco dei parametri da includere nel calcolo SHA-IN) sono inclusi nella stringa con il trattino.
  • Tutti i nomi dei parametri devono essere in LETTERE MAIUSCOLE (per evitare confusione).
  • Tutti i parametri devono essere disposti in ordine alfabetico.
  • I parametri senza alcun valore NON devono essere inclusi nella stringa dell'algoritmo.
  • Alcuni algoritmi di ordinamento aggiungono caratteri speciali prima della prima lettera dell'alfabeto, mentre altri li aggiungono alla fine. In caso di dubbio, rispettare l'ordine visualizzato nell'elenco SHA.
  • Se si sceglie di trasferire l'account di prova alla produzione mediante il collegamento nel menu Account, nell'account di produzione viene automaticamente configurata una passphrase SHA-IN casuale.
  • Per una maggiore sicurezza, è necessario utilizzare passphrase SHA diverse per gli ambienti di prova e di produzione. Se le passphrase sono identiche, la passphrase di PROVA verrà modificata dal sistema (l'utente riceverà un'email di notifica).

Quando si effettua l'hash di una stringa composta con l'algoritmo SHA, viene restituito un digest esadecimale. La lunghezza del digest SHA è di 40 caratteri per SHA-1, 64 per SHA-256 e 128 per SHA-512. Il risultato deve essere inviato al sistema nella richiesta dell'ordine mediante il campo “SHASIGN”.

Il sistema ricompone la stringa SHA in base ai parametri ricevuti e confronta il digest del venditore con il digest generato dal sistema. Se il risultato non è identico, l'ordine viene rifiutato. Il controllo serve a garantire che i dati dell'ordine siano esatti e completi.

È possibile controllare qui il valore SHASIGN ed effettuare una transazione di prova con il digest SHA calcolato dal sistema qui.

Esempio di calcolo SHA-1-IN (con soltanto parametri di base)

Parametri (in ordine alfabetico):

AMOUNT=1500 (15.00 x100)
CURRENCY=EUR
LANGUAGE=en_US
ORDERID=1234
PSPID=MyPSPID

Passphrase SHA-IN (nella pagina "Technical information"):
Mysecretsig1875!?

Stringa con hash:
AMOUNT=1500Mysecretsig1875!?CURRENCY=EURMysecretsig1875!?LANGUAGE=en_USMysecretsig1875!?
ORDERID=1234Mysecretsig1875!?PSPID=MyPSPIDMysecretsig1875!?

Digest risultante (SHA-1):
F4CC376CD7A834D997B91598FA747825A238BE0A


Se il campo SHASIGN inviato nei campi HTML nascosti della transazione non corrisponde al campo SHASIGN costruito da parte nostra con i dettagli dell'ordine e la passphrase immessa nel campo della passphrase SHA-IN (nella pagina Technical information), viene visualizzato il messaggio di errore “unknown order/1/s" nei Registri di errore dell'account (nella pagina del pagamento viene visualizzato un messaggio di errore generico).

Se nulla nel campo "SHASIGN" viene inviato nei campi HTML nascosti mentre viene immessa una passphrase nel campo SHA-IN (nella pagina Technical information), ad indicare che si intende utilizzare una firma SHA con ogni transazione –, viene visualizzato il messaggio di errore “unknown order/0/s".

Di seguito il campo nascosto usato per trasmettere la firma SHA al sistema:

Campo Descrizione
SHASIGN Stringa di caratteri univoca per la convalida dei dati dell'ordine. Una stringa contrassegnata con l'algoritmo SHA-1 contiene sempre 40 caratteri.

5.2 Referente

Oltre al controllo SHA, è possibile configurare il controllo del referente. Quest'impostazione permette di controllare l'origine della richiesta di transazione, ovvero l'URL di provenienza della richiesta (= il referente). L'obiettivo è impedire agli URL non autorizzati (non configurati nell'account) di richiamare la pagina di pagamento.

Se si passa alla scheda "Controlle dei dati e d'origine" della pagina Informazione tecniche nella sezione "Controlli per e-Commerce", è possibile immettere uno o più URL da attivare per richiamare la pagina dei  pagamenti: orderstandard.asp / orderstandard_utf8.asp.

Importante

  • L'URL deve iniziare sempre con http:// o https://.
  • È possibile immettere l'URL completo o soltanto il nome di dominio; nell'ultimo caso, tutte le directory secondarie e le pagine del dominio verranno accettate.
  • In presenza di parecchi domini, è possibile immettere diversi URL, ad es. http://www.miosito.com;http://www.miosito.it;https://www.miosito.sicuro.com. Gli URL devono essere separati dai due punti, senza spazi prima o dopo i due punti.
  • Se si esegue una transazione di prova dalla pagina di prova, immettere l'’URL del sito Web come riferimento, altrimenti comparirà un messaggio di errore.
Sebbene il referente permetta al sistema di identificare l'origine di un ordine, non garantisce l'integrità dei dati. Il sistema richiede pertanto l'uso di una firma SHA.

I possibili errori relativi al referente sono "unknown order/1/r" e "unknown order/0/r". Per maggiori informazioni relative agli errori, visitare Errori possibili .

Questo sito web utilizza i cookie per essere in grado di darvi la migliore esperienza utente. Se non si desidera accettare i cookie, è possibile modificare le impostazioni dei cookie. Cliccate su 'Accetta' per consentire tutti i cookie di questo sito.

Impostazioni dei cookie

Introduzione

Funzionale

I cookies funzionali sono necessari per il funzionamento corretto del sito web. Non è possibile disattivare questi cookie.

Ottimizzato

I cookies per l’ottimizzazione ci permettono di analizzare l'utilizzo del sito in modo che possiamo monitorare e migliorare il nostro sito.
Questo è il livello predefinito.

Personalizzata

Cookies di personalizzazione vengono utilizzati per i social media e per personalizzazione avanzata, permettendoci di mostrarvi le informazioni collegate alla vostra azienda.


Esempio delle funzionalità consentite

  • Salvare le preferenze riguardanti il paese
  • Salvare le preferenze riguardanti la lingua

Esempio delle funzionalità non consentite

  • Salvataggio dei dati personali
  • Tracciamento per scopi di remarketing
  • Tracciamento anonimo tramite Google Analytics

Esempio delle funzionalità consentite

  • Salvare le preferenze riguardanti il paese
  • Salvare le preferenze riguardanti la lingua
  • Tracciamento anonimo tramite Google Analytics
  • Tracciamento per scopi di remarketing

Esempio delle funzionalità non consentite

  • Salvataggio dei dati personali
  • Tracciamento per scopi di remarketing

Esempio delle funzionalità consentite

  • Salvare le preferenze riguardanti il paese
  • Salvare le preferenze riguardanti la lingua
  • Tracciamento anonimo tramite Google Analytics
  • Mostrare contenuto in linea con i vostri interessi
  • Mostrare pubblicità in linea con i vostri interessi
  • Tracciamento per scopi di remarketing

Esempio delle funzionalità non consentite

  • Salvataggio dei dati personali