Diapositiva 1

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
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
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
4
MonetaWeb - Hosted 3D Secure HTTP
Init Servlet:
E’ la servlet esposta per l’inizializzazione dei pagamenti in modalità hosted.
Riceve in ingresso i dati relativi al pagamento e restituisce un ID e la url della pagina di pagamento.
URL dell’ambiente di TEST:
https://test.monetaonline.it/monetaweb/hosted/init/http
URL dell’ambiente di PRODUZIONE:
https://www.monetaonline.it/monetaweb/hosted/init/http
5
MonetaWeb - Hosted 3D Secure HTTP
Parametri di inizializzazione:
Nome
id
password
action
amt
currencycode
langid
responseurl
errorurl
trackid
udf1
udf2
udf3
udf4
udf5
Descrizione
id associato al terminale
password associata all’id terminale
‘4’ (richiesta di autorizzazione)
Importo della transazione (es: 1.00) con 2 cifre decimali
‘978’ (euro)
Lingua della pagina di pagamento (ITA, USA, SPA, FRA, DEU)
Pagina di ricezione della risposta (es: http://www.site.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)
Campo 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 riservato
Campo libero
Campo riservato
Tipo
char
varchar
char
decimal
Lunghezza
8
50
2
18,2
char
varchar
varchar
3
2048
2048
varchar
18
varchar
255
varchar
255
varchar
-
255
-
Esempio di inizializzazione 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
6
MonetaWeb - Hosted 3D Secure HTTP
Parametri di risposta all’inizializzazione:
Nome
paymentid
url
Descrizione
Identificativo univoco dell’ordine generato da MonetaWeb
Url della pagina di pagamento verso cui ridirigere il titolare carta
Tipo
char
varchar
Lunghezza
18
50
Esempio di risposta alla init:
8508636460121029:http://www.monetaonline/monetaweb/hosted/page
7
MonetaWeb - Hosted 3D Secure HTTP
Parametri di risposta al messaggio HTTP:
Nome
paymentid
result
auth
tranid
trackid
udf1
udf2
udf3
udf4
udf5
responsecode
Descrizione
Identificativo univoco dell’ordine generato da MonetaWeb
Esito della transazione (es: APPROVED, CAPTURED, ecc.)
Codice di autorizzazione, valorizzato se la transazione è stata
autorizzata
Identificativo univoco della transazione generato da MonetaWeb
Riferimento Operazione inviato dal commerciante
Descrizione del pagamento, se valorizzato dal commerciante
Come valorizzato dal commerciante
Campo utilizzato per restituire i primi 8 numeri del pan carta
inserito dal titolare
Come valorizzato dal commerciante
Campo utilizzato in ambiente di produzione per restituire l'RRN
scambiato con i Circuiti
Codice di risposta, che può assumere i seguenti valori:
00 – Transazione autorizzata e confermata (contabilizzazione
implicita)
000 – Transazione autorizzata (contabilizzazione esplicita)
Qualsiasi valore diverso da '00' e '000' indica una transazione non
autorizzata.
Tipo
char
varchar
Lunghezza
18
50
varchar
6
char
varchar
varchar
varchar
18
18
255
255
char
8
varchar
255
char
12
char
3
8
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);
%>
9
MonetaWeb - Hosted 3D Secure HTTP
Comportamento dell’ambiente di TEST:
L’ambiente di TEST di MonetaWeb accetta qualsiasi carta, purchè valida (circuiti abilitati di default,
VISA e MASTERCARD). L’esito della transazione viene determinato in base all’importo valorizzato:
Importo = 9999  transazione negata
Importo <> 9999  transazione autorizzata
10