Bearbeiten Sie Ihre erste Transaktion mit JavaScript Library

Testzahlung verarbeiten

Sobald Sie Ihr Zahlungsformular aktualisiert und die Bibliothek konfiguriert haben, können Sie eine Testkartenzahlung über unsere Sandbox durchführen. Verwenden Sie das zuvor konfigurierte Formular, füllen Sie es mit den folgenden Test-Zahlungsdaten aus und klicken Sie auf "Zahlen", um eine Testtransaktion durchzuführen.

Beim Testen können Sie die folgenden Testkartendetails verwenden, um eine "Erfolgreiche" Antwort zu simulieren:

  • Visa Karte "4111 1111 1111 1111" oder Mastercard "5100 0000 0000 0511
  • Ablaufdatum auf ein beliebiges gültiges Datum in der Zukunft setzen
  • Sicherheitscode "123" verwenden

Nach dem Absenden des Formulars öffnet die "st.js" das Overlay im Browser zur Authentifizierung. Die Ergebnisse der durchgeführten Authentifizierung und der anschließenden Zahlung werden dem Formular hinzugefügt (mit id=“st-form”), die dann direkt an den in der Option action Attribut des Formulars, im Format eines application/x-www-form-urlencoded POST.

 

JWT-Antwort dekodieren

Das Ergebnis der verarbeiteten Anfrage wird in Form eines neuen JWTs zurückgegeben. Es folgt ein Beispiel für eine Antwort, die von Trust Payments zurückgegeben wird:

(Dekodiertes Token)

{
'jwt': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ3ZWJzZXJ2aWNlc0BtZXJjaGFudC5jb20iLCJpYXQiOjE2MDU3OTUyMTYsInBheWxvYWQiOnsiY3VycmVuY3lpc28zYSI6Ik9NUiIsImJhc2VhbW91bnQiOiIxMDAwIiwicGFyZW50dHJhbnNhY3Rpb25yZWZlcmVuY2UiOiI0Mi03MC0xMTMiLCJzaXRlcmVmZXJlbmNlIjoibGl2ZTIiLCJyZXF1ZXN0dHlwZWRlc2NyaXB0aW9ucyI6W10sImFjY291bnR0eXBlZGVzY3JpcHRpb24iOiJFQ09NIn19.uGc6ePF31K2QNmIWOh7XzvRQjk_tRPK4gOZv5-hfHDM',
'requestreference': 'W12-3456abc',
'response': [{
'accounttypedescription': 'ECOM',
'chargedescription': 'Descriptor',
'dccenabled': '0',
'enrolled': 'N',
'errorcode': '0',
'errormessage': 'Ok',
'issuercountryiso2a': 'ZZ',
'livestatus': '0',
'maskedpan': '400000######1026',
'merchantcategorycode': '0000',
'merchantcity': 'Bangor',
'merchantcountryiso2a': 'GB',
'merchantname': 'Test merchant',
'merchantnumber': '00000000',
'merchantzipcode': 'TR45 6ST',
'operatorname': 'webservices@example.com',
'parenttransactionreference': '12-34-567',
'paymenttypedescription': 'VISA',
'requesttypedescription': 'THREEDQUERY',
'settleduedate': '2020-11-19',
'settlestatus': '0',
'threedversion': '1.0.2',
'transactionreference': '12-34-567',
'transactionstartedtimestamp': '2020-11-19 14:13:36',
'xid': 'bUZHNFVUQ2dSNk11WUFkdUx0d1o='
}, {
'accounttypedescription': 'ECOM',
'acquirerresponsecode': '00',
'acquirerresponsemessage': 'Approved or completed Successfully',
'authcode': '000004',
'baseamount': '1050',
'chargedescription': 'Descriptor',
'currencyiso3a': 'GBP',
'customeroutput': 'RESULT',
'dccenabled': '0',
'enrolled': 'N',
'errorcode': '0',
'errormessage': 'Ok',
'issuercountryiso2a': 'ZZ',
'livestatus': '0',
'maskedpan': '400000######1026',
'merchantcategorycode': '0000',
'merchantcity': 'Manchester',
'merchantcountryiso2a': 'GB',
'merchantname': 'Test merchant',
'merchantnumber': '00000000',
'merchantzipcode': 'TR45 6ST',
'operatorname': 'webservices@example.com',
'transactionreference': '12-34-567',
'paymenttypedescription': 'VISA',
'requesttypedescription': 'AUTH',
'retrievalreferencenumber': '032414420113',
'securityresponseaddress': '0',
'securityresponsepostcode': '0',
'securityresponsesecuritycode': '2',
'settleduedate': '2020-11-19',
'settlestatus': '0',
'splitfinalnumber': '1',
'stan': '420113',
'threedversion': '1.0.2',
'transactionreference': '12-34-568',
'transactionstartedtimestamp': '2020-11-19 14:13:36'
}],
'secrand': 'ce3Z',
'version': '1.00'
}

  Wenn ein Fehler aufgetreten ist, kann es sein, dass wir die Antwort nicht kodieren können und dass die Antwort daher nur eine errorcode und errormessage.

