Testen
Die Twikey-Beta-Umgebung ermöglicht die Simulation realer Zahlungs- und Signierungsabläufe, ohne echtes Geld oder echte Daten zu berühren. Dieser Leitfaden deckt alles ab, was für den End-to-End-Test einer Integration vor dem Go-Live erforderlich ist.
Transaktionsergebnisse
Alle 30 Minuten wird ein Job ausgeführt, der Bank-Feedback zu ausstehenden Transaktionen simuliert. Das Ergebnis wird durch den Transaktionsbetrag bestimmt, wodurch es einfach ist, bestimmte Zustände in der Mahnkonfiguration auszulösen.
Um das Verhalten einer echten Bank nachzuahmen, ist das erste Feedback immer PAID. Das tatsächliche Ergebnis wird beim zweiten Lauf des Jobs zurückgegeben.
| Betrag | Ergebnis |
|---|---|
| 1 EUR - 10 EUR | Unzureichende Deckung (Soft failure) |
| 11 EUR - 20 EUR | Kunde lehnt ab (Hard failure) |
| 21 EUR - 32 EUR | Fehler bei der Bank (Technical) |
| 33 EUR und mehr | Bezahlt |
Diese Beträge können verwendet werden, um fehlgeschlagene Zahlungsabläufe und Mahnschritte zu überprüfen.
Mahnwesen
In der Beta-Umgebung werden Karenzzeiten, die in Mahnschritten definiert sind, komprimiert: Jeder Tag wird zu einer Minute. Dadurch lässt sich die gesamte Mahnsequenz überprüfen, ohne tagelang zwischen den Schritten warten zu müssen. Je kürzer die konfigurierte Karenzzeit, desto schneller wird der nächste Mahnschritt ausgelöst.
Überweisungen
Es lässt sich eine Überweisung simulieren, um automatische und manuelle Zahlungszuordnung zu testen. Dazu die IBAN im Header durch ein tatsächliches Konto aus einem der Bank-Gateways ersetzen und eine CSV-Datei im folgenden Format erstellen:
twikey:BE123456789123 name;iban;bic;msg;amount John Doe;BE31798258915655;GKCCBEBB;My product;100
Hinweis: Beträge werden in Cent angegeben.
Die Datei über Reconciliation - Upload account info hochladen. Der Dateiname muss für jeden Upload eindeutig sein.
Für die automatische Rechnungszuordnung muss das Feld msg mit der Zahlungsreferenz einer bestehenden Rechnung übereinstimmen, und der amount muss exakt passen. Wenn beide Bedingungen erfüllt sind, wird die Rechnung als bezahlt markiert, was die tatsächlichen Abstimmungsregeln widerspiegelt.
B2B-Mandatsbestätigung
Alle 30 Minuten wird ein Job ausgeführt, der die Bankakzeptanz oder -ablehnung von B2B-Mandaten simuliert. Das Ergebnis hängt von der letzten Ziffer der IBAN ab:
- Gerade letzte Ziffer: Mandat akzeptiert
- Ungerade letzte Ziffer: Mandat abgelehnt
Dies gilt nicht für Belfius- (BIC: GKCCBEBB) und BNP-Konten (BIC: GEBABEBB), die einem anderen Ablauf folgen.
Für automatisierte Tests liefern diese IBANs vorhersagbare Ergebnisse:
| Szenario | IBAN |
|---|---|
| Akzeptiert | BE16 6453 4897 1174 |
| Abgelehnt | BE17 3217 8221 4921 |
Nur verbundene Banken. Für niederländisches B2B-Signing können die Ergebnisse über iDEAL/eMachtiging simuliert werden (siehe unten). Für nicht verbundene Banken sind nur die Druck- und Als-signiert-markieren-Abläufe verfügbar.
B2B-Validierung für nicht verbundene Banken
| Szenario | IBAN |
|---|---|
| Erfolg | DE43 1000 0000 0123 4567 80 |
| Fehlschlag | DE60 7402 0100 8441 9625 39 |
| Fehlschlag dann Erfolg | DE80 7835 0000 0040 9820 01 |
Jedes nicht verbundene B2B-fähige Konto kann verwendet werden - das Verhalten wird immer durch die letzte Ziffer der IBAN bestimmt.
Feedback simulieren
Der Job muss zweimal ausgeführt werden, um ein endgültiges Ergebnis zu erzeugen, entsprechend dem Verhalten einer echten Bank. Bei erfolgreichen Validierungen wird eine Folgeaufgabe geplant, die nach 4 Stunden ausgeführt wird, um das Mandat als akzeptiert zu markieren. Die Verwendung einer IBAN, die auf 00 endet, überspringt die Verzögerung und signiert das Mandat sofort nach dem zweiten Job-Lauf.
Hinweis: Aufgrund der geplanten Validierungsaufgabe kann ein zusätzlicher Webhook für dasselbe Mandat empfangen werden. Dies ist erwartetes Verhalten in der Beta-Umgebung und tritt in der Produktionsumgebung nicht auf.
Signierungsmethoden
iDEAL, eMachtiging und iDIN
Der Customer-Success-Agent ist zu kontaktieren, um das Template mit einer Testbank zu verknüpfen. Dabei die Template-ID und die zu testende Signierungsmethode angeben.
Bei der Verwendung von iDIN für die Signierung oder Identifizierung werden die Kundendaten automatisch überschrieben, um die von iDIN zurückgegebenen Daten wie in der Produktionsumgebung zu simulieren. Dieses Verhalten kann durch den Customer-Success-Agent deaktiviert oder angepasst werden.
Für diese Methoden kann auch eine Verzögerung konfiguriert werden. Die Verzögerung wird im Backend angewendet - im Frontend gelangt der Kunde sofort zur Verifizierungsseite, und das Transaktionsergebnis wird beim nächsten periodischen Lauf bestätigt.
Weitere Signierungsmethoden
eID: Die eigene persönliche eID-Karte verwenden.
Bankkarten (Maestro): Eine gültige Kartennummer verwenden, z.B. 4111111111111111. Das Ergebnis hängt vom Ablaufmonat ab:
| Ablaufmonat | Ergebnis |
|---|---|
| Januar | Harter Fehler |
| Jeder ungerade Monat | Fehlschlag |
| Jeder gerade Monat | Erfolg |
| Dezember | Wiederholung |
SMS: Wenn ein Kunde zur Signierung per SMS eingeladen wird, wird eine Test-E-Mail an die unter Einstellungen - Firmeninformation konfigurierte Adresse gesendet. Den Link in dieser E-Mail öffnen, dann:
OKeingeben für ein erfolgreiches Ergebnis- Einen beliebigen anderen Wert eingeben, um einen Fehlschlag zu simulieren
Zahlungslinks und QR-Codes
Bei Verwendung des X-Purpose-Headers in der Beta-Umgebung können QR-Codes, die aus Zahlungslinks generiert werden, nicht von Bank-Apps gescannt werden. Nur Links aus der Produktionsumgebung erzeugen gültige QR-Codes für Bank-Apps.
Die Zahlungslink-URL selbst funktioniert in der Beta-Umgebung normal - nur das QR-Code-Rendering ist betroffen.
iDEAL 2.0
Zum Testen von iDEAL 2.0-Einmalzahlungen einen Test-Provider hinzufügen über Payment Hub - Add - Payment Provider - iDEAL 2.0:
- Merchant ID: beliebige Nummer
- SubId: leer lassen
- Test bank auswählen
- Optional direkt mit einem Profil verknüpfen oder anschließend auf einem Profil konfigurieren
Der iDEAL-Mock kann für die direkte Zahlung von Rechnungen und Zahlungslinks verwendet werden. Um ihn als Signierungsmethode mit Erstzahlung zu verwenden, ist der Support zu kontaktieren, damit er als Signierungsmethode aktiviert wird.
Im iDEAL-Mock-Zahlungsablauf können verschiedene Ergebnisse direkt ausgewählt werden.
Webhooks
Die Webhook-Zustellung kann getestet werden, um zu überprüfen, ob der Endpoint Ereignisse korrekt verarbeitet und die Signaturvalidierung funktioniert. Beim Aktivieren von Webhooks über die API-Einstellungen sind keine Abfrageparameter in der URL erforderlich - Twikey fügt die entsprechenden Parameter beim Senden jeder Anfrage hinzu, und diese variieren je nach Ereignistyp.
Die Webhook-Referenz enthält eine vollständige Liste der Ereignistypen und deren Payloads.
Inkassobüro
Nachdem eine Transaktion an das Inkassobüro gesendet wurde, wird alle 15 Minuten Feedback simuliert, bis der Fall abgeschlossen ist. Die folgenden Beträge lösen bestimmte Ergebnisse aus:
| Betrag (EUR) | Ergebnis |
|---|---|
| 1 - 5 | Vollständig bezahlt |
| 6 - 10 | Vollständig bezahlt mit 1-EUR-Teilzahlungen |
| 11 | Abgeschlossen - nicht bezahlt (Exit: BANKRUPTCY) |
| 12 | Abgeschlossen - nicht bezahlt (Exit: DELETED) |
| 13 | Abgeschlossen - nicht bezahlt (Exit: LACKOFEVIDENCE) |
| 14 | Abgeschlossen - nicht bezahlt (Exit: DECEASED) |
| 15 | Abgeschlossen - nicht bezahlt (Exit: DEBTRELIEF) |
| 16 | Abgeschlossen - nicht bezahlt (Exit: DISPUTED) |
| 17 | Abgeschlossen - nicht bezahlt (Exit: COMBINEDCASE) |
| 18 | Abgeschlossen - nicht bezahlt (Exit: NOTCOLLECTABLE) |
| 19 | Abgeschlossen - nicht bezahlt (Exit: FRAUD) |
| 20 | Abgeschlossen - nicht bezahlt (Exit: NOREACTION) |
| Jeder andere Betrag | Teilzahlung |
Briefe
In der Beta-Umgebung werden keine echten Briefe versendet. Stattdessen wird eine Kopie des Briefes per E-Mail an den Benutzer gesendet, der die Aktion ausgelöst hat, sodass der Inhalt vor dem Go-Live überprüft werden kann.
WIK-Briefe müssen vom Customer-Success-Agent freigegeben werden. Nach der Freigabe wird eine ZIP-Datei mit den PDFs an die unter Einstellungen - Firmeninformation konfigurierte E-Mail-Adresse gesendet.