GET: Status der Zahlungswünsche abfragen · POS API · Legacy
GET: Status der Zahlungswünsche abfragen
/paymentstates?pids={pids}Ein paymentstate ist ein Objekt mit Detailinformationen zum aktuellen Zustand eines vorher über den POST-Call auf payments erstellten Zahlungswunsches und besteht aus folgenden Parametern:
| Name | Typ | Bedeutung |
|---|---|---|
| payment_terminal_id | string | Sind in einer Filiale mehrere Plätze installiert, die mit dem selben QnipsPOSIdentifier arbeiten und über die eine Zahlung veranlasst werden kann (z.B. in einem Client-Server-Verbund), so muss für einen Zahlungswunsch ein Identifier des genauen Platzes angegeben werden, der den Zahlungswunsch angelegt hat. Dadurch kann sichergestellt werden, dass jede Zustandsmeldung zum Zahlungswunsch genau dem Platz zugeordnet werden kann, an dem der Zahlungswunsch erzeugt wurde |
| currency | string | Währungskennung laut ISO 4217-Spezifikation (z.B. "EUR") |
| total_value | decimal | Gesamtbetrag, der vom menio-Nutzer einzuziehen ist bzw. eingezogen wurde inkl. eventueller Trinkgelder und aller Steuer. ACHTUNG: Der Betrag kann nach erfolgter Zahlung größer ausfallen, als der von der Kasse eingereichte Wert, da hier u.U. ein vom menio App Nutzer bestimmtes Trinkgeld hinzukommen kann |
| included_vat | decimal | Mehrwertsteuer-Anteil im Gesamtbetrag |
| included_tip | decimal, optional | Eventuell in der Kasse eingegebenes Trinkgeldanteil im Gesamtbetrag. Ist das Trinkgeld nicht durch die Kasse angegeben, kann der menio Nutzer u.U. eigenes Trinkgeld in der menio App hinzunehmen. Daher kann der Wert hier nach erfolgter Zahlung ggf. von dem Wert abweichen, der in diesem Feld bei der Erstellung eines Zahlungswunsches angegeben wurde. |
| qtid | string | Der Identifier der Transaktion auf welche sich dieser Zahlungswunsch bezieht |
| state | string | Einer der unter Zustände des Zahlungswunsches beschriebenen Zustände |
| is_refundable | boolean | Nur gesetzt wenn state = Succeeded oder Refunded. Gibt an, ob der Betrag nach erfolgter Zahlung über den verwendeten Zahlungsdienstleisters elektronisch zurückerstattbar ist. Dies ist nicht bei allen Zahlungsdienstleistern der Fall |
| pp_id | string | Nur gesetzt wenn state = Succeeded oder Refunded. Feste, von menio vergebene Id eines Zahlungsdienstleisters (oder kurz pp für payment provider). Mögliche Werte sind: 1=PayPal, 2=kesh. |
| pp_transaction_id | string | Nur gesetzt wenn state = Succeeded oder Refunded. Das ist die ID, unter welcher der Zahlungsvorgang im System des gewählten Zahlungsdienstleisters geführt wird. |
| discount | object | Nur gesetzt wenn state = Succeeded oder Refunded. Ist vom Kunden eine direkte Verrechnung eventueller Cashbacks mit dem Zahlbetrag gewünscht, wird hier der Discount-Betrag und der Mehrwertsteueranteil darin ausgewiesen sofern die mit diesem Zahlungswunsch verknüpfte Transaktion Cashbacks erzeugt hat. |
Wollen Sie den Status eines einzelnen Zahlungswunsches abfragen, so geben Sie nur seine PID+Prüfsumme im pids-Queryparameter ein. In diesem Fall kann das Backend mit 404 (HTTP-NotFound) antworten, wenn zur gegebenen PID kein Zahlungswunsch gefunden wurde
Wird eine kommaseparierte Liste der PIDs im Queryparameter angegeben, so werden nicht gefundene PIDs ignoriert und führen nicht zu einem Fehler, sodass theoretisch auch eine leere Liste in der Rückgabe möglich ist, wenn zu keiner der angegebenen PIDs ein Zahlungwunsch gefunden werden konnte
Ist bei mindestens einem der angegebenen PIDs die Prüfsumme nicht korrekt, so wird der gesamte Request mit einem 412 (PreconditionFailed) abgewiesen.
Parameter
pidsstringErforderlichein String mit durch ein Komma separierten PIDs inkl. deren jeweiliger Prüfsumme, z.B. pids=123456,123467,123478 (siehe dazu das Kapitel Prüfsummenberechnung.
Request-Header
Acceptapplication/json oder application/xmlDevKey{Ihr DeveloperKey}SubmitterId{transactionSubmitterId} welchen die Kasse bei der Aktivierung zugewiesen bekommen hatKontext: Mobile Payment
Nachfolgend sind alle relevanten Resourcen rund um das Thema 'Mobile Payment mit menio' zusammengetragen
Originaler Blueprint-Ausschnitt
### GET: Status der Zahlungswünsche abfragen [GET]
* Wollen Sie den Status eines einzelnen Zahlungswunsches abfragen, so geben Sie nur seine PID+Prüfsumme im pids-Queryparameter ein. In diesem Fall kann das Backend mit 404 (HTTP-NotFound) antworten, wenn zur gegebenen PID kein Zahlungswunsch gefunden wurde
* Wird eine kommaseparierte Liste der PIDs im Queryparameter angegeben, so werden nicht gefundene PIDs ignoriert und führen nicht zu einem Fehler, sodass theoretisch auch eine leere Liste in der Rückgabe möglich ist, wenn zu keiner der angegebenen PIDs ein Zahlungwunsch gefunden werden konnte
* Ist bei mindestens einem der angegebenen PIDs die Prüfsumme nicht korrekt, so wird der gesamte Request mit einem 412 (PreconditionFailed) abgewiesen.
+ Parameters
+ pids (string) ... ein String mit durch ein Komma separierten PIDs inkl. deren jeweiliger Prüfsumme, z.B. pids=123456,123467,123478 (siehe dazu das Kapitel [Prüfsummenberechnung](#checksum).
+ Request
+ Headers
Accept: application/json oder application/xml
DevKey: {Ihr DeveloperKey}
SubmitterId: {transactionSubmitterId} welchen die Kasse bei der Aktivierung zugewiesen bekommen hat
+ Response 200
[{
"payment_terminal_id":"1",
"currency": "EUR",
"total_value": 19.95,
"included_tip": 1.99,
"included_vat": 3.81,
"qtid":"af63457485af8745655cd",
"state":"1,2,3",
"is_refundable":"1,2,3",
"pp_id":1,
"pp_transaction_id":"1f7685qwef765",
"discount":{
"total_discount_value": 1.19,
"included_vat": 0.19,
}
}]
+ Response 412
// HTTP-Error 412 = PreconditionFailed
{
"reason_id":2,
"reason_text":"further error details as text"
}
// Hier die möglichen Gründe:
// 1 | Prüfsumme bei einem oder mehreren PIDs falsch
// 99 | Sonstiges (in diesem Fall wird das Feld reason_text genauere Angaben enthalten.