In diesem Fall empfehlen wir, den Kunden aufzufordern, die Zahlung erneut zu versuchen.
z.B.. errorcode 50000, errormessage "Timeout".

Um die vollständige Antwort anzuzeigen, müssen Sie das zurückgegebene JWT entschlüsseln.

Wir empfehlen die Verwendung der Bibliotheken unter https://jwt.io zur Dekodierung des JWT.

Der Antwort-JWT besteht aus drei Teilen, die durch Punkte (".") getrennt sind, im folgenden Format:

Header.Payload.Signature

  Bevor Sie der Antwort vertrauen können, müssen Sie die signature der zurückgegebene Wert mit dem erwarteten Wert übereinstimmt. Ist dies nicht der Fall, wurde er möglicherweise von einer unbefugten Partei geändert.

Die signature wird mit SHA-256 gehasht und kann daher nicht entschlüsselt werden. Dies bedeutet, dass zur Überprüfung der signature korrekt ist, muss Ihr System ihn mit Hilfe der header und payload zurückgegeben.
Vorausgesetzt, Sie verwenden die gleiche secret Während dieses Prozesses werden die neu berechneten signature sollte mit dem in der Antwort zurückgegebenen JWT übereinstimmen. Zusammengefasst:

  1. Base64URL dekodiert JWT header
  2. Base64URL dekodiert JWT payload
  3. Generieren Sie die Signatur neu, indem Sie die header, die payload und signieren sie mit Ihrem secret.
    (wie oben erläutert)

 

Antwortfelder

Nachdem Sie die Antwort erhalten haben, empfehlen wir Ihnen, die nachstehenden Informationen zu beachten, wenn Sie die Zahlungssession des Kunden bearbeiten:

 

Transaktionsnummer

Die transactionreference ist ein eindeutiger Bezeichner für die Transaktion. Sie müssen diese Referenz aufzeichnen, um zu einem späteren Zeitpunkt Abfragen oder andere Aktionen zu dieser Transaktion durchführen zu können.

 

Anforderungstyp

Sie müssen die requesttypedescription in der Antwort zurückgegeben. Nur Werte von "AUTH" zeigen die Autorisierung einer Zahlung an. Klicken Sie hier, um eine vollständige Liste der verschiedenen Anfragetypen zu erhalten, die von Trust Payments unterstützt werden.

 

Auftragsnummer

Die orderreference ist ein benutzerdefinierter Bezeichner für die Transaktion, den Sie am besten in der JWT-Payload jeder Transaktion. Wenn Ihr System so konfiguriert wurde, dass es orderreference Werte zu Ihren Transaktionen hinzufügen, können Sie diese verwenden, um sicherzustellen, dass Sie die richtige Antwort nach einer Zahlung prüfen.

 

Fehlercode

Sie müssen die errorcode die in der Antwort AUTH zurückgegeben wird, um das Ergebnis der Transaktion zu ermitteln:

