POST: Zahlungswunsch erstellen · POS API · Legacy
POST: Zahlungswunsch erstellen
/payments/{pid_pz}Ein Payment ist ein Zahlungswunsch und besteht aus folgenden Angaben:
| 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 inkl. eventueller Trinkgelder und aller Steuer |
| included_vat | decimal | Mehrwertsteuer-Anteil im Gesamtbetrag |
| included_tip | decimal, optional | Eventuell in der Kasse eingegebenes Trinkgeldanteil im Gesamtbetrag |
| qtid | string | Der Identifier der Transaktion auf welche sich dieser Zahlungswunsch bezieht |
| allowed_payment_providers | string, optional | Die menio App listet in der Bezahlansicht standardmäßig alle in der aktuellen Filiale eingerichteten Zahlungswege auf. Möchte die Kasse bei bestimmten Nutzern bestimmte Zahlungswege sperren, so isthier eine kommaseparierte Liste der IDs der Zahlungsproviders anzugeben, die für diesen einen Zahlungswunsch erlaubt sein sollen |
Wurden im menio Dashboard-Portal noch keine Empfängerkontendaten für mindestens einen der im menio-System eingebundenen Zahlungsdienstleister hinterlegt, wird die Erstellung eines Zahlungswunsches mit HTTP-PreconditionFailed (Error Code 412) verweigert
Ein Zahlungswunsch kann für die selbe PID nur einmal erstellt werden
Jeder weitere Versuch, einen POST-Call mit der selben PID auszuführen, wird mit 412 abgewiesen
Sollte die Kasse einen Parameter eines Zahlungswunsches (z.B. total_value) aktualisieren wollen bzw. müssen, so ist der vorherige Zahlungswunsch zurückzuziehen (siehe DELETE auf payments), ein neuer Zahlungswunsch mit neuer PID zu erstellen und ein neuer QRCode zu drucken, da der alte hinsichtlich der Bezahlfunktion durch den DELETE Call implizit unwirksam gemacht wurde.
Parameter
pid_pzstringErforderlichein String, der aus dem PID und seiner Prüfsumme besteht (siehe dazu das Kapitel Prüfsummenberechnung.
Request-Header
Content-Typeapplication/jsonDevKey{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
ahlungsproviders anzugeben, die für diesen einen Zahlungswunsch erlaubt sein sollen
Folgende Aktionen stehen für diese Resource zur Verfügung:
<a name="apirefPayments"></a>
+ Model (application/json)
+ Headers
DevKey: {Ihr DeveloperKey}
SubmitterId: {transactionSubmitterId} welchen die Kasse bei der Aktivierung zugewiesen bekommen hat
+ Body
{
"payment_terminal_id":"1",
"currency": "EUR",
"total_value": 19.95,
"included_tip": 1.99,
"included_vat": 3.81,
"qtid":"af63457485af8745655cd",
"allowed_payment_providers":"1,2,3"
}
### POST: Zahlungswunsch erstellen [POST]
* Wurden im Qnips Dashboard-Portal noch keine Empfängerkontendaten für mindestens einen der im Qnips-System eingebundenen Zahlungsdienstleister hinterlegt, wird die Erstellung eines Zahlungswunsches mit
HTTP-PreconditionFailed (Error Code 412) verweigert
* Ein Zahlungswunsch kann für die selbe PID nur einmal erstellt werden
* Jeder weitere Versuch, einen POST-Call mit der selben PID auszuführen, wird mit 412 abgewiesen
* Sollte die Kasse einen Parameter eines Zahlungswunsches (z.B. total_value) aktualisieren wollen bzw. müssen, so ist der vorherige Zahlungswunsch zurückzuziehen (siehe DELETE auf payments), ein neuer Zahlungswunsch
mit neuer PID zu erstellen und ein neuer QRCode zu drucken, da der alte hinsichtlich der Bezahlfunktion durch den DELETE Call implizit unwirksam gemacht wurde.
+ Request (application/json)
[Payments][]
+ Parameters
+ pid_pz (string) ... ein String, der aus dem PID und seiner Prüfsumme besteht (siehe dazu das Kapitel [Prüfsummenberechnung](#checksum).
+ Response 200
// In diesem Fall ist der Zahlungswunsch korrekt angelegt.
// Sobald die Qnips App die PID erkennt, wird der Bezahlprozess auf dem Smartphone gestartet.
// Der Responsebody bleibt leer.
+ Response 412
// HTTP-Error 412 = PreconditionFailed
{
"reason_id":1,
"reason_text":"further error details as text"
}
// Hier die möglichen Gründe:
// 1 | Prüfsumme ist falsch
// 2 | PID wurde bereits verwendet
// 3 | In aktueller Filiale wurden keine Zahlungsempfängerdaten für mobile Zahlung hinterlegt
// 99 | Sonstiges (in diesem Fall wird das Feld reason_text genauere Angaben enthalten.