Ultimo aggiornamento 2/05/2014

7. Feedback sulla transazione

In seguito all'elaborazione di una transazione, in base al risultato, è possibile che venga inviata una risposta al sistema e al cliente. Di seguito viene spiegato in che modo e quando è possibile inviare il feedback sulla transazione e cosa si deve configurare e impostare per garantire l'efficacia di ogni processo di feedback.

Procedure consigliate

Reindirizzamento con i parametri su accept-/exception-/cancel-/declineurl (Reindirizzamento con aggiornamento del database) con richiesta differita di feedback dopo il pagamento come riserva (Feedback da server a server (post-pagamento)).

Nell'account PostFinance selezionare "Configurazione" > "Informazione tecniche" > "Ritorno d'informazione della transazione". Configurare le impostazioni come descritto di seguito: 

Reindirizzamento HTTP nel browser:

Feedback sugli URL di reindirizzamento

Richiesta HTTP diretta da server a server: sempre differita:

Feedback differito dopo il pagamento 

7.1 Reazione predefinita

In base alle impostazioni predefinite, se non sono state configurate le impostazioni di feedback sulla transazione, il cliente visualizza un messaggio standard: "Pagamento autorizzato" oppure "Transazione rifiutata".

In questa pagina aggiungiamo anche un collegamento al vostro sito Web e/o al vostro catalogo. In genere questi collegamenti sono configurati nei dettagli amministrativi dell'account PostFinance, da cui il sistema li recupera. È possibile anche sostituire gli URL inviando i campi HOMEURL e CATALOGURL insieme agli altri campi nascosti nel modulo dell'ordine:

<input type="hidden" name="CATALOGURL" value="">
<input type="hidden" name="HOMEURL" value="">

Campo
Descrizione
CATALOGURL URL (assoluto) del catalogo. Dopo l'elaborazione della transazione, al cliente viene richiesto di tornare all'URL con un pulsante.
HOMEURL

URL (assoluto) della home page. Dopo l'elaborazione della transazione, al cliente viene richiesto di tornare all'URL con un pulsante.

Se si invia il valore “NONE”, il pulsante che rimanda al sito Web del venditore viene nascosto.

7.2 Reindirizzamento in base al risultato della transazione

In base al risultato, dopo la transazione il sistema può reindirizzare il cliente verso quattro URL: "ACCEPTURL", "EXCEPTIONURL", "CANCELURL" e "DECLINEURL".

Gli URL possono essere configurati o trasmessi nel seguente modo:

  • Configurazione nell'account PostFinance: Nella scheda Transaction feedback della pagina Informazione tecniche: "Ridirezione HTTP nel navigatore"
  • Invio degli URL nei campi nascosti del modulo dell'ordine:

    <input type="hidden" name="ACCEPTURL" value="">
    <input type="hidden" name="DECLINEURL" value="">
    <input type="hidden" name="EXCEPTIONURL" value="">
    <input type="hidden" name="CANCELURL" value="">

    Campo Descrizione
    ACCEPTURL URL della pagina Web che il cliente deve visualizzare dopo che il pagamento viene autorizzato (stato 5), archiviato (stato 4), accettato (stato 9) o è in attesa di accettazione (stato in sospeso 41, 51 o 91).
    DECLINEURL URL della pagina Web che il cliente deve visualizzare quando l'acquirente rifiuta l'autorizzazione (stato 2 o 93) oltre al numero massimo ammissibile di volte.
    EXCEPTIONURL URL della pagina Web che il cliente deve visualizzare quando il risultato del pagamento è incerto (stato 52 o 92).
    Se il campo è vuoto, il cliente viene invece reindirizzato su ACCEPTURL.
    CANCELURL URL della pagina Web che il cliente deve visualizzare quando annulla il pagamento (stato 1).
    Se il campo è vuoto, il cliente viene invece reindirizzato su DECLINEURL.

Notifica di avviso del browser: da ambiente sicuro ad ambiente non sicuro