Fehlercode Beschreibung Erforderliche Maßnahmen
0 Erfolgreiche Transaktion. Keine.
30000 Zeigt an, dass ungültige Daten innerhalb der payload des JWT. Überprüfen Sie die Felder, die in der payload des JWTs unserer Spezifikation entsprechen.
60010
60034
99999
Dies kann auf ein Kommunikationsproblem mit einer Bank oder einer dritten Partei zurückzuführen sein. Wir empfehlen, den Kunden über das Problem zu informieren und ihn zu bitten, sich mit Ihnen in Verbindung zu setzen, um das Problem zu klären. Sie müssen sich mit unserem Support-Team in Verbindung setzen und eine Kopie der gesamten Anfrage und der zurückgesandten Antwort vorlegen. Wir werden uns dann mit den entsprechenden Parteien in Verbindung setzen, um den Status der Anfrage zu ermitteln. Stellen Sie im Interesse der Sicherheit sicher, dass Sie sensible Feldwerte, wie z. B. Kartendaten, auslassen oder maskieren.
60022 Der Kunde wurde aufgefordert, sich zu authentifizieren, konnte diesen Teil des Vorgangs jedoch nicht durchführen, so dass die Transaktion nicht autorisiert wurde. Bieten Sie dem Kunden eine alternative Zahlungsmethode an und ermöglichen Sie ihm, es erneut zu versuchen.
70000 Autorisierung für die Zahlung versucht wurde, aber von der ausstellenden Bank abgelehnt wurde.
Andere Klicken Sie hier für eine vollständige Liste der errorcode Werte, die zurückgegeben werden können. Abhängig von der errorcode zurückgegeben.

 

Abrechnungsstatus (settlestatus)

Sie müssen die settlestatus in der Antwort zurückgegeben:

Abrechnungsstatus (settlestatus) Beschreibung Erforderliche Maßnahmen
0 Anstehende automatische Abrechnung. Keine.
1 Ausstehende manuelle Abrechnung (übersteuert Betrugs- / Doppelprüfungen, falls aktiviert).
2 Die Zahlung wurde genehmigt, aber im System von Trust Paymentsausgesetzt. Untersuchen Sie die Transaktion manuell, um den Grund für die Aussetzung der Zahlung zu ermitteln. Wenn Sie damit einverstanden sind, können Sie die Transaktion aktualisieren, um Abrechnung zu ermöglichen.
3 Zahlung annulliert. Sehen Sie sich die errorcode um den Grund zu ermitteln, warum die Zahlung nicht abgeschlossen wurde.

 

3-D eingeschrieben

Die enrolled Das Feld informiert Sie darüber, ob die Karte des Kunden bei 3-D Secure angemeldet ist:

3-D eingeschrieben Beschreibung Erforderliche Maßnahmen
Y Die Karte des Kunden ist registriert. Wird von der Website JavaScript Library verwaltet.
N Die Karte des Kunden ist nicht registriert.
U Es kann nicht festgestellt werden, ob die Karte registriert ist.
B Die Authentifizierungsregel des Händlers wird ausgelöst, um die Authentifizierung in diesem Anwendungsfall zu umgehen.

 

3-D-Status

Die status Feld informiert Sie, ob der Kunde während des 3-D Secure Prozesses erfolgreich authentifiziert wurde:

3-D-Status Beschreibung Erforderliche Maßnahmen
Y Der Kunde wurde erfolgreich authentifiziert. Keine. Die JavaScript Library wird diesen Fall automatisch behandeln.
A Authentifizierung wurde versucht, aber nicht abgeschlossen. Keine. Die JavaScript Library wird diesen Fall automatisch behandeln.
U Die Authentifizierung konnte nicht durchgeführt werden. Keine. Die JavaScript Library wird diesen Fall automatisch behandeln.
C Herausforderung für die Authentifizierung erforderlich. Keine. Die JavaScript Library wird diesen Fall automatisch behandeln.
N Der Kunde wurde nicht authentifiziert. Die Zahlung wird nicht bearbeitet werden.
  • Wir raten dringend davon ab, weitere Zahlungen mit dieser Karte vorzunehmen, da der Kunde die Authentifizierung nicht bestanden hat, was auf ein erhöhtes Betrugsrisiko hinweist.
  • Wir empfehlen stattdessen, dem Kunden eine Fehlermeldung anzuzeigen, die besagt, dass die Zahlung nicht abgeschlossen werden konnte, und alternative Zahlungsmethoden anzubieten.
R Die Authentifizierung wurde abgelehnt. Die Zahlung wird nicht bearbeitet werden.

 

3-D-Version

Die version gibt die für die Zahlung verwendete Version von 3-D Secure an. Der Wert beginnt entweder mit "1.x.x", um 3-D Secure v1 zu bezeichnen, oder mit "2.x.x", um 3-D Secure v2 zu bezeichnen.

 

War dieser Artikel hilfreich?
0 von 0 Personen fanden dies hilfreich
Haben Sie weitere Fragen? Anfrage einreichen