MonetaWeb
Hosted 3D Secure HTTP
MonetaWeb - Hosted 3D Secure HTTP
1.
2.
3.
4.
5.
6.
7.
Il titolare carta effettua un acquisto sul sito del Merchant
I dati del pagamento sono trasmessi al server del Merchant
Il server del Merchant inizializza il pagamento con un messaggio HTTP (vedi pag. 4)
MonetaWeb valida l’inizializzazione e restituisce il PaymentID e la URL della Hosted Payment Page
Il server del Merchant redirige il titolare carta verso la HPP usando come parametro il PaymentID
Il titolare carta riempie la form con i dati sensibili della carta di credito
MonetaWeb storicizza i dati del pagamento e invia una Verify Enrollment Request (VEReq) ai server dei circuiti Visa/MasterCard
7A. I server di Visa/MasterCard redirigono la richiesta verso l’Issuer
7B. L’Issuer replica verso i Server di Visa/MasterCard con l’esito dell’enrollment e la URL dell’Access Control Server (ACS)
2
MonetaWeb - Hosted 3D Secure HTTP
8.
9.
10.
11.
Visa/MasterCard rispondono con una Verify Enrollment Response (VERes)
8A. MonetaWeb redirige il titolare carta verso l’ACS dell’Issuer con la Payment Authentication Request (PAReq)
8B. L’ACS risponde con la Payment Authentication Response (PARes)
MonetaWeb invia in modalità “server to server” l’esito del pagamento alla ResponseURL del Merchant
MonetaWeb legge la ResultURL e il PaymentID “stampati a video” dalla ResponseURL (vedi pag. 7)
Monetaweb redirige il titolare carta verso la ResultURL con il PaymentID come parametro
3
MonetaWeb - Hosted 3D Secure HTTP
Protocollo: HTTP
Metodo: POST
Content-Type:
URL Encoded (legacy): application/www-form-urlencoded or application/x-www-form-urlencoded
Servlet per l’inizializzazione del pagamento con un messaggio HTTP :
TEST:
https://test.monetaonline.it/monetaweb/hosted/init/http
PRODUZIONE:
https://www.monetaonline.it/monetaweb/hosted/init/http
Esempio messaggio HTTP:
id=99999999&password=99999999&action=4&amt=1.00&currencycode=978&langid=ITA&
responseurl=http://www.merchant.it/notify.jsp&errorurl=http://www.merchant.it/error.jsp&
trackid=TRCK0001&udf1=Descrizione
4
MonetaWeb - Hosted 3D Secure HTTP
Parametri di chiamata del messaggio HTTP:
id
password
action
amt
currencycode
langid
responseurl
errorurl
trackid
udf1
udf2
udf3
udf4
Id associato al terminale
Password associata all’id terminale
Fisso a ‘4’ (richiesta autorizzazione)
Importo della transazione (es: 1.00) con 2 decimali al massimo
Fisso a ‘978’ (valuta euro)
Lingua della pagina di pagamento (ITA, USA, SPA, FRA, DEU)
Pagina di ricezione della risposta (es: http://www.merchant.it/notify.jsp)
Pagina di errore (es: http://www.merchant.it/error.jsp)
Riferimento Operazione, alfanumerico obbligatorio lungo massimo18 caratteri
(può contenere solo lettere e numeri e deve essere univoco in assoluto)
Descrizione del pagamento (opzionale)
Campo libero o utilizzabile per prepopolare i campi “Titolare Carta” e “Email
per conferma” separando i due valori con il carattere punto e virgola (es.
“mario rossi;[email protected]”)
Campo libero
Campo libero
5
MonetaWeb - Hosted 3D Secure HTTP
Esempio di risposta alla init:
8508636460121029:https://www.monetaonline.it/monetaweb/hosted/page
Parametri di risposta alla init:
Payment Id
Url
Id associato alla sessione di pagamento
Url della pagina di pagamento verso cui ridirigere il titolare carta
Parametri di risposta al messaggio HTTP:
paymentid
result
auth
tranid
trackid
udf1
udfx (2-4)
udf5 (RRN)
responsecode
Identificativo univoco dell’ordine generato da MonetaWeb
Esito della transazione (es: APPROVED, CAPTURED, ecc.)
Codice di autorizzazione, valorizzato se la transazione è stata autorizzata
(‘999999’ se autorizzata in test)
Identificativo univoco della transazione generato da MonetaWeb
Riferimento Operazione inviato dal commerciante
Descrizione del pagamento, se valorizzato dal commerciante
Come popolati dal merchant
Riferimento univoco della transazione generato dal Sistema Autorizzativo (da
utilizzare in caso di contabilizzazione esplicita a mezzo file)
Codice di risposta (es: ‘00’ o ‘000’ se autorizzata)
6
MonetaWeb - Hosted 3D Secure HTTP
Esempio pagina di ricezione della risposta
<%
// parsing del messaggio di risposta
long paymentID = Long.parseLong(request.getParameter("paymentid"));
String result = request.getParameter("result");
String auth = request.getParameter("auth");
long ref = Long.parseLong(request.getParameter("ref"));
long tranid = Long.parseLong(request.getParameter("tranid"));
String trackid = request.getParameter("trackid");
String details = request.getParameter("udf1");
String responsecode = request.getParameter("responsecode");
// storicizzazione dei dati
// redirezione alla pagina di visualizzazione dell'esito
out.println("redirect=" + "http://www.merchant.it/result.jsp" + "?paymentid=" + paymentid);
%>
7
Scarica

Parametri di risposta alla init