API REFERENCE
Token-Zahlungen
Gilt für: Token-Zahlungen mit Kreditkarten
Nachdem der Zahler auf der gehosteten Zahlungsseite von YabandPay eine reguläre Kreditkartentransaktion abgeschlossen und zugestimmt hat, wandelt YabandPay sensible Karteninhaberdaten in eine zufällige Ziffernfolge (ein Token) um, sodass keine Rückschlüsse auf die Person möglich sind. Das Token kann für folgende Zahlungen verwendet werden:
- Nutzer können auf der Bezahlseite mit einem Klick bezahlen, ohne Kreditkartendaten einzugeben.
- Händler können dieses Token für wiederkehrende Zahlungen, Abonnementgebühren und ähnliche Zwecke verwenden.
[!TIP|style:flat] Workflow
- Aktivieren Sie Token-Zahlungen. Wenden Sie sich an Ihren Kundenbetreuer, um die Token-Zahlungsfunktion freischalten zu lassen.
- Holen Sie die Zustimmung des Nutzers ein. Wenn Sie Express-Zahlungen (Token-Zahlungen) für Verbraucher aktivieren, müssen Sie die Nutzer klar informieren und ihre Zustimmung einholen, um mögliche Streitfälle zu vermeiden.
- Rufen Sie ein Token ab. Starten Sie zunächst eine reguläre Kreditkartentransaktion. YabandPay returns a payment url. After the user completes payment through that url and gives consent, YabandPay returns the Token in an asynchronous notification using the payment_token_object parameter.
- Starten Sie eine Token-Zahlung. Übergeben Sie das Token in der payment_token_object Variable. Ist die Token-Prüfung erfolgreich, verarbeitet YabandPay die Token-Zahlung. Schlägt die Prüfung fehl, gibt YabandPay einen Fehler zurück. In diesem Fall empfehlen wir, eine weitere reguläre Kreditkartentransaktion zu starten, um ein Token abzurufen, und anschließend die Zahlung erneut einzuleiten.
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
| user | String | Kassiererkonto UID | Erforderlich |
| sign | String | Signature | Erforderlich |
| method | String | v3.CreateCardPayments | Erforderlich |
| time | Long | Timestamp | Erforderlich |
- Parameter
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
| pay_method | String | online | Erforderlich |
| sub_pay_method | String | Token | Erforderlich |
| operation | String | 11.Token for sales 12.Token for authorisation; | Erforderlich |
| order_id | String | Händlerbestellnummer | Erforderlich |
| 3ds_initiate | String | 01. Enable 3DS verification; 02. Disable 3DS (requires activation approval); 03. SCA exemption (requires activation approval). | Erforderlich |
| sca_exemption | String | LowValue | 3ds_initiate=03 Required |
| amount | String | Betrag als numerische Zeichenfolge. Geben Sie beispielsweise 24.99 for € 24.99. | Erforderlich |
| currency | String | ISO 4217 Währungscode, zum Beispiel EUR oder CHF | Erforderlich |
| payment_token_object | String | Zahlungs-Token | Erforderlich |
| description | String | Bestellbeschreibung | Erforderlich |
| demo | String | Benutzerdefiniertes Feld | Optional |
| timeout | String | Ablaufzeit in Minuten (0-1440) | Erforderlich |
| notify_url | String | URL für asynchrone Benachrichtigung nach der Zahlung | Erforderlich |
| request_id | String | Eindeutige Einfrage-ID; empfohlen wird eine Kombination aus Ziffern und Buchstaben mit mindestens 24 Zeichen | Erforderlich |
Signaturbeispiel:
Nach Parametern sortierte Werte, verkettet zu einer URL-ähnlichen Abfragezeichenfolge
"3ds_initiate=01&amount=1¤cy=EUR&description=test&method=v3.CreateCardPayments¬ify_url=https://www.yabandpay.com/notify&operation=11&order_id=1725875543&pay_method=online&payment_token_object=VnXaRabcsedfsSlPFZXavcsdfasdEFDd&request_id=hjf5lv32i40lh7oh86j6az98tnscwv37&sub_pay_method=Token&time=1725875543&timeout=0&user=YOUR_CASHIER_UID"
Sign stringA using secret_key
The resulting signature is:
"YOUR_SIGNATURE"
Einfragebeispiel:
{
"user": "YOUR_CASHIER_UID",
"sign": "YOUR_SIGNATURE",
"method": "v3.CreateCardPayments",
"time": 1725875543,
"data": {
"3ds_initiate": "01",
"description": "test",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Token",
"operation": "11",
"order_id": 1725875543,
"amount": "1",
"currency": "EUR",
"payment_token_object": "VnXaRabcsedfsSlPFZXavcsdfasdEFDd",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "hjf5lv32i40lh7oh86j6az98tnscwv37"
}
}
Eintwortbeispiel:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "109bb0e9-e1fb-49cb-c537-ec944f33c388",
"amount": "1.00",
"currency": "EUR",
"state": "paid"
},
"message": "",
"response_id": "202409091752241912726578"
}
Zusätzliche Informationen:
MIT und CIT:
MIT = vom Händler ausgelöste Folgetransaktionen. Vom Händler veranlasste Token-Zahlungen.
CIT = vom Karteninhaber ausgelöste Folgetransaktionen. Token-Zahlungen unter Beteiligung des Kunden. Geben Sie bei der Aktivierung der Zahlungen an, ob Sie MIT oder CIT benötigen, damit der passende Modus eingerichtet werden kann.
Eintwortergebnis:
-
Eine erfolgreiche Einfrage gibt "status": true.
-
Bei fehlgeschlagenem Aufruf wird "status": false is returned. If you receive Invalid Token, we recommend calling HPP Token again to obtain a new Token.
The API returns the Zahlungsstatus synchronously. Wir empfehlen dringend, sowohl Bestellabfrage and Asynchrone Benachrichtigungen zu verwenden, um den Zahlungsstatus zu synchronisieren und Zahlungsinformationen in Echtzeit aktuell zu halten. a) If the order status state is paid, payment succeeded; b) if the order status state is authorized, Autorisierung succeeded. To capture funds after successful Autorisierung, call the Autorisierung capture API.
3DS low-value exemption:
Transaktionen innerhalb der folgenden Grenzwerte können als Kleinbetragszahlungen gelten. Liegt der Bestellbetrag unter oder gleich dem jeweils geltenden Betrag, kann nach Genehmigung der Transaktionscode 02 (Kleinbetragsausnahme) verwendet werden.
| Nr. | Währung | Betrag |
|---|---|---|
| 1 | EUR | 30 |
| 2 | DKK | 225 |
| 3 | GBP | 27 |
| 4 | SEK | 310 |
| 5 | ISK | 5000 |
| 6 | NOK | 325 |
| 7 | CHF | 32 |
| 8 | PLN | 135 |
| 9 | USD | 36 |
Eintwortcodes:
| Status | Code | Message |
|---|---|---|
| true | 200 | |
| false | -1000 | Internal error |
| false | -403 | The signature Error |
| false | -2001 | The user not exist |
| false | -3001 | Required field is missing |
| false | -4118 | Incorrect request ID |
| false | -4119 | Invalid Token |
| false | -4120 | No operational permissions |
