Transaktions-Webhook
Payload-Struktur für Transaktions-Webhooks.
Inhalt
| Key | Type | Description |
|---|---|---|
| id | int | Interne Transaktions-ID |
| uuid | string |
|
| amount | int | Verarbeiteter Betrag |
| referenceId | string | Eigene Referenz |
| time | string | Datum und Uhrzeit der Transaktionserstellung im ISO-8601-Format (2025-10-01T09:36:07+00:00) |
| status | string | Statuswerte |
| lang | string | ISO 639-1 der Käufersprache |
| psp | string | Zahlungsanbieter-Kennung – Spalte PSP |
| pspId | int | Zahlungsanbieter-Kennung – Spalte ID |
| mode | string | TEST oder LIVE |
| type | string |
|
| posSerialNumber | string|null | Abhängig vom Wert von
|
| posTerminalName | string|null | Abhängig vom Wert von
|
| refundable | bool | Gibt an, ob eine Rückerstattung möglich ist |
| partiallyRefundable | bool | Gibt an, ob eine Teilerstattung möglich ist |
| instance | Instance | Instance |
| metadata | Metadata | Metadata |
| invoice | Invoice | Invoice |
| payment | Payment | Payment |
| contact | Contact|null | Contact |
| subscription | Subscription|null | Siehe Abonnement-Webhook für weitere Informationen |
| pageUuid | string|null |
|
| fee | int | Gesamtgebühr |
| preAuthorizationId | int |
|
| originalTransactionId | int |
|
| originalTransactionUuid | int |
|
| associatedSourceTransactionUuids | array |
|
| associatedSourceTransactionIds | array |
|
| sourceTransactionUuid | string|null |
|
| sourceTransactionId | string|null |
|
| payoutUuid | string|null | UUID der Auszahlung, wenn die Transaktion Teil einer Auszahlung ist. Andernfalls null. |
Changelog
2025-04-29
Das Feld time ist jetzt im ISO-8601-Format formatiert. Beispiel: 2025-10-01T09:36:07+00:00 – zuvor 2025-10-01 09:36:07.
Aktualisierung am Payment-Objekt.
2025-04-08
Aktualisierung am Payment-Objekt.
2025-03-03
Neue Felder zu POS-Geräten.
type vom Typ string
- Zeigt, wie die Transaktion verarbeitet wurde
- Einer von
E-Commerce,POS-Terminal,Tap to Pay
posSerialNumber vom Typ string
null, wenntypeE-Commerceist- sonst die Nummer des verwendeten POS-Geräts
posTerminalName vom Typ string
null, wenntypeE-Commerceist- sonst der Name des verwendeten POS-Geräts
2024-11-12
Aktualisierung am Payment-Objekt.
2024-08-16
Neues Feld instance vom Typ object mit Informationen zum Händler, mit zwei Feldern.
name vom Typ string
- Name des Kontos
uuid vom Typ string
- 8 Zeichen lange Kennung
2024-06-01
Aktualisierung am Payment-Objekt.
2023-10-20
Neues Feld payoutUuid: UUID der Auszahlung, wenn die Transaktion Teil einer Auszahlung ist. Ist sie noch nicht Teil einer Auszahlung, wird null zurückgegeben.
2022-11-29
Aktualisierung am Payment-Objekt.
2022-10-04
Zwei neue Felder zu Rückerstattungen.
refundable vom Typ bool
- Gibt an, ob eine Rückerstattung möglich ist
partiallyRefundable vom Typ bool
- Gibt an, ob eine Teilerstattung möglich ist
2021-10-12
Das Feld metadata wird jetzt als Objekt zurückgegeben.
2020-06-10
Neues Feld amount vom Typ int.
2019-12-19
Webhooks werden jetzt auch für Transaktionen mit Status refund-pending gesendet.
Anpassung am Feld status: Transaktionen mit Status uncaptured werden nicht mehr als confirmed behandelt, sondern unverändert zurückgegeben.
2019-10-15
Neues Feld preAuthorizationId vom Typ int. Bei einer Tokenisierung wird deren ID zurückgegeben. Bei einer Belastung einer Tokenisierung die ID der Tokenisierung (Quelle). Andernfalls fehlt das Feld im Webhook.
2019-02-13
Anpassungen am Feld status: Die Sonderbehandlung der Status chargeback, error und partially-refunded entfällt. Sie werden unverändert zurückgegeben.
2018-08-07
Erste Version. Webhooks werden nicht für Transaktionen mit Status refund-pending gesendet.
Statuswerte
| Status | Description |
|---|---|
| waiting | Bestellung wurde aufgegeben |
| confirmed | Erfolgreiche Zahlung |
| cancelled | Zahlung vom Kunden abgebrochen |
| declined | 3-D-Secure fehlgeschlagen oder von der Issuer-Bank abgelehnt |
| authorized | Erfolgreiche Tokenisierung |
| reserved | Erfolgreiche Reservierung |
| refunded | Vollständige Rückerstattung |
| partially-refunded | Teilerstattung |
| refund_pending | Rückerstattung wird verarbeitet |
| chargeback | Karteninhaber fordert Geld zurück |
| error | Problem während des Zahlungsprozesses |
| disputed | Für diese Transaktion wurde ein Streitfall eröffnet |
| expired | Zahlung wegen Inaktivität abgebrochen |
Beispiel
{
"transaction": {
"id": 1234,
"psp": "Native_PSP",
"lang": "de",
"mode": "TEST",
"time": "2025-10-06 02:34:21",
"type": "E-Commerce",
"uuid": "1122aabb",
"pspId": 44,
"amount": 1000,
"status": "confirmed",
"contact": {
"id": 1234,
"uuid": "aabb1122",
"title": "female",
"firstname": "Jane",
"lastname": "Doe",
"company": "zahls.ch",
"street": "Burgstrasse 20",
"zip": "3600",
"place": "Thun",
"country": "Switzerland",
"countryISO": "CH",
"phone": "0335500010",
"email": "subscription@test.com",
"date_of_birth": "01.01.1970",
"delivery_title": "",
"delivery_firstname": "",
"delivery_lastname": "",
"delivery_company": "",
"delivery_street": "",
"delivery_zip": "",
"delivery_place": "",
"delivery_country": "",
"delivery_countryISO": ""
},
"invoice": {
"test": 1,
"number": "IV_123",
"currency": "CHF",
"discount": {
"code": null,
"amount": 0,
"percentage": null
},
"products": [
{
"sku": null,
"name": "Product 1",
"price": 1000,
"vatRate": "8.1",
"quantity": 1,
"description": "sample-email@mail.com"
}
],
"paymentLink": null,
"referenceId": "Custom API Reference",
"custom_fields": [
{
"name": "E-Mail",
"type": "email",
"value": "sample-email@mail.com"
}
],
"originalAmount": 1000,
"refundedAmount": 0,
"shippingAmount": null,
"paymentRequestId": null,
"googleAnalyticProducts": [
{
"price": 10,
"item_id": 112233,
"quantity": 1,
"item_name": "Product 1"
}
]
},
"payment": {
"brand": "visa",
"wallet": null,
"purchaseOnInvoiceInformation": null
},
"instance": {
"name": "demo",
"uuid": "aabb1122"
},
"metadata": {},
"pageUuid": "aabb1122",
"payoutUuid": null,
"fee": 0,
"refundable": true,
"referenceId": "Custom API Reference",
"subscription": {
"id": 1234,
"end": null,
"uuid": "aabb1122",
"start": "2026-01-01",
"status": "active",
"valid_until": "2026-12-31",
"paymentInterval": "P1M"
},
"posSerialNumber": "",
"posTerminalName": "",
"partiallyRefundable": true
}
}