MonetaWeb Setefi - Hosted 3D Secure XML

MonetaWeb
Hosted 3D Secure XML
MonetaWeb - Hosted 3D Secure XML
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 XML (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 XML
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 XML
Servlet per l’inizializzazione del pagamento con un messaggio XML :
https://www.monetaonline.it/MPI2/servlet/PaymentInitXMLServlet
Esempio messaggio XML:
<id>99999999</id><password>99999999</password><action>4</action><amt>1.00</amt><currency
code>978</currencycode><langid>ITA</langid><responseurl>http://www.merchant.it/notify.jsp</respo
nseurl><errorurl>http://www.merchant.it/error.jsp</errorurl><trackid>TRCK0001</trackid><udf1>Descr
izione</udf1>
4
MonetaWeb - Hosted 3D Secure XML
Parametri di chiamata del messaggio XML:
id
password
action
amt
currencycode
langid
responseurl
errorurl
trackid
udf1
Alias associato al terminale
Alias associato al terminale
Fisso a ‘4’ (richiesta autorizzazione)
Importo della transazione (es: 1.00)
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, campo alfanumerico lungo al massimo 18 caratteri
(può contenere solo lettere e numeri e deve essere univoco in assoluto)
Descrizione del pagamento (opzionale)
5
MonetaWeb - Hosted 3D Secure XML
Parametri di risposta al messaggio XML:
paymentid
result
auth
ref
tranid
trackid
udf1
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)
Riferimento della transazione generato dal Sistema Autorizzativo
Identificativo della transazione generato da MonetaWeb
Riferimento Operazione inviato dal commerciante
Descrizione del pagamento, se valorizzato dal commerciante
Codice di risposta (es: ‘00’ o ‘000’ se autorizzata)
6
MonetaWeb - Hosted 3D Secure XML
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