Quando un cliente torna dalle pagine di pagamento sicuro al sito Web del venditore, il browser lo può avvisare che sta accedendo a un ambiente non sicuro, dato che probabilmente sta passando da un ambiente https:// a un ambiente http://.

Quando viene rilevato il reindirizzamento al sito Web, possiamo mostrare un messaggio che avvisa il cliente circa la possibilità di rischi, evitando pertanto preoccupazioni infondate per un avviso del browser. È possibile attivare la seguente opzione nella sezione “Ridirezione HTTP nel navigatore" della scheda Ritorno d'informazione... della pagina Informazione tecniche: “Voglio PostFinance mostrare un testo corto al cliente sulla pagina di pagamento se una ridirezione al mio sito web è individuata appena dopo il processo di pagamento.”

7.3 Reindirizzamento con aggiornamento del database

È possibile usare il reindirizzamento negli URL di reindirizzamento per avviare automaticamente attività di back-office come gli aggiornamenti del database. Quando viene eseguita una transazione, possiamo inviare i parametri della transazione agli URL di reindirizzamento.

Per usare questa funzionalità è necessario attivare la seguente opzione nella sezione “Ridirezione HTTP nel navigatore" della scheda Ritorno d'informazione... della pagina Informazione tecniche:

  • “Desidero ricevere i parametri di ritorno delle transazioni sugli URL di redirezione.”

7.3.1 SHA-OUT

Il reindirizzamento avviene mediante il browser del cliente, che lo rende visibile. Occorre pertanto usare una firma SHA-OUT per controllare i contenuti della richiesta ed impedire ai clienti di manomettere i dati nel campo URL, effettuando aggiornamenti fraudolenti del database.

Se la firma SHA-OUT non viene configurata, non viene inviato alcun parametro negli URL di reindirizzamento.

La stringa di cui effettuare l'hash è composta dalla concatenazione dei valori dei campi trasmessi insieme all'ordine, in ordine alfabetico, nel formato ‘parametro=valore’, seguiti da una passphrase. La passphrase è definita nella scheda Transaction feedback della pagina Technical information, nella sezione “Tutti I modi di sottomissione delle transazione”.



Per un elenco completo dei parametri da includere nel digest SHA, vedere l'elenco dei parametri SHA-OUT. Questi valori operano una distinzione tra maiuscole e minuscole.

Importante

  • Tutti i parametri trasmessi (visualizzati nell'elenco dei parametri SHA-OUT) sono inclusi nella stringa di cui effettuare l'hash.
  • Tutti i parametri devono essere in ordine alfabetico.
  • I parametri senza alcun valore NON devono essere inclusi nella stringa dell'algoritmo.
  • Anche se alcuni parametri vengono (parzialmente) restituiti dal sistema con caratteri minuscoli, per il calcolo SHA-OUT ogni parametro deve essere scritto in maiuscolo.
  • Se si sceglie di trasferire l'account di prova alla produzione mediante il collegamento nel menu del back-offfice, nell'account di produzione viene automaticamente configurata una passphrase SHA-OUT 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à una notifica).

Allo stesso modo in cui dobbiamo ricreare il digest per convalidare i dati della transazione con SHA-IN, occorre ricostituire l'hash, usando però la passphrase SHA-OUT e i parametri ricevuti dal sistema.

Se il risultato non è identico, è possibile che i parametri della richiesta siano stati manomessi. Questo controllo garantisce la precisione e l'integrità dei valori dei parametri inviati nella richiesta.

Esempio di calcolo di base SHA-1-OUT



Parametri (in ordine alfabetico, come vengono restituiti da PostFinance):

ACCEPTANCE: 1234

amount: 15

BRAND: VISA

CARDNO: XXXXXXXXXXXX1111

currency: EUR

NCERROR: 0

orderID: 12

PAYID: 32100123

PM: CreditCard

STATUS: 9



Passphrase SHA-OUT (in Informazione tecniche):

