Abfrage einer Payment Transaction. Insb. um den Status zu prüfen
GET/paymenttransaction/:originatorId/:endPointId/:transactionId
Abfrage einer Payment Transaction. Insb. um den Status zu prüfen
Request
Path Parameters
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
Enthält die Kennung des auslösenden Online-Dienstes, z. B. den fachlichen Kontext.
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
Enthält ein weiteres Ordnungskriterium für die Identifikation der zuständigen Behörde, z. B. den AGS
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
Vom Bezahldienst vergebene Transaktions-ID - kann auch das Kassenzeichen sein
Responses
- 200
- 404
- 503
OK
- application/json
- Schema
- Example (from schema)
Schema
- INITIAL - der Antrag hat einen Payment-Request ausgelöst und eine Payment-Transaction wurde angelegt. Der Nutzer hat aber im Bezahldienst noch keine Wirkung erzeugt. Der Benutzer kann mit dem Link zum Bezahldienst weitergeleitet werden. NEUE / Eränzende Info: Solange der Benutzer eine bestimmte Zahlart ausgewählt und abgebrochen hat - aber noch die Option hat, stattdessen eine andere Zahlart zu verwenden, so bleibt der Status auf INITIAL
- PAYED - der Nutzer hat die Bezahlung im Bezahldienst erfolgreich durchgeführt.
- FAILED - der Vorgang wurde vom Bezahldienst aufgrund der Nutzereingaben final abgebrochen.
- CANCELED - der Nutzer hat die Bezahlung im Bezahldienst final abgebrochen.
Array [
]
paymentInformation
object
required
Dieses Objekt enthält die Informationen vom Bezahldienst, die 1-zu-1 in den Antrag übernommen werden können. Die Antrags-API wird künftig angeglichen.
Die Rest-URL der Payment Transaction für die Statusabfrage. Diese Information könnte aus den Informationen generiert werden. Eine explizite Ablage der URL dient der Robustheit der Schnittstelle.
Possible values: non-empty and <= 2082 characters
https://payment.bundesland.zzzz/api/v1/paymenttransaction/12002312/MELD-ANT-FORM-4711/9xxd-432x-6543-xfd6-gfdx-fd27Die Redirect-URL an die der Online-Dienst den Benutzer weiterleiten soll. Diese URL öffnet die "Paypage" / "Bezahlseite" des Bezahldienstes. Diese URL muss nur im Status "INITIAL" (also bei der Post-Response oder Statusabfrage vor Abschluss / Abbruch der Transaktion) enthalten sein. Nach Abschluss der Transaktion sollte diese URL nicht enthalten sein.
Possible values: non-empty and <= 5000 characters
https://portal.bundesland.zzzz/ui/doPayment/9xxd-432x-6543-xfd6-gfdx-fd27-CHECKSUMEine vom Bezahldienst vergebene Transaktions-ID beim POST des Requests. Diese ID wird für die späteren Abfragen (GET) verwendet. Dies kann schon das Kassenzeichen sein. Sofern dies später vergeben wird, kann hier eine 'technische' ID des Bezahldienstes vergeben werden. Falls der Bezahldienst keine eigenen IDs hier verwendet, kann die Schnittstelle auch die Request-ID zurück geben.
Possible values: non-empty and <= 44 characters, Value must match regular expression ^[\w\d-]+$
9xxd-432x-6543-xfd6-gfdx-fd27Das "fachliche" Kennzeichen für eine Bezahlung. Dieses kann bei dem POST des Requests vom Bezahldienst vergeben werden oder erst nach der Autorisierung durch den Bezahler. Daher ist die relevante ID für diese Schnittstelle die transactionId, die durch den Bezahldienst bei der Anlage des Payment-Requests vergeben wird.
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
KA-2020-1234Zeitstempel der erfolgreichen Durchführung der Bezahlung.
Die vom Benutzer ausgewählte Zahlart. Das Feld ist nur bei einer erfolgreichen Zahlung vorhanden / befüllt.
Possible values: [GIROPAY, PAYDIRECT, CREDITCARD, PAYPAL, OTHER]
CREDITCARDWeitere Erläuterung zur gewählten Zahlart.
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
VisaDer Status der Transaktion soll dem EfA-Onlinedienst erkennbar machen, ob die Bezahlung erfolgreich durchgeführt wurde.
Possible values: [INITIAL, PAYED, FAILED, CANCELED]
Optionale ergänzende Erläuterungen zum Status. Diese Informationen werden Teil des Antrags und bieten dem Bezahldienst die Möglichkeit Informationen an das Fachverfahren / Sachbearbeitung zu schicken. Grundsätzlich ist dieses Feld nicht notwendig - Inhalte sind zwischen Bezahldienst und Fachverfahren abzustimmen.
Possible values: <= 99 characters, Value must match regular expression ^[\w\d-]+$
Transaktion XYZ wurde erfolgreich gebucht auf Konto ABC in Hoehe von 36EURpaymentRequest
object
Die Request-ID wird vom Online-Dienst vergeben und vom Bezahldienst abgelegt.
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
XYZ12345-2021Zeitstempel des Online-Antrags / Payment-Requests.
Im ersten Schritt ist hier nur 'EUR' vorgesehen. Perspektivisch sollte hier die entsprechende ISO-Norm referenziert werden.
Possible values: >= 3 characters and <= 3 characters, Value must match regular expression ^[\w]+$
EURDer Gesamtbetrag dient dem Bezahldienst zur Validierung der einzelnen Positionen.
Possible values: <= 999999
30Verwendungszweck / Buchungstext der Payment Transaction.
Possible values: <= 27 characters, Value must match regular expression ^[\w\d\s-]+$
Antrag fuer AntragsformularDie Beschreibung des Payment Requests. Kann auf der Paypage / PSP Seite angezeigt werden.
Possible values: <= 250 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
Anträge für AntragsformulareRücksprung-URL vom Bezahldienst zum Online-Dienst. Der Status (Erfolg / Abbruch) muss über die Statusabfrage (GET) abgefragt werden.
Possible values: non-empty and <= 2082 characters
https://efa-od-xy.de/sdfsdfsdf/success?sid=DSYXD1234FSDitems
object[]
required
Possible values: >= 1, <= 99
ID der Position vom Online-Dienst vergeben
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
01Eine fachliche Referenz auf den "Artikel" bzw. den Inhalt der Position.
Possible values: non-empty and <= 36 characters, Value must match regular expression ^[\w\d-]+$
XYZ22113Beschreibung der Position vom Online-Dienst zur Verwendung z. B. auf der Pay-Page.
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
XYZ22113-01 - Antrag auf Erteilung eines AntragsformularsSteuersatz als Prozentbetrag
Possible values: <= 100
19Possible values: >= 1 and <= 999999
3Nettobetrag der Position
Possible values: <= 999999
25.2Steuerbetrag der Position
Possible values: <= 999999
4.8Nettobetrag der Position
Possible values: <= 999999
8.4Steuerbetrag der Position
Possible values: <= 999999
1.6bookingData
object
Container für Key-Value-Paare für zusätzliche Informationen für die Verbuchung im Bezahldienst oder nachgelagerten Systemen
requestor
object
Familienname des Bezahlers
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
MustermannVorname(n) des Bezahlers
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
MaxGeschlecht des Bezahlers: (M)ale=Männlich, (F)emale=Weiblich, (D)iverse=Divers
Possible values: [M, F, D]
Wahr für Organisationen / juristische Personen, Falsch für 'natürliche' Antragsteller
trueSoll nur existieren, wenn isOrganization == true
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
Bundesministerium der Finanzenaddress
object
required
Strasse
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
WilhelmstraßeHausnummer
Possible values: <= 20 characters, Value must match regular expression ^[\w\d-]+$
97Zum Abbilden von Internationalen Adressen werden generische "Adresszeilen" verwendet und nicht "Straße / Hausnummer".
Possible values: <= 9
["Dienstsitz Berlin","Postanschrift: 11016 Berlin"]Postleitzahl
Possible values: >= 5 characters and <= 5 characters, Value must match regular expression ^[\d]+$
10117Stadt
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s-,\u00C0-\u017F]+$
BerlinISO 3166-1, Alpha-2 code, zwei Großbuchstaben
Possible values: >= 2 characters and <= 2 characters, Value must match regular expression ^[\w]+$
DE{
"paymentInformation": {
"transactionUrl": "https://payment.bundesland.zzzz/api/v1/paymenttransaction/12002312/MELD-ANT-FORM-4711/9xxd-432x-6543-xfd6-gfdx-fd27",
"transactionRedirectUrl": "https://portal.bundesland.zzzz/ui/doPayment/9xxd-432x-6543-xfd6-gfdx-fd27-CHECKSUM",
"transactionId": "9xxd-432x-6543-xfd6-gfdx-fd27",
"transactionReference": "KA-2020-1234",
"transactionTimestamp": "2024-06-27T10:41:26.801Z",
"paymentMethod": "CREDITCARD",
"paymentMethodDetail": "Visa",
"status": "INITIAL",
"statusDetail": "Transaktion XYZ wurde erfolgreich gebucht auf Konto ABC in Hoehe von 36EUR"
},
"paymentRequest": {
"requestId": "XYZ12345-2021",
"requestTimestamp": "2024-06-27T10:41:26.801Z",
"currency": "EUR",
"grosAmount": 30,
"purpose": "Antrag fuer Antragsformular",
"description": "Anträge für Antragsformulare",
"redirectUrl": "https://efa-od-xy.de/sdfsdfsdf/success?sid=DSYXD1234FSD",
"items": [
{
"id": "01",
"reference": "XYZ22113",
"description": "XYZ22113-01 - Antrag auf Erteilung eines Antragsformulars",
"taxRate": 19,
"quantity": 3,
"totalNetAmount": 25.2,
"totalTaxAmount": 4.8,
"singleNetAmount": 8.4,
"singleTaxAmount": 1.6,
"bookingData": {
"haushaltstelle": "1234",
"objektnummer": "0815",
"href": "AlphaBetaGamma"
}
}
],
"requestor": {
"name": "Mustermann",
"firstName": "Max",
"gender": "M",
"isOrganization": true,
"organizationName": "Bundesministerium der Finanzen",
"address": {
"street": "Wilhelmstraße",
"houseNumber": "97",
"addressLine": [
"Dienstsitz Berlin",
"Postanschrift: 11016 Berlin"
],
"postalCode": "10117",
"city": "Berlin",
"country": "DE"
}
}
}
}
Not found
- application/problem+json
- Schema
- Example (from schema)
- Example
Schema
- NO_VALID_ORIGINATOR_OR_DESTINATION - Deprecated - siehe nächsten Punkt.
- NO_VALID_ORIGINATOR_OR_ENDPOINT - Der Mandant kann anhand OriginatorID und EndPointID nicht ermittelt werden.
- PAYMENT_EXISTS - Mit dieser Transaktions-ID wurde bereits ein PaymentRequest platziert.
- CALCULATION_ERROR - Die Summe des PaymentRequests passt nicht zu den Positionen - z.B. fehlerhafter grosAmount.
- BOOKING_DATA_MISSING - Notwendige Daten für die Verbuchung (in bookingData) fehlen - genaue Beschreibung im functionalText.
- VALIDATION_ERROR - Andere Validierungsfehler / semantische Fehler wie z.B. nicht unterstützte Währung.
- UNSPECIFIED - Alle Fehler, die hier aktuell nicht konkret definiert sind.
- FORBIDDEN - Fehlende Authentisierungsdaten oder keine Authorisierung in diesem Kontext.
Link auf eine Seite mit der Fehlerbeschreibung
Possible values: non-empty and <= 2082 characters
https://docs.fitko.de/xbezahldienste/API-SystemResponse/HTTP Response Code
Possible values: >= 100 and <= 511
400HTTP Response Text
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s\.-]+$
Bad RequestFunktionale Beschreibung des Fehlers. Hier sollen aber nur 'fachliche Beschreibungen' erfolgen. Aus Sicherheitsgründen sollten die Bezahldienste hier keine Systeminterna herausgeben. Eine Referenz-Nummer für den Austausch zwischen den Betriebsorganisationen scheint sinnvoll.
Possible values: non-empty and <= 2000 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
In den BookingData fehlen die für diesen Bezahldienst notwendigen Felder Kapitel, Titel, TitelKennz, TitelZusatzDie genauen Ausprägungen der Funktionalen Response müssen noch diskutiert werden. Arbeitsthese:
Possible values: [NO_VALID_ORIGINATOR_OR_DESTINATION, NO_VALID_ORIGINATOR_OR_ENDPOINT, PAYMENT_EXISTS, CALCULATION_ERROR, BOOKING_DATA_MISSING, VALIDATION_ERROR, UNSPECIFIED, FORBIDDEN]
BOOKING_DATA_MISSING{
"type": "https://docs.fitko.de/xbezahldienste/API-SystemResponse/",
"status": 400,
"title": "Bad Request",
"detail": "In den BookingData fehlen die für diesen Bezahldienst notwendigen Felder Kapitel, Titel, TitelKennz, TitelZusatz",
"functionalCode": "BOOKING_DATA_MISSING"
}
{
"type": "https://docs.fitko.de/xbezahldienste/API-SystemResponse/#404error",
"status": 404,
"title": "Not found",
"detail": "Zu diesen Parametern ist kein gültiger Mandant vorhanden. EndPoint ID unbekannt.",
"functionalCode": "NO_VALID_ORIGINATOR_OR_ENDPOINT"
}
Service unavailable
- application/problem+json
- Schema
- Example (from schema)
- Example
Schema
- NO_VALID_ORIGINATOR_OR_DESTINATION - Deprecated - siehe nächsten Punkt.
- NO_VALID_ORIGINATOR_OR_ENDPOINT - Der Mandant kann anhand OriginatorID und EndPointID nicht ermittelt werden.
- PAYMENT_EXISTS - Mit dieser Transaktions-ID wurde bereits ein PaymentRequest platziert.
- CALCULATION_ERROR - Die Summe des PaymentRequests passt nicht zu den Positionen - z.B. fehlerhafter grosAmount.
- BOOKING_DATA_MISSING - Notwendige Daten für die Verbuchung (in bookingData) fehlen - genaue Beschreibung im functionalText.
- VALIDATION_ERROR - Andere Validierungsfehler / semantische Fehler wie z.B. nicht unterstützte Währung.
- UNSPECIFIED - Alle Fehler, die hier aktuell nicht konkret definiert sind.
- FORBIDDEN - Fehlende Authentisierungsdaten oder keine Authorisierung in diesem Kontext.
Link auf eine Seite mit der Fehlerbeschreibung
Possible values: non-empty and <= 2082 characters
https://docs.fitko.de/xbezahldienste/API-SystemResponse/HTTP Response Code
Possible values: >= 100 and <= 511
400HTTP Response Text
Possible values: non-empty and <= 250 characters, Value must match regular expression ^[\w\d\s\.-]+$
Bad RequestFunktionale Beschreibung des Fehlers. Hier sollen aber nur 'fachliche Beschreibungen' erfolgen. Aus Sicherheitsgründen sollten die Bezahldienste hier keine Systeminterna herausgeben. Eine Referenz-Nummer für den Austausch zwischen den Betriebsorganisationen scheint sinnvoll.
Possible values: non-empty and <= 2000 characters, Value must match regular expression ^[\w\d\s-,\.\u00C0-\u017F]+$
In den BookingData fehlen die für diesen Bezahldienst notwendigen Felder Kapitel, Titel, TitelKennz, TitelZusatzDie genauen Ausprägungen der Funktionalen Response müssen noch diskutiert werden. Arbeitsthese:
Possible values: [NO_VALID_ORIGINATOR_OR_DESTINATION, NO_VALID_ORIGINATOR_OR_ENDPOINT, PAYMENT_EXISTS, CALCULATION_ERROR, BOOKING_DATA_MISSING, VALIDATION_ERROR, UNSPECIFIED, FORBIDDEN]
BOOKING_DATA_MISSING{
"type": "https://docs.fitko.de/xbezahldienste/API-SystemResponse/",
"status": 400,
"title": "Bad Request",
"detail": "In den BookingData fehlen die für diesen Bezahldienst notwendigen Felder Kapitel, Titel, TitelKennz, TitelZusatz",
"functionalCode": "BOOKING_DATA_MISSING"
}
{
"type": "https://docs.fitko.de/xbezahldienste/API-SystemResponse/#503error",
"status": 503,
"title": "Service temporarily unavailable",
"detail": "Interner temporärer Server Fehler",
"functionalCode": "UNSPECIFIED"
}