Zum Inhalt springen
meniodevelopermenio DashboardVorschau

GET: Status der Zahlungswünsche abfragen · POS API · Legacy

GET: Status der Zahlungswünsche abfragen

POS API · Legacy Mobile Payment
Laut Confluence obsolet und ohne Verwendung.
GET/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.

Folgende Aktionen stehen für diese Resource zur Verfügung:

  • 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

pidsstringErforderlich

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.

Request-Header

Accept
application/json oder application/xml
DevKey
{Ihr DeveloperKey}
SubmitterId
{transactionSubmitterId} welchen die Kasse bei der Aktivierung zugewiesen bekommen hat
Kontext: Mobile Payment

Nachfolgend sind alle relevanten Resourcen rund um das Thema 'Mobile Payment mit menio' zusammengetragen

Originaler Blueprint-Ausschnitt
API Blueprint
### 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.