Mysecretsig1875!?



Stringa di cui effettuare l'hash (tutti i parametri maiuscoli):

ACCEPTANCE=1234Mysecretsig1875!?AMOUNT=15Mysecretsig1875!?BRAND=VISAMysecretsig1875!?

CARDNO=XXXXXXXXXXXX1111Mysecretsig1875!?CURRENCY=EURMysecretsig1875!?NCERROR=0

Mysecretsig1875!?ORDERID=12Mysecretsig1875!?PAYID=32100123Mysecretsig1875!?

PM=CreditCardMysecretsig1875!?STATUS=9Mysecretsig1875!?



Digest risultante (SHA-1):

209113288F93A9AB8E474EA78D899AFDBB874355

7.4 Feedback da server a server (post-pagamento)

Dopo l'elaborazione della transazione, il nostro sistema può inviare una richiesta http per trasmettere i dati della transazione a un URL specificato. Questo processo, in genere denominato richiesta "post-vendita", consente di aggiornare il database con lo stato dell'ordine, ecc. e di avviare un processo “di fine ordine” (qualora ciò non sia già avvenuto dopo un reindirizzamento). Si tratta anche di un'alternativa per generare una risposta personale al cliente in caso di esigenze specifiche (qualora ciò non sia già avvenuto mediante reindirizzamento).

Il set di parametri di feedback coincide con quelli del reindirizzamento ed è disponibile alla pagina Parametri di feedback.

7.4.1 URL post-pagamento

È possibile definire gli URL di due pagine eseguibili sul sito Web nella scheda "Ritorno d'informazione...", nella sezione (campi URL) "Ridirezione HTTP nel navigatore" della pagina Informazione tecniche:

  • In condizioni ideali, il primo campo contiene l'URL al quale vengono inviati i parametri della richiesta qualora lo stato del pagamento sia accettato, in sospeso o incerto.
  • Il secondo campo può essere l'URL al quale vengono inviati i parametri della richiesta quando la transazione viene annullata dal cliente o rifiutata troppe volte dall'acquirente (ad es. oltre il numero massimo consentito di tentativi di pagamento, in base alle impostazioni della scheda "Parametri globali della transazione" nella sezione "Riprovare il pagamento" della pagina Informazione tecniche).

È possibile immettere due URL diversi oppure usare due volte lo stesso URL. È possibile anche immettere un URL soltanto nel primo campo, ma non nel secondo.

Non specificare nessuna porta nell'URL; accettiamo soltanto le porte 443 e 80.

URL post-pagamento variabili per diversi negozi

Se nella pagina Informazione tecniche dell'account è stata configurata una pagina dopo il pagamento ma ci sono diversi negozi, ciascuno connesso a una directory specifica per la ricezione di feedback dopo il pagamento, una parte dell'URL dopo il pagamento può essere variabile.

La parte variabile può anche essere utilizzata, ad esempio, per "adattare" la richiesta di feedback in modo che includa informazioni sulla sessione, trasmettendola come parte di URL anziché come parametro aggiuntivo. Questo è il caso delle piattaforme Intershop o dei sistemi Servlet.

Conviene utilizzare il seguente campo nascosto:

<input type="hidden" name="PARAMVAR" value="">

Esempio:

URL post-pagamento nella pagina Informazione tecniche:
https://www.sitoWebdelcliente.com/<PARAMVAR>/paginadelcliente.asp

Ulteriore campo nascosto inviato nel modulo dell'ordine:
<input type="hidden" name="PARAMVAR" value="shop1">

Per la transazione risulta il seguente URL post-pagamento:
https://www.sitoWebdelcliente.com/shop1/paginadelcliente.asp

Importante: non utilizzare caratteri speciali nel campo PARAMVAR, poiché il loro URL è codificato e potrebbero creare collegamenti non validi.

7.4.2 Tempistica della richiesta

Quando si configurano gli URL post-pagamento, bisogna scegliere anche quando inviare la richiesta di feedback:

  • Nessuna richiesta

    In questo caso il sistema non invia richieste di feedback. Quest'opzione consente di disattivare gli URL post-pagamento in caso di manutenzione o problemi sul server. Non selezionare quest'opzione se si è obbligati a ricevere richieste di post-vendita (vedere il feedback sulla transazione al cliente e al venditore).
  • Sempre differita (non subito dopo il pagamento)

    La richiesta di feedback viene inviata poco dopo la fine del processo di pagamento. La richiesta di feedback è un'attività in background e non può essere utilizzata per inviare un feedback personalizzato al cliente sul sito Web.

    Se non si utilizza la pagina post-pagamento per personalizzare una risposta ai clienti, è possibile ricevere la richiesta di feedback in background e differita.
  • Sempre online (subito dopo il pagamento, per consentire la personalizzazione della risposta vista dal cliente)

    La richiesta di feedback viene inviata “online” dopo che il sistema riceve la risposta dell'acquirente e prima di notificare al cliente il risultato del pagamento.

    In questo caso, il processo di pagamento dura di più per il cliente, ma è possibile inviare al cliente una risposta personalizzata.

    Lo svantaggio del processo di feedback sul post-pagamento online è che il sistema si può rallentare in presenza di troppe richieste alla pagina di post-pagamento (ad es. volume elevato di transazioni al minuto). Ciò potrebbe allungare i tempi di risposta prima che il cliente riceva un feedback sullo schermo.
  • Online ma passa alla richiesta differita nei momenti in cui le richieste online non vengono effettuate

    Quest'opzione consente ai venditori che necessitano di feedback post-pagamento online (per personalizzare la risposta presentata al cliente) di avere un'opzione di riserva qualora la richiesta online sulla pagina di post-pagamento non riuscisse. In questo caso, il sistema ritenta la richiesta di feedback ogni 10 minuti per un massimo di quattro volte (differita). In questo modo non si perde il feedback sulla transazione qualora la richiesta di feedback dopo il pagamento online non riesca, ad es. a causa di temporanei problemi di server da parte nostra. Al cliente viene mostrato il feedback standard sulla transazione del sistema (v. Reazione predefinita).

7.4.3 Risposta al cliente

Per mostrare un feedback (fine della pagina della transazione) al cliente, utilizziamo una possibile risposta dalla vostra pagina post-pagamento.

Se la pagina post-pagamento risponde con una pagina HTML (contenente un tag <html>) oppure un reindirizzamento (HTTP 302 Object Moved), il nostro sistema invia la pagina HTML “così com'è” al browser del cliente oppure esegue il reindirizzamento anziché reindirizzare il cliente al termine del processo di feedback post-pagamento a uno dei quattro URL inviati nei campi nascosti (ACCEPTURL, EXCEPTIONURL, CANCELURL e DECLINEURL descritti nel capitolo Reindirizzamento in base al risultato della transazione).

In alternativa, se nessuna delle opzioni sopra viene utilizzata come feedback al cliente, la pagina di post-pagamento può rispondere con qualche riga di testo (senza tag <html>) che includiamo nella risposta standard, oppure il sistema mostra semplicemente la risposta standard (come descritto nel capitolo Reazione predefinita).

Il seguente schema mostra il processo al termine della transazione qualora il pagamento venga autorizzato o accettato con una richiesta di post-pagamento online. (Se il pagamento viene annullato, rifiutato o è incerto, il processo è simile ma vengono utilizzate le pagine "CANCELURL", "DECLINEURL", "EXCEPTIONURL" e di "annullamento/rifiuto").

7.4.4 Richiesta HTTP di cambiamenti di stato

Qualora lo stato della transazione cambi, è possibile anche ricevere una richiesta HTTP. A tal fine, è necessario immettere un URL nel campo "Richiesta HTTP di cambiamenti di statuto" della scheda "Ritorno d'informazione..." della pagina Informazione tecniche (e selezionare il momento in cui inviare la richiesta).

Questo processo è simile al feedback post-pagamento, con la differenza che è rilevante soltanto per i potenziali processi in background.

È possibile utilizzare lo stesso URL impostato nella sezione Richiesta HTTP diretta da server a server.

Nota: non è possibile utilizzare l'URL del cambiamento di stato per generare una risposta personale al cliente.

7.5 Parametri di feedback

Quando viene eseguita una transazione, possiamo inviare il seguente elenco di parametri agli URL di reindirizzamento e/o agli URL di feedback post-pagamento.

Campo Descrizione
ACCEPTANCE Il codice di accettazione restituito dall'acquirente
AMOUNT
Quantità dell'ordine (non moltiplicata per 100)
BRAND
Marca della carta (il nostro sistema lo ricava dal numero di carta)
CARDNO
Numero della carta mascherato
CN
Nome titolare della carta/cliente
CURRENCY
Valuta dell'ordine
ED
Data di scadenza
NCERROR
Codice di errore
ORDERID
Riferimento dell'ordine
PAYID
Riferimento del pagamento nel nostro sistema
PM
Metodo di pagamento
SHASIGN
Firma SHA calcolata dal nostro sistema (se SHA-OUT è configurato)
STATUS
Stato della transazione (v. Panoramica di stato)
TRXDATE
Data della transazione

Esempio (richiesta GET)

http://www.yourwebsite.com/acceptpage.asp?orderID=ref12345&currency=EUR&amount=25&PM=CreditCard&ACCEPTANCE=test123&STATUS=5&CARDNO=XXXXXXXXXXXX1111&PAYID=1136745&NCERROR=0&BRAND=VISA&ED=0514&TRXDATE=12/25/08&CN=John Doe

L'elenco dei parametri di feedback può allungarsi se si attivano alcune opzioni nell'account, ad esempio il modulo di rilevamento delle frodi. Per maggiori informazioni sui parametri di feedback aggiuntivi collegati a quest'opzione, consultare la relativa documentazione.

7.5.1 Parametri di feedback dinamici

È anche possibile scegliere quali parametri restituire.

A tale scopo, accedere alla scheda "Ritorno d'informazione..." nella pagina Informazione tecniche, dove è presente un elenco di campi "Disponibile" e "Selezionato". Solo i campi "Selezionato" verranno inclusi nella richiesta di feedback.

Per aggiungere o rimuovere parametri dalla richiesta di feedback, è sufficiente fare clic sul nome del parametro, poi sulla freccia corrispondente, per aggiungerlo/rimuoverlo dall'elenco.

Se si aggiungono o rimuovono parametri dall'elenco, non dimenticare di aggiornare la firma SHA-OUT di conseguenza. I parametri che non vengono selezionati qui NON saranno inclusi nel calcolo SHA-OUT.

7.5.2 Parametri di feedback variabili

È possibile inviarci due parametri aggiuntivi nei campi nascosti del modulo dell'ordine per recuperarli come parametri di feedback dopo la transazione. Sono disponibili i seguenti campi nascosti:

<input type="hidden" name="COMPLUS" value="">
<input type="hidden" name="PARAMPLUS" value="">

Campo
Descrizione
COMPLUS
Campo per l'invio di un valore che si desidera che venga restituito nella richiesta di feedback.
PARAMPLUS

Campo per l'invio di parametri e dei rispettivi valori che si desidera che vengano restituiti nella richiesta di feedback.

Il campo PARAMPLUS non è incluso nei parametri di feedback in quanto tale; invece, i parametri/valori trasmessi in questo campo vengono analizzati e i parametri ottenuti vengono aggiunti alla richiesta http.


Esempio

Ulteriori campi nascosti inviati:

<input type="hidden" name="COMPLUS" value="123456789123456789123456789">
<input type="hidden" name="PARAMPLUS" value="SessionID=126548354&ShopperID=73541312">

Provocano il reindirizzamento con i parametri del feedback:

https://www.yourwebsite.com/acceptpage.asp?[…standard.parameters…]
&COMPLUS=123456789123456789123456789&SessionID=126548354&ShopperID=73541312 

7.6 Reinizializzazione del feedback

Qualora una richiesta di reindirizzamento/feedback non sia stata eseguita a causa di un'azione bloccante da parte del cliente sulle nostre pagine di pagamento sicuro (ad esempio facendo clic sul pulsante indietro nel browser), possiamo reinizializzare la richiesta di post-pagamento e/o il reindirizzamento in modo che il cliente venga reindirizzato alla pagina da visualizzare e i database possano essere aggiornati.

Per attivare questa funzione nell'account, selezionare Configurazione > Informazione tecniche > Ritorno d'informazione... > General e selezionare la casella "Voglio PostFinance rilanciare il "fine di transazione", (richiesta/ridirezione post-pagamento) trattamento se richiesto.".

Tuttavia, è possibile che si ricevano più richieste di post-pagamento per lo stesso ID ordine, poiché la richiesta di reindirizzamento/feedback sarà reinviata se il cliente torna alle nostre pagine di pagamento sicuro utilizzando il pulsante indietro dopo essere stato reindirizzato al sito Web.

Controllare che lo script Post URL sia stato configurato per gestire queste "eccezioni". Ad esempio, è possibile configurare lo script Post URL per creare una riga nel database per ogni stato di transazione ripubblicato e/o generare un'e-mail per informare il commerciante di un'"eccezione" alle operazioni "previste" nella procedura della transazione.

Si consiglia di non sovrascrivere il primo messaggio di stato della transazione ricevuto con qualsiasi messaggio successivo ricevuto per lo stesso ID ordine; l'azione migliore è archiviare tutte le risposte per qualsiasi ordine e richiamare un processo per poterle controllare e gestire correttamente.

Se non si abilita questa funzione, quando un cliente fa clic sul pulsante indietro per tornare alle pagine di pagamento sicuro, visualizzerà un messaggio che indica che il pagamento è già stato elaborato.

7.7 Email di conferma

7.7.1 Email al venditore

Il nostro sistema può inviare un'email di conferma del pagamento per ogni transazione. È possibile configurarla nella sezione "E-mails del commerciante" (email al venditore) della scheda "E-mails della transazione" della pagina Informazione tecniche.

Nella stessa sezione, è possibile scegliere di ricevere email per essere avvisati circa variazioni di stato della transazione.

7.7.2 Email al cliente

Il nostro sistema può inviare automaticamente un'email al cliente per avvisarlo della registrazione della transazione. Si tratta di un'email standard il cui contenuto non può essere modificato. L'indirizzo del mittente (“Da”) usato per inviare l'email è l'indirizzo immesso nel campo “Indirizzo(i) E-mail per le E-mail relative alle transazioni”. Se gli indirizzi email immessi in questo campo sono più di uno, viene usato soltanto il primo nella riga.

È possibile attivare quest'opzione nella scheda "E-mails della transazione" della sezione "E-mail al cliente" della pagina Informazione tecniche.

È anche possibile scegliere di inviare e-mail al cliente al momento della conferma della transazione (acquisizione dati) e del rimborso della transazione, selezionando le caselle corrispondenti. Come indirizzo e-mail del mittente ("Da") per queste e-mail, è possibile configurare "Indirizzo email dell'assistenza da includere nelle email relative alle transazioni". Se non si immette nessun indirizzo e-mail qui, verrà utilizzato il primo indirizzo immesso in "Indirizzo email dell'assistenza da includere nelle email relative alle transazioni" nella sezione "E-mails del commerciante".

Per poter inviare email di conferma ai clienti, occorre includere l'indirizzo email del cliente nel campo nascosto:

<input type="hidden" name="EMAIL" value="">

Campo
Descrizione
EMAIL Indirizzo email del cliente