Im Folgenden finden Sie zwei Beispiel-Workflows für Anfechtungstransaktionen, die mit unserem 3DS API bearbeitet wurden:
- Beispiel 1 - Herausforderung - Nein threedmethodurl
- Beispiel 2 - Herausforderung - mit threedmethodurl - Klicken Sie hier, um zu diesem Beispiel zu scrollen
Bitte stellen Sie sicher, dass Ihr System die dokumentierten Anfragen verarbeiten und die zurückgegebenen Antworten verarbeiten kann.
Um Ihre Anwendung lokal zu testen, müssen Sie Ihre Testanwendung mit Ihrer IPv4-Adresse und nicht mit localhost ausführen. Nachdem Sie Ihre IPv4-Adresse abgefragt haben, müssen Sie localhost in Ihrem Browser durch die ermittelte IP-Adresse ersetzen.
Wir empfehlen, die nachstehenden Informationen in Verbindung mit unserer Übersicht zu lesen.
Klicken Sie hier, um die Seite in einer neuen Registerkarte zu öffnen.
Beispiel 1 - Herausforderung - Nein threedmethodurl
Schritt 1. THREEDLOOKUP
THREEDLOOKUP Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine THREEDLOOKUP Anfrage, die über die Webservices API übermittelt wurde:
{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"accounttypedescription": "ECOM",
"baseamount": "1050",
"currencyiso3a": "GBP",
"expirydate": "01/2038",
"pan": "4900490000000667",
"requesttypedescription": "THREEDLOOKUP",
"sitereference": "test_3dsapi12345"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="THREEDLOOKUP">
<billing>
<payment>
<expirydate>01/2038</expirydate>
<pan>4900490000000667</pan>
</payment>
<amount currencycode="GBP">1050</amount>
</billing>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<sitereference>test_3dsapi12345</sitereference>
</operation>
</request>
</requestblock>
THREEDLOOKUP Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
THREEDLOOKUP Beispiel für eine Antwort
Nachfolgend finden Sie ein Beispiel für eine Antwort von THREEDLOOKUP:
{
"requestreference": "W57-cnk4dbg4",
"response": [{
"cachetoken": "eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1Ny01ODRlOWMwNDliZTczZTIxNGNkZTU1MTk0NDQ3OWY4MGNhMzg3OGVmZTI1N2EzN2MwMWRmOTc1ZWRlYjI3YTBjIn0=",
"debtrepayment": "0",
"errorcode": "0",
"errormessage": "Ok",
"maskedpan": "490049######0667",
"paymenttypedescription": "DELTA",
"requesttypedescription": "THREEDLOOKUP",
"threedstransactionid": "cebcb773-3aa1-4bfa-a959-135aa50bb760",
"threedversion": "2.2.0",
"transactionstartedtimestamp": "2022-06-14 15:34:18"
}],
"secrand": "E9DXCCLNL",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W55-e1hupt8p</requestreference>
<response type="THREEDLOOKUP">
<billing>
<payment type="DELTA">
<pan>490049######0667</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<merchant>
<debtrepayment>0</debtrepayment>
</merchant>
<operation>
<cachetoken>eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1NS05M2Y4NTg2NTQyYzEzOWE2OWU0YjBhMWNiYmVjNDAxOTE2YTgxNmI3Mzk5NTc2MGUxZDNkZTRkOGZjNjZkMmYxIn0=</cachetoken>
</operation>
<threedsecure>
<transactionid>043ee10e-8d48-4e8c-9bd2-9f86676d9b85</transactionid>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 10:37:14</timestamp>
</response>
<secrand>0UibpZRout</secrand>
</responseblock>
THREEDLOOKUP Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Schritt 2. Methode URL
Führen Sie diesen Schritt nur aus, wenn threedmethodurl in der Antwort THREEDLOOKUP zurückgegeben wird. Da wir das Feld in diesem Ablauf nicht zurückerhalten, fahren wir mit Schritt 3 fort.
Schritt 3. THREEDQUERY
Es kann sein, dass es nicht möglich ist, die customerip und accept (HTTP-Accept-Header) vom Browser selbst zu erfassen. Daher müssen Sie einen Endpunkt auf Ihrem Server konfigurieren, der es Ihnen ermöglicht, eine GET-Anfrage durchzuführen, um die customerip und accept an den Browser zurückgibt.
THREEDQUERY Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine THREEDQUERY Anfrage, die über die Webservices API übermittelt wurde:
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accept": "text/html,*/*",
"accounttypedescription": "ECOM",
"acquirerbin": "408912",
"baseamount": "1050",
"browsercolordepth": "24",
"browserjavaenabled": "false",
"browserjavascriptenabled": "true",
"browserlanguage": "en",
"browserscreenheight": "864",
"browserscreenwidth": "1536",
"browsertz": "120",
"cachetoken": "eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1Ny01ODRlOWMwNDliZTczZTIxNGNkZTU1MTk0NDQ3OWY4MGNhMzg3OGVmZTI1N2EzN2MwMWRmOTc1ZWRlYjI3YTBjIn0=",
"challengewindowsize": "02",
"currencyiso3a": "GBP",
"customerip": "1.2.3.4",
"expirydate": "01/2038",
"pan": "4900490000000667",
"paymenttypedescription": "DELTA",
"requesttypedescription": "THREEDQUERY",
"sitereference": "test_3dsapi12345",
"termurl": "https://webhook.site/8543eb65-e5c7-40fc-a475-a862a825a562",
"threedstransactionid": "cebcb773-3aa1-4bfa-a959-135aa50bb760",
"threedscompind": "U",
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="THREEDQUERY">
<acquirer>
<acquirerbin>111111</acquirerbin>
</acquirer>
<merchant>
<termurl>https://webhook.site/8543eb65-e5c7-40fc-a475-a862a825a562</termurl>
</merchant>
<billing>
<payment>
<expirydate>01/2038</expirydate>
<pan>4900490000000667</pan>
</payment>
<amount currencycode="GBP">1050</amount>
</billing>
<customer>
<accept>text/html,*/*</accept>
<browsercolordepth>24</browsercolordepth>
<browserjavaenabled>false</browserjavaenabled>
<browserjavascriptenabled>true</browserjavascriptenabled>
<browserlanguage>en</browserlanguage>
<browserscreenheight>864</browserscreenheight>
<browserscreenwidth>1536</browserscreenwidth>
<browsertz>120</browsertz>
<challengewindowsize>02</challengewindowsize>
<ip>1.2.3.4</ip>
<useragent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36</useragent>
</customer>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<cachetoken>eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1NS05M2Y4NTg2NTQyYzEzOWE2OWU0YjBhMWNiYmVjNDAxOTE2YTgxNmI3Mzk5NTc2MGUxZDNkZTRkOGZjNjZkMmYxIn0=</cachetoken>
<sitereference>test_3dsapi12345</sitereference>
</operation>
<threedsecure>
<threedscompind>N</threedscompind>
<transactionid>043ee10e-8d48-4e8c-9bd2-9f86676d9b85</transactionid>
</threedsecure>
</request>
</requestblock>
THREEDQUERY Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
THREEDQUERY Beispiel für eine Antwort
Im Folgenden finden Sie ein Beispiel für eine Antwort von THREEDQUERY:
{
"requestreference": "W57-wr84pnjg",
"response": [{
"accounttypedescription": "ECOM",
"acsreferencenumber": "ACS_REF",
"acstransid": "c6a58c52-90a7-43d4-8beb-dfc5a42aeacc",
"acsurl": "https://acs-mock.3ds.trustpayments.com/3ds/mock/acs/creq",
"debtrepayment": "0",
"enrolled": "Y",
"errorcode": "0",
"errormessage": "Ok",
"issuer": "SecureTrading Test Issuer1",
"issuercountryiso2a": "OM",
"livestatus": "0",
"maskedpan": "490049######0667",
"merchantcategorycode": "0000",
"merchantcountryiso2a": "GB",
"merchantname": "Test Merchant 3DS",
"merchantnumber": "9990000001",
"operatorname": "webservices@example.com",
"paymenttypedescription": "DELTA",
"requesttypedescription": "THREEDQUERY",
"settleduedate": "2022-06-14",
"settlestatus": "0",
"status": "C",
"threedpayload": "eyJtZXNzYWdlVHlwZSI6ICJDUmVxIiwgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjogImNlYmNiNzczLTNhYTEtNGJmYS1hOTU5LTEzNWFhNTBiYjc2MCIsICJtZXNzYWdlVmVyc2lvbiI6ICIyLjIuMCIsICJhY3NUcmFuc0lEIjogImM2YTU4YzUyLTkwYTctNDNkNC04YmViLWRmYzVhNDJhZWFjYyIsICJjaGFsbGVuZ2VXaW5kb3dTaXplIjogIjAyIn0",
"threedsservertransid": "cebcb773-3aa1-4bfa-a959-135aa50bb760",
"threedversion": "2.2.0",
"transactionreference": "57-100-36",
"transactionstartedtimestamp": "2022-06-14 15:34:58"
}],
"secrand": "X",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W55-tw06y1mp</requestreference>
<response type="THREEDQUERY">
<billing>
<payment type="DELTA">
<issuer>SecureTrading Test Issuer1</issuer>
<issuercountry>OM</issuercountry>
<pan>490049######0667</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>0</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcategorycode>0000</merchantcategorycode>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Test Merchant 3DS</merchantname>
<merchantnumber>9990000001</merchantnumber>
<operatorname>webservices@example.com</operatorname>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<settlement>
<settleduedate>2022-06-16</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<threedsecure>
<acsreferencenumber>ACS_REF</acsreferencenumber>
<acstransid>03769db6-f238-4f2c-97a1-725940cff98b</acstransid>
<acsurl>https://acs-mock.3ds.trustpayments.com/3ds/mock/acs/creq</acsurl>
<enrolled>Y</enrolled>
<status>C</status>
<threedpayload>eyJtZXNzYWdlVHlwZSI6ICJDUmVxIiwgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjogIjA0M2VlMTBlLThkNDgtNGU4Yy05YmQyLTlmODY2NzZkOWI4NSIsICJtZXNzYWdlVmVyc2lvbiI6ICIyLjIuMCIsICJhY3NUcmFuc0lEIjogIjAzNzY5ZGI2LWYyMzgtNGYyYy05N2ExLTcyNTk0MGNmZjk4YiIsICJjaGFsbGVuZ2VXaW5kb3dTaXplIjogIjAyIn0</threedpayload>
<threedsservertransid>043ee10e-8d48-4e8c-9bd2-9f86676d9b85</threedsservertransid>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 10:39:03</timestamp>
<transactionreference>55-100-25</transactionreference>
</response>
<secrand>TiwNR</secrand>
</responseblock>
THREEDQUERY Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Schritt 4. Herausforderung
Führen Sie diesen Schritt nur aus, wenn acsurl in der Antwort THREEDQUERY zurückgegeben wird.
Um eine Step-up-Authentifizierung durchzuführen, müssen Sie ein Formular erstellen, in dem die action auf acsurl Wert, der in der Antwort von THREEDQUERY zurückgegeben wurde. Dieses Formular muss Folgendes enthalten:
- creq - Dies ist der Wert des Parameters threedpayload der in der Antwort THREEDQUERY zurückgegeben wird.
- threeDSSessionData - Dies ist eine eindeutige Kennung, mit der Sie die Sitzung des Kunden während des Authentifizierungsprozesses verfolgen können. Der threedstransactionid Wert, der in der Antwort THREEDLOOKUP zurückgegeben wird, kann für diesen Zweck verwendet werden, oder der Anfragende kann seinen eigenen eindeutigen Bezeichner zuweisen. Wenn ein Anfragesteller seine eigene eindeutige Kennung zuweist, empfehlen wir die Verwendung eines GUID/UUID-Formats.
Hier ist ein Beispiel für ein solches Formular:
<html>
<head>
<meta charset="utf-8">
<title>Trust Payments - 3D Secure Payment form</title>
</head>
<body onload="document.getElementById('3dform').submit();">
<form method="POST" action="ACSURL" id="3dform">
<input type="hidden" name="threeDSSessionData" value="threedsservertransid_VALUE" />
<input type="hidden" name="creq" value="threedpayload_VALUE" />
<noscript>
<br>
<br>
<div style="text-align: center">
<h1>Processing your 3D Secure Transaction</h1>
<p>Please click continue to continue the processing of your 3D Secure transaction.</p>
<input type="submit" class="button" value="continue"/>
</div>
</noscript>
</form>
</body>
</html>
Nach dem Absenden des Formulars wird der Kunde auf eine vom ACS gehostete Seite weitergeleitet, auf der er eine Step-up-Authentifizierung durchführen muss, in der Regel durch Eingabe einer zuvor vereinbarten PIN und/oder eines Passworts oder durch biometrische Authentifizierung, z. B. durch Fingerabdruck- oder Gesichtserkennung.
Anschließend wird der Browser des Kunden auf die in Schritt termurl weitergeleitet, die in Schritt 3 (3-D-Abfrage) definiert wurde. Dieser Redirect beinhaltet:
- threeDSSessionData - Sie müssen überprüfen, ob dieser Wert mit dem eindeutigen Wert übereinstimmt, der im Formular für das ACS enthalten ist, wie oben beschrieben.
- cres - Der zurückgegebene Wert sollte nicht als das endgültige Authentifizierungsergebnis behandelt werden. Sie sollten den Wert dieses Feldes zusammen mit den threeDSSessionData protokollieren. Die endgültige Authentifizierungsantwort erhalten Sie im Rahmen von Schritt 5 (3-D-Ergebnis).
Schritt 5. THREEDRESULT
Sie müssen die THREEDRESULT erst überprüfen, wenn die folgenden Bedingungen erfüllt sind:
- Der Browser des Kunden ist von der von ACS gehosteten Seite zur termurl definiert in Stufe 3 (3-D-Abfrage).
- Sie haben bestätigt, dass die threeDSSessionData die an den termurl gleicht den im Formular enthaltenen eindeutigen Wert mit dem ACS ab.
THREEDRESULT Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine THREEDRESULT Anfrage, die über die Webservices API übermittelt wurde:
Für jede 3-D Secure -Authentifizierungssitzung sollte Ihr Server so konfiguriert werden, dass er die Sitzung mithilfe des Feldes threedstransactionid Feld zu verfolgen und sicherzustellen, dass nur eine einzige THREEDRESULT Anfrage pro eindeutiger threedstransactionid.
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"parenttransactionreference": "57-100-36",
"requesttypedescription": "THREEDRESULT",
"sitereference": "test_3dsapi12345"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="THREEDRESULT">
<operation>
<parenttransactionreference>55-100-25</parenttransactionreference>
<sitereference>test_3dsapi12345</sitereference>
</operation>
</request>
</requestblock>
THREEDRESULT Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
THREEDRESULT Beispiel für eine Antwort
Im Folgenden finden Sie ein Beispiel für eine Antwort von THREEDRESULT:
{
"requestreference": "W57-0epgmcxq",
"response": [{
"accounttypedescription": "ECOM",
"baseamount": "1050",
"cavv": "dHJ1c3RwYXltZW50c2F1dGhlbnQ=",
"currencyiso3a": "GBP",
"debtrepayment": "0",
"eci": "05",
"enrolled": "Y",
"errorcode": "0",
"errormessage": "Ok",
"issuer": "SecureTrading Test Issuer1",
"issuercountryiso2a": "OM",
"livestatus": "0",
"maskedpan": "490049######0667",
"merchantcategorycode": "0000",
"merchantcountryiso2a": "GB",
"merchantname": "Test Merchant 3DS",
"merchantnumber": "9990000001",
"operatorname": "webservices@example.com",
"parenttransactionreference": "57-100-36",
"paymenttypedescription": "DELTA",
"requesttypedescription": "THREEDRESULT",
"settleduedate": "2022-06-14",
"status": "Y",
"threedacstransactionreference": "c6a58c52-90a7-43d4-8beb-dfc5a42aeacc",
"threeddirectorytransactionreference": "65f1188b-4961-4590-a3e7-f350c22c1d45",
"threedversion": "2.2.0",
"transactionreference": "57-100-37",
"transactionstartedtimestamp": "2022-06-14 15:36:33"
}],
"secrand": "D6sWTorcfyDv",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W58-rknh8ux8</requestreference>
<response type="THREEDRESULT">
<billing>
<amount currencycode="GBP">1050</amount>
<payment type="DELTA">
<issuer>SecureTrading Test Issuer1</issuer>
<issuercountry>OM</issuercountry>
<pan>490049######0667</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>0</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcategorycode>0000</merchantcategorycode>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Test Merchant 3DS</merchantname>
<merchantnumber>9990000001</merchantnumber>
<operatorname>webservices@example.com</operatorname>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<parenttransactionreference>55-100-25</parenttransactionreference>
</operation>
<settlement>
<settleduedate>2022-06-16</settleduedate>
</settlement>
<threedsecure>
<cavv>dHJ1c3RwYXltZW50c2F1dGhlbnQ=</cavv>
<directorytransactionreference>bd637044-d98c-404c-b154-339675710b51</directorytransactionreference>
<eci>05</eci>
<enrolled>Y</enrolled>
<status>Y</status>
<threedacstransactionreference>03769db6-f238-4f2c-97a1-725940cff98b</threedacstransactionreference>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 10:43:08</timestamp>
<transactionreference>58-100-44</transactionreference>
</response>
<secrand>s</secrand>
</responseblock>
THREEDRESULT Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Schritt 6. AUTH
Sobald der 3-D Secure Prozess abgeschlossen ist, ist es an der Zeit, eine Transaktion zu verarbeiten. Wenn Sie mit der Zahlung über das TRU Connect Gateway fortfahren möchten, sendet Ihr Server eine AUTH Anfrage über Webservices API, einschließlich zusätzlicher Felder, die Sie in der THREEDRESULT Antwort erhalten haben.
AUTH Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine AUTH Anfrage, die über die Webservices API übermittelt wurde:
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"ECOM",
"pan":"4900490000000667",
"expirydate":"01/2038",
"currencyiso3a":"GBP",
"requesttypedescriptions":["AUTH"],
"sitereference":"test_auth12347",
"baseamount":"1050",
"orderreference":"V2.2-TESTCASE9-VISA",
"securitycode":"123",
"cavv":"dHJ1c3RwYXltZW50c2F1dGhlbnQ=",
"eci":"05",
"xid":"",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"65f1188b-4961-4590-a3e7-f350c22c1d45"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<billing>
<payment>
<expirydate>01/2038</expirydate>
<pan>4900490000000667</pan>
<securitycode>123</securitycode>
</payment>
<amount currencycode="GBP">1050</amount>
</billing>
<operation>
<parenttransactionreference>58-100-44</parenttransactionreference>
<sitereference>test_auth12347</sitereference>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<threedsecure>
<cavv>dHJ1c3RwYXltZW50c2F1dGhlbnQ=</cavv>
<eci>05</eci>
<xid></xid>
<enrolled>Y</enrolled>
<status>Y</status>
<version>2.2.0</version>
<directorytransactionreference>bd637044-d98c-404c-b154-339675710b51</directorytransactionreference>
</threedsecure>
</request>
</requestblock>
AUTH Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
AUTH Beispiel für eine Antwort
Im Folgenden finden Sie ein Beispiel für eine Antwort von AUTH:
{
"requestreference": "W60-jfweuhp1",
"response": [{
"accounttypedescription": "ECOM",
"acquirerresponsecode": "00",
"authcode": "TEST54",
"authmethod": "PRE",
"baseamount": "1050",
"cavv": "dHJ1c3RwYXltZW50c2F1dGhlbnQ=",
"currencyiso3a": "GBP",
"dccenabled": "0",
"debtrepayment": "0",
"eci": "05",
"enrolled": "Y",
"errorcode": "0",
"errormessage": "Ok",
"issuer": "SecureTrading Test Issuer1",
"issuercountryiso2a": "OM",
"livestatus": "0",
"maskedpan": "490049######0667",
"merchantcountryiso2a": "GB",
"merchantname": "Test Merchant",
"merchantnumber": "00000000",
"operatorname": "webservices@example.com",
"orderreference": "V2.2-TESTCASE9-VISA",
"paymenttypedescription": "DELTA",
"requesttypedescription": "AUTH",
"securityresponseaddress": "0",
"securityresponsepostcode": "0",
"securityresponsesecuritycode": "2",
"settleduedate": "2022-06-14",
"settlestatus": "0",
"splitfinalnumber": "1",
"status": "Y",
"threedversion": "2.2.0",
"tid": "27880001",
"transactionreference": "60-9-2473248",
"transactionstartedtimestamp": "2022-06-14 15:37:35"
}],
"secrand": "HWCwdnmokhOsQV",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W58-3cdmyvrf</requestreference>
<response type="AUTH">
<acquirerresponsecode>00</acquirerresponsecode>
<authcode>TEST83</authcode>
<billing>
<amount currencycode="GBP">1050</amount>
<dcc enabled="0"/>
<payment type="DELTA">
<issuer>SecureTrading Test Issuer1</issuer>
<issuercountry>OM</issuercountry>
<pan>490049######0667</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>0</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Test Merchant</merchantname>
<merchantnumber>00000000</merchantnumber>
<operatorname>webservices@example.com</operatorname>
<orderreference>My_Order_123</orderreference>
<tid>27880001</tid>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<authmethod>PRE</authmethod>
<splitfinalnumber>1</splitfinalnumber>
</operation>
<security>
<address>0</address>
<postcode>0</postcode>
<securitycode>2</securitycode>
</security>
<settlement>
<settleduedate>2022-06-16</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<threedsecure>
<cavv>dHJ1c3RwYXltZW50c2F1dGhlbnQ=</cavv>
<eci>05</eci>
<enrolled>Y</enrolled>
<status>Y</status>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 10:44:18</timestamp>
<transactionreference>58-9-2453360</transactionreference>
</response>
<secrand>IBXJxCb3R</secrand>
</responseblock>
AUTH Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Beispiel 2 - Herausforderung - Mit threedmethodurl
Schritt 1. THREEDLOOKUP
THREEDLOOKUP Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine THREEDLOOKUP Anfrage, die über die Webservices API übermittelt wurde:
{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"accounttypedescription": "ECOM",
"baseamount": "1050",
"currencyiso3a": "GBP",
"expirydate": "01/2038",
"pan": "4900490000000550",
"requesttypedescription": "THREEDLOOKUP",
"sitereference": "test_3dsapi12345"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="THREEDLOOKUP">
<billing>
<payment>
<expirydate>01/2038</expirydate>
<pan>4900490000000550</pan>
</payment>
<amount currencycode="GBP">1050</amount>
</billing>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<sitereference>test_3dsapi12345</sitereference>
</operation>
</request>
</requestblock>
THREEDLOOKUP Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
THREEDLOOKUP Beispiel für eine Antwort
Nachfolgend finden Sie ein Beispiel für eine Antwort von THREEDLOOKUP:
{
"requestreference": "W59-jpat4b7k",
"response": [{
"cachetoken": "eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1OS1jMDQ1ZDYzN2FiYmQxN2JjZTVhYmFiMGJhZWFiYzBmODY0NGU1ZGIyOGY5YjYwZDMwNTNmZGMwNDE0NjllMDFiIn0=",
"debtrepayment": "0",
"errorcode": "0",
"errormessage": "Ok",
"maskedpan": "490049######0550",
"paymenttypedescription": "DELTA",
"requesttypedescription": "THREEDLOOKUP",
"threedmethodurl": "https://acs-mock.3ds.trustpayments.com/3ds/mock/acs/method",
"threednotificationurl": "https://brw.3ds.sandbox.trustpayments.com/3dss/brw/notification/threeDSMethod/332cf48e-0ef2-44f6-9c6b-b1bdc3797310/bcdd8e60-e16f-4dbc-a504-5156f011dc35",
"threedstransactionid": "332cf48e-0ef2-44f6-9c6b-b1bdc3797310",
"threedversion": "2.2.0",
"transactionstartedtimestamp": "2022-06-15 12:08:50"
}],
"secrand": "hWOrHYh0r6tL",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W58-5x436ucq</requestreference>
<response type="THREEDLOOKUP">
<billing>
<payment type="DELTA">
<pan>490049######0550</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<merchant>
<debtrepayment>0</debtrepayment>
</merchant>
<operation>
<cachetoken>eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1OC1jN2RmZGE1ZjA1YzFmYzdkY2VmYjg2MzVkNzk5ODg3MjNiNjYxNjFmNzUwMDYzN2RmZjMzMDBiOTI0Y2IyZWZhIn0=</cachetoken>
</operation>
<threedsecure>
<methodurl>https://acs-mock.3ds.trustpayments.com/3ds/mock/acs/method</methodurl>
<notificationurl>https://brw.3ds.sandbox.trustpayments.com/3dss/brw/notification/threeDSMethod/7a028212-f061-45a0-ad84-fad88a94e606/dc60e511-1fab-489a-af91-4f8e0dae8b4d</notificationurl>
<transactionid>7a028212-f061-45a0-ad84-fad88a94e606</transactionid>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 11:03:12</timestamp>
</response>
<secrand>uHMF7PN30</secrand>
</responseblock>
THREEDLOOKUP Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Schritt 2. Methode URL
Führen Sie diesen Schritt nur aus, wenn threedmethodurl in der Antwort THREEDLOOKUP zurückgegeben wird.
Ihr System sendet einen HTTPS-POST an das ACS unter Verwendung der base64-kodierten threedmethodurl einschließlich der threedstransactionid und threednotificationurl (zurückgegeben in Schritt 1). Der Grund dafür ist, dass bei der Übermittlung an das ACS an dieser Stelle Informationen aus den Kopfzeilen erfasst werden können (z. B. der Browsertyp). Später sendet das ACS ein POST zurück an die threeDSMethodNotificationURL, die Sie im ersten POST an das ACS angegeben haben.
Zum Beispiel:
{
"threeDSServerTransID":"332cf48e-0ef2-44f6-9c6b-b1bdc3797310",
"threeDSMethodNotificationURL":"https://webhook.site/8543eb65-e5c7-40fc-a475-a862a825a562"
}
Der Standard threednotificationurl Wert, der in THREEDLOOKUP zurückgegeben wird, muss mit Ihrer eigenen Endpunkt-URL überschrieben werden. Dieser wird verwendet, um ein HTTPS POST vom ACS zu erhalten, das den Abschluss des Schritts "Method URL" bestätigt.
Dies wird dann base64-kodiert, was zu einem Ergebnis führt:
eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjMzMmNmNDhlLTBlZjItNDRmNi05YzZiLWIxYmRjMzc5NzMxMCIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJodHRwczovL3dlYmhvb2suc2l0ZS84NTQzZWI2NS1lNWM3LTQwZmMtYTQ3NS1hODYyYTgyNWE1NjIifQ==
Achten Sie darauf, dass "=="-Zeichen beim Aufbau der POST weggelassen werden.
Nachfolgend ein Beispiel für ein HTTPS POST an das ACS, das die threedmethodurl:
<form name="frm" method="POST" action="threedmethodurl">
<input type="hidden" name="threeDSMethodData"
value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjMzMmNmNDhlLTBlZjItNDRmNi05YzZiLWIxYmRjMzc5NzMxMCIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJodHRwczovL3dlYmhvb2suc2l0ZS84NTQzZWI2NS1lNWM3LTQwZmMtYTQ3NS1hODYyYTgyNWE1NjIifQ">
</form>
Method URL Request Field Specification
Erforderlich | Feld | Format | Länge | Beschreibung |
threeDSMethodNotificationURL | URL |
Nicht definiert |
Die Endpunkt-URL, die die Benachrichtigung über den Abschluss der 3DS-Methode vom ACS erhält. Hinweis: Sie müssen den Wert von threednotificationurl der in der Antwort von THREEDLOOKUP zurückgegeben wird. Dies wird in der ersten Anfrage an das ACS vom 3DS-Antragsteller, der die 3DS-Methode ausführt, gesendet. |
|
threeDSServerTransID | Alphanumerisch mit Bindestrichen |
36 |
Universell eindeutiger Transaktionsbezeichner, der vom 3DS-Server zugewiesen wird, um eine einzelne Transaktion zu identifizieren. Die threeDSServerTransID wird dem Wert entnommen, der im Feld threedstransactionid Feld der Antwort THREEDLOOKUP zurückgegeben wird. |
Empfang von HTTPS POST von ACS an threeDSMethodNotificationURL
Die threeDSMethodNotificationURL erhält den Parameter threeDSMethodData, einen base64-kodierten JSON-String, der die threeDSServerTransID.
"threeDSMethodData"="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNhYzdjYWE3LWFhNDItMjY2My03OTFiLTJhYzA1YTU0MmM0YSJ9"
Decoded threeDSMethodData:
{"threeDSServerTransID":"332cf48e-0ef2-44f6-9c6b-b1bdc3797310"}
Es kann bis zu 10 Sekunden dauern, bis das ACS die HTTPS POST an Ihre threeDSMethodNotificationURL sendet.
- Wenn Sie diese vom ACS innerhalb von 10 Sekunden erhalten, fahren Sie mit Schritt 3 (3-D-Abfrage) fort und setzen threedscompind in der Anfrage THREEDQUERY auf "Y".
- Wenn Sie nicht innerhalb von 10 Sekunden vom ACS erhalten, fahren Sie mit Schritt 3 (3-D-Abfrage) fort und setzen threedscompind in der Anfrage THREEDQUERY auf "N". (Es ist möglich, dass Sie die Meldung auch nach Ablauf von 10 Sekunden noch erhalten, aber das kann ignoriert werden).
Der Wert der base64-kodierten threeDSMethodData muss von =-Zeichen befreit werden.
Spezifikation der URL-Antwortfelder der Methode
Erforderlich | Feld | Format | Länge | Beschreibung |
threeDSMethodData |
Base64-kodierter JSON-String |
K.A. |
Diese enthält die threeDSServerTransID die ein universell eindeutiger Transaktionsbezeichner ist, der vom 3DS-Server zugewiesen wird, um eine einzelne Transaktion zu identifizieren. |
Schritt 3. THREEDQUERY
Es kann sein, dass es nicht möglich ist, die customerip und accept (HTTP-Accept-Header) vom Browser selbst zu erfassen. Daher müssen Sie einen Endpunkt auf Ihrem Server konfigurieren, der es Ihnen ermöglicht, eine GET-Anfrage durchzuführen, um die customerip und accept an den Browser zurückgibt.
THREEDQUERY Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine THREEDQUERY Anfrage, die über die Webservices API übermittelt wurde:
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accept": "text/html,*/*",
"accounttypedescription": "ECOM",
"acquirerbin": "111111",
"baseamount": "1050",
"browsercolordepth": "24",
"browserjavaenabled": "false",
"browserjavascriptenabled": "true",
"browserlanguage": "en",
"browserscreenheight": "864",
"browserscreenwidth": "1536",
"browsertz": "120",
"cachetoken": "eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1OS1jMDQ1ZDYzN2FiYmQxN2JjZTVhYmFiMGJhZWFiYzBmODY0NGU1ZGIyOGY5YjYwZDMwNTNmZGMwNDE0NjllMDFiIn0=",
"challengewindowsize": "02",
"currencyiso3a": "GBP",
"customerip": "1.2.3.4",
"expirydate": "01/2038",
"pan": "4900490000000550",
"requesttypedescription": "THREEDQUERY",
"sitereference": "test_3dsapi12345",
"termurl": "https://webhook.site/8543eb65-e5c7-40fc-a475-a862a825a562",
"threedstransactionid": "332cf48e-0ef2-44f6-9c6b-b1bdc3797310",
"threedscompind": "Y",
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="THREEDQUERY">
<acquirer>
<acquirerbin>111111</acquirerbin>
</acquirer>
<merchant>
<termurl>https://webhook.site/8543eb65-e5c7-40fc-a475-a862a825a562</termurl>
</merchant>
<billing>
<payment>
<expirydate>01/2038</expirydate>
<pan>4900490000000550</pan>
</payment>
<amount currencycode="GBP">1050</amount>
</billing>
<customer>
<accept>text/html,*/*</accept>
<browsercolordepth>24</browsercolordepth>
<browserjavaenabled>false</browserjavaenabled>
<browserjavascriptenabled>true</browserjavascriptenabled>
<browserlanguage>en</browserlanguage>
<browserscreenheight>864</browserscreenheight>
<browserscreenwidth>1536</browserscreenwidth>
<browsertz>120</browsertz>
<challengewindowsize>02</challengewindowsize>
<ip>1.2.3.4</ip>
<useragent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36</useragent>
</customer>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<cachetoken>eyJkYXRhY2VudGVydXJsIjogImh0dHBzOi8vd2Vic2VydmljZXMuc2VjdXJldHJhZGluZy5uZXQiLCAiY2FjaGV0b2tlbiI6ICI1OC1jN2RmZGE1ZjA1YzFmYzdkY2VmYjg2MzVkNzk5ODg3MjNiNjYxNjFmNzUwMDYzN2RmZjMzMDBiOTI0Y2IyZWZhIn0=</cachetoken>
<sitereference>test_3dsapi12345</sitereference>
</operation>
<threedsecure>
<threedscompind>Y</threedscompind>
<transactionid>7a028212-f061-45a0-ad84-fad88a94e606</transactionid>
</threedsecure>
</request>
</requestblock>
THREEDQUERY Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
THREEDQUERY Beispiel für eine Antwort
Im Folgenden finden Sie ein Beispiel für eine Antwort von THREEDQUERY:
{
"requestreference": "W56-28nv861m",
"response": [{
"accounttypedescription": "ECOM",
"acsreferencenumber": "ACS_REF",
"acstransid": "2d99ebb4-5d47-4e62-9d94-7cfbb2fa5f93",
"acsurl": "https://acs-mock.3ds.trustpayments.com/3ds/mock/acs/creq",
"debtrepayment": "0",
"enrolled": "Y",
"errorcode": "0",
"errormessage": "Ok",
"issuer": "SecureTrading Test Issuer1",
"issuercountryiso2a": "OM",
"livestatus": "0",
"maskedpan": "490049######0550",
"merchantcategorycode": "0000",
"merchantcountryiso2a": "GB",
"merchantname": "Test Merchant 3DS",
"merchantnumber": "9990000001",
"operatorname": "webservices@example.com",
"paymenttypedescription": "DELTA",
"requesttypedescription": "THREEDQUERY",
"settleduedate": "2022-06-15",
"settlestatus": "0",
"status": "C",
"threedpayload": "eyJtZXNzYWdlVHlwZSI6ICJDUmVxIiwgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjogIjMzMmNmNDhlLTBlZjItNDRmNi05YzZiLWIxYmRjMzc5NzMxMCIsICJtZXNzYWdlVmVyc2lvbiI6ICIyLjIuMCIsICJhY3NUcmFuc0lEIjogIjJkOTllYmI0LTVkNDctNGU2Mi05ZDk0LTdjZmJiMmZhNWY5MyIsICJjaGFsbGVuZ2VXaW5kb3dTaXplIjogIjAyIn0",
"threedsservertransid": "332cf48e-0ef2-44f6-9c6b-b1bdc3797310",
"threedversion": "2.2.0",
"transactionreference": "56-100-37",
"transactionstartedtimestamp": "2022-06-15 12:12:09"
}],
"secrand": "Dv",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W58-nyvg7qja</requestreference>
<response type="THREEDQUERY">
<billing>
<payment type="DELTA">
<issuer>SecureTrading Test Issuer1</issuer>
<issuercountry>OM</issuercountry>
<pan>490049######0550</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>0</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcategorycode>0000</merchantcategorycode>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Test Merchant 3DS</merchantname>
<merchantnumber>9990000001</merchantnumber>
<operatorname>webservices@example.com</operatorname>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<settlement>
<settleduedate>2022-06-16</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<threedsecure>
<acsreferencenumber>ACS_REF</acsreferencenumber>
<acstransid>262bb0f7-bae2-4ea1-b4e7-52694cc6a399</acstransid>
<acsurl>https://acs-mock.3ds.trustpayments.com/3ds/mock/acs/creq</acsurl>
<enrolled>Y</enrolled>
<status>C</status>
<threedpayload>eyJtZXNzYWdlVHlwZSI6ICJDUmVxIiwgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjogIjdhMDI4MjEyLWYwNjEtNDVhMC1hZDg0LWZhZDg4YTk0ZTYwNiIsICJtZXNzYWdlVmVyc2lvbiI6ICIyLjIuMCIsICJhY3NUcmFuc0lEIjogIjI2MmJiMGY3LWJhZTItNGVhMS1iNGU3LTUyNjk0Y2M2YTM5OSIsICJjaGFsbGVuZ2VXaW5kb3dTaXplIjogIjAyIn0</threedpayload>
<threedsservertransid>7a028212-f061-45a0-ad84-fad88a94e606</threedsservertransid>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 11:07:08</timestamp>
<transactionreference>58-100-45</transactionreference>
</response>
<secrand>20Sm0jOI</secrand>
</responseblock>
THREEDQUERY Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Schritt 4. Herausforderung
Führen Sie diesen Schritt nur aus, wenn acsurl in der Antwort THREEDQUERY zurückgegeben wird.
Um eine Step-up-Authentifizierung durchzuführen, müssen Sie ein Formular erstellen, in dem die action auf acsurl Wert, der in der Antwort von THREEDQUERY zurückgegeben wurde. Dieses Formular muss Folgendes enthalten:
- creq - Dies ist der Wert des Parameters threedpayload der in der Antwort THREEDQUERY zurückgegeben wird.
- threeDSSessionData - Dies ist eine eindeutige Kennung, mit der Sie die Sitzung des Kunden während des Authentifizierungsprozesses verfolgen können. Der threedstransactionid Wert, der in der Antwort THREEDLOOKUP zurückgegeben wird, kann für diesen Zweck verwendet werden, oder der Anfragende kann seinen eigenen eindeutigen Bezeichner zuweisen. Wenn ein Anfragesteller seine eigene eindeutige Kennung zuweist, empfehlen wir die Verwendung eines GUID/UUID-Formats.
Hier ist ein Beispiel für ein solches Formular:
<html>
<head>
<meta charset="utf-8">
<title>Trust Payments - 3D Secure Payment form</title>
</head>
<body onload="document.getElementById('3dform').submit();">
<form method="POST" action="ACSURL" id="3dform">
<input type="hidden" name="threeDSSessionData" value="threedsservertransid_VALUE" />
<input type="hidden" name="creq" value="threedpayload_VALUE" />
<noscript>
<br>
<br>
<div style="text-align: center">
<h1>Processing your 3D Secure Transaction</h1>
<p>Please click continue to continue the processing of your 3D Secure transaction.</p>
<input type="submit" class="button" value="continue"/>
</div>
</noscript>
</form>
</body>
</html>
Nach dem Absenden des Formulars wird der Kunde auf eine vom ACS gehostete Seite weitergeleitet, auf der er eine Step-up-Authentifizierung durchführen muss, in der Regel durch Eingabe einer zuvor vereinbarten PIN und/oder eines Passworts oder durch biometrische Authentifizierung, z. B. durch Fingerabdruck- oder Gesichtserkennung.
Anschließend wird der Browser des Kunden auf die in Schritt termurl weitergeleitet, die in Schritt 3 (3-D-Abfrage) definiert wurde. Dieser Redirect beinhaltet:
- threeDSSessionData - Sie müssen überprüfen, ob dieser Wert mit dem eindeutigen Wert übereinstimmt, der im Formular für das ACS enthalten ist, wie oben beschrieben.
- cres - Der zurückgegebene Wert sollte nicht als das endgültige Authentifizierungsergebnis behandelt werden. Sie sollten den Wert dieses Feldes zusammen mit den threeDSSessionData protokollieren. Die endgültige Authentifizierungsantwort erhalten Sie im Rahmen von Schritt 5 (3-D-Ergebnis).
Schritt 5. THREEDRESULT
Sie müssen die THREEDRESULT erst überprüfen, wenn die folgenden Bedingungen erfüllt sind:
- Der Browser des Kunden ist von der von ACS gehosteten Seite zu der termurl die in Schritt 3 (3-D-Abfrage) definiert wurde.
- Sie haben bestätigt, dass die threeDSSessionData, die an den termurl mit dem eindeutigen Wert übereinstimmen, der im Formular an das ACS enthalten ist.
THREEDRESULT Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine THREEDRESULT Anfrage, die über die Webservices API übermittelt wurde:
Für jede 3-D Secure -Authentifizierungssitzung sollte Ihr Server so konfiguriert werden, dass er die Sitzung mithilfe des Feldes threedstransactionid Feld zu verfolgen und sicherzustellen, dass nur eine einzige THREEDRESULT Anfrage pro eindeutiger threedstransactionid.
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"parenttransactionreference": "56-100-37",
"requesttypedescription": "THREEDRESULT",
"sitereference": "test_3dsapi12345"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="THREEDRESULT">
<operation>
<parenttransactionreference>58-100-45</parenttransactionreference>
<sitereference>test_3dsapi12345</sitereference>
</operation>
</request>
</requestblock>
THREEDRESULT Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
THREEDRESULT Beispiel für eine Antwort
Im Folgenden finden Sie ein Beispiel für eine Antwort von THREEDRESULT:
{
"requestreference": "W59-3qutnaxv",
"response": [{
"accounttypedescription": "ECOM",
"baseamount": "1050",
"cavv": "dHJ1c3RwYXltZW50c2F1dGhlbnQ=",
"currencyiso3a": "GBP",
"debtrepayment": "0",
"eci": "05",
"enrolled": "Y",
"errorcode": "0",
"errormessage": "Ok",
"issuer": "SecureTrading Test Issuer1",
"issuercountryiso2a": "OM",
"livestatus": "0",
"maskedpan": "490049######0550",
"merchantcategorycode": "0000",
"merchantcountryiso2a": "GB",
"merchantname": "Test Merchant 3DS",
"merchantnumber": "9990000001",
"operatorname": "webservices@example.com",
"parenttransactionreference": "56-100-37",
"paymenttypedescription": "DELTA",
"requesttypedescription": "THREEDRESULT",
"settleduedate": "2022-06-15",
"status": "Y",
"threedacstransactionreference": "2d99ebb4-5d47-4e62-9d94-7cfbb2fa5f93",
"threeddirectorytransactionreference": "be064933-c5bd-4f76-8198-cfd99b6bedf0",
"threedversion": "2.2.0",
"transactionreference": "59-100-37",
"transactionstartedtimestamp": "2022-06-15 12:15:03"
}],
"secrand": "gh33Hh3JJD0",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W55-ycr6w14p</requestreference>
<response type="THREEDRESULT">
<billing>
<amount currencycode="GBP">1050</amount>
<payment type="DELTA">
<issuer>SecureTrading Test Issuer1</issuer>
<issuercountry>OM</issuercountry>
<pan>490049######0550</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>0</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcategorycode>0000</merchantcategorycode>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Test Merchant 3DS</merchantname>
<merchantnumber>9990000001</merchantnumber>
<operatorname>webservices@example.com</operatorname>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<parenttransactionreference>58-100-45</parenttransactionreference>
</operation>
<settlement>
<settleduedate>2022-06-16</settleduedate>
</settlement>
<threedsecure>
<cavv>dHJ1c3RwYXltZW50c2F1dGhlbnQ=</cavv>
<directorytransactionreference>4d020ef9-cdf4-45e5-abb5-a85dfc049948</directorytransactionreference>
<eci>05</eci>
<enrolled>Y</enrolled>
<status>Y</status>
<threedacstransactionreference>262bb0f7-bae2-4ea1-b4e7-52694cc6a399</threedacstransactionreference>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 11:11:09</timestamp>
<transactionreference>55-100-26</transactionreference>
</response>
<secrand>Wx</secrand>
</responseblock>
THREEDRESULT Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Schritt 6. AUTH
Sobald der 3-D Secure Prozess abgeschlossen ist, ist es an der Zeit, eine Transaktion zu verarbeiten. Wenn Sie mit der Zahlung über das TRU Connect Gateway fortfahren möchten, sendet Ihr Server eine AUTH Anfrage über Webservices API, einschließlich zusätzlicher Felder, die Sie in der THREEDRESULT Antwort erhalten haben.
AUTH Anfrage Beispiel
Im Folgenden finden Sie ein Beispiel für eine AUTH Anfrage, die über die Webservices API übermittelt wurde:
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"ECOM",
"pan":"4900490000000550",
"expirydate":"01/2038",
"currencyiso3a":"GBP",
"requesttypedescriptions":["AUTH"],
"sitereference":"test_auth12347",
"baseamount":"1050",
"orderreference":"V2.2-TESTCASE13-VISA",
"securitycode":"123",
"cavv":"dHJ1c3RwYXltZW50c2F1dGhlbnQ=",
"eci":"05",
"xid":"",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"65f1188b-4961-4590-a3e7-f350c22c1d45"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<billing>
<payment>
<expirydate>01/2038</expirydate>
<pan>4900490000000550</pan>
<securitycode>123</securitycode>
</payment>
<amount currencycode="GBP">1050</amount>
</billing>
<operation>
<sitereference>test_auth12347</sitereference>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<threedsecure>
<cavv>dHJ1c3RwYXltZW50c2F1dGhlbnQ=</cavv>
<eci>05</eci>
<xid></xid>
<enrolled>Y</enrolled>
<status>Y</status>
<version>2.2.0</version>
<directorytransactionreference>4d020ef9-cdf4-45e5-abb5-a85dfc049948</directorytransactionreference>
</threedsecure>
</request>
</requestblock>
AUTH Feldspezifikation anfordern
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
AUTH Beispiel für eine Antwort
Im Folgenden finden Sie ein Beispiel für eine Antwort von AUTH:
{
"requestreference": "W59-0av0n4ku",
"response": [{
"accounttypedescription": "ECOM",
"acquirerresponsecode": "00",
"authcode": "TEST30",
"authmethod": "PRE",
"baseamount": "1050",
"cavv": "dHJ1c3RwYXltZW50c2F1dGhlbnQ=",
"currencyiso3a": "GBP",
"dccenabled": "0",
"debtrepayment": "0",
"eci": "05",
"enrolled": "Y",
"errorcode": "0",
"errormessage": "Ok",
"issuer": "SecureTrading Test Issuer1",
"issuercountryiso2a": "OM",
"livestatus": "0",
"maskedpan": "490049######0550",
"merchantcountryiso2a": "GB",
"merchantname": "Test Merchant",
"merchantnumber": "00000000",
"operatorname": "webservices@example.com",
"orderreference": "V2.2-TESTCASE13-VISA",
"paymenttypedescription": "DELTA",
"requesttypedescription": "AUTH",
"securityresponseaddress": "0",
"securityresponsepostcode": "0",
"securityresponsesecuritycode": "2",
"settleduedate": "2022-06-15",
"settlestatus": "0",
"splitfinalnumber": "1",
"status": "Y",
"threedversion": "2.2.0",
"tid": "27880001",
"transactionreference": "59-9-2486253",
"transactionstartedtimestamp": "2022-06-15 12:15:49"
}],
"secrand": "j7ZmqibsHXGjR",
"version": "1.00"
}
<responseblock version="3.67">
<requestreference>W58-pw1n7qyr</requestreference>
<response type="AUTH">
<acquirerresponsecode>00</acquirerresponsecode>
<authcode>TEST93</authcode>
<billing>
<amount currencycode="GBP">1050</amount>
<dcc enabled="0"/>
<payment type="DELTA">
<issuer>SecureTrading Test Issuer1</issuer>
<issuercountry>OM</issuercountry>
<pan>490049######0550</pan>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>0</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Test Merchant</merchantname>
<merchantnumber>00000000</merchantnumber>
<operatorname>webservices@example.com</operatorname>
<orderreference>My_Order_123</orderreference>
<tid>27880001</tid>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<authmethod>PRE</authmethod>
<splitfinalnumber>1</splitfinalnumber>
</operation>
<security>
<address>0</address>
<postcode>0</postcode>
<securitycode>2</securitycode>
</security>
<settlement>
<settleduedate>2022-06-16</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<threedsecure>
<cavv>dHJ1c3RwYXltZW50c2F1dGhlbnQ=</cavv>
<eci>05</eci>
<enrolled>Y</enrolled>
<status>Y</status>
<version>2.2.0</version>
</threedsecure>
<timestamp>2022-06-16 11:12:42</timestamp>
<transactionreference>58-9-2453397</transactionreference>
</response>
<secrand>8m</secrand>
</responseblock>
AUTH Spezifikation der Antwortfelder
Klicken Sie hier, um die Feldspezifikation in einer neuen Registerkarte zu öffnen.
Zurück: Prüfung der reibungsfreien Strömung - Durchgang Nächste: Test-Ressourcen