API REFERENCE
Zahlung oder Auaufrisierung starten
Gilt für POS-Zahlungen vor Ort
Diese API sendet über die Cloud Zahlungs- oder Auaufrisierungsanweisungen an ein POS-Gerät.
Stellen Sie vor dem Aufruf dieser API sicher, dass das POS-Gerät online und verfügbar ist, damit die Anweisungen erfolgreich übermittelt und verarbeitet werden können.
API-URL (Produktion): https://mapi.yabandpay.com/Payments
API-URL (Test): https://acc-mapi.yabandpay.com/Payments
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
| user | String | Geräte-TID | Erforderlich |
| sign | String | Signature | Erforderlich |
| method | String | v3.POS | Erforderlich |
| time | Long | Timestamp | Erforderlich |
- Parameter
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
| pay_method | String | offline | Erforderlich |
| sub_pay_method | String | point_of_sales | Erforderlich |
| operation | String | 1.Sales 2.Authorisation; | Erforderlich |
| tid | string | Geräte-TID | Erforderlich |
| order_id | string | Ausschließlich aus Ziffern bestehende Bestellnummer mit weniger als 20 Zeichen | Erforderlich |
| amount | String | Betrag als numerische Zeichenfolge. Geben Sie zum Beispiel 24.99 for € 24.99. CNY-Betrag >=1; EUR-Betrag >=0.1. | Erforderlich |
| tip_amount | String | Trinkgeld im Gesamtbetrag, als numerische Zeichenfolge; zum Beispiel 1.02 | Optional |
| currency | String | ISO 4217 Währungscode, zum Beispiel EUR or CHF | Erforderlich |
| description | String | Bestellbeschreibung mit maximal 64 Zeichen | Erforderlich |
| demo | String | Benutzerdefiniertes Feld | Optional |
| notify_url | String | URL für asynchrone Benachrichtigung nach der Zahlung | Erforderlich |
| request_id | String | Eindeutige Anfrage-ID; empfohlen wird eine Kombination aus Ziffern und Buchstaben mit mindestens 24 Zeichen | Erforderlich |
Signaturbeispiel:
Nach Parametern sortierte Werte, verkettet zu einer URL-ähnlichen Abfragezeichenfolge
"amount=12.5¤cy=EUR&description=YabandPay test&method=v3.POS¬ify_url=https://www.yabandpay.com/notify&operation=1&order_id=202586556498441613&pay_method=offline&request_id=a7z1lox4l6z6mdx1udgn5gtezasze1x0&sub_pay_method=point_of_sales&tid=T125119061&time=1555498137&tip_amount=0.5&user=T125119061"
Signieren Sie die Zeichenfolge A mit secret_key
Die resultierende Signatur lautet:
"YOUR_SIGNATURE"
Anfragebeispiel:
{
"user": "T125119061",
"sign": "YOUR_SIGNATURE",
"method": "v3.POS",
"time": 1555498137,
"data": {
"operation": "1",
"tid": "T125119061",
"amount": "12.5",
"currency": "EUR",
"tip_amount": "0.5",
"description": "YabandPay test",
"notify_url": "https://www.yabandpay.com/notify",
"order_id": "YOUR_ORDER_ID",
"pay_method": "offline",
"sub_pay_method": "point_of_sales",
"request_id": "a7z1lox4l6z6mdx1udgn5gtezasze1x0"
}
}
Antwortbeispiel:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "4552eeea-1ae8-1e40-3b4b-802dc2f56458",
"amount": "12",
"currency": "EUR",
"tip_amount": "0.5",
"state": "processing"
},
"message": ""}
Zusätzliche Informationen:
Tipp
Wichtig: Wenn eine asynchrone Benachrichtigung zurückgibt "state": "paid", hat der Nutzer die Zahlung abgeschlossen. Prüfen Sie, ob die zurückgegebenen Daten Folgendes enthalten "cvmTypeList": ["SIGNATURE"].
Wenn the response contains "cvmTypeList": ["SIGNATURE"], muss der Kunde den Beleg unterschreiben;
Weisen Sie das Kassenpersonal an, die Unterschrift des Kunden anzufordern und einen Beleg mit Unterschriftsfeld auszudrucken;
Nach der Unterschrift wählt das Kassenpersonal “Confirm signature” or “Invalid signature” entsprechend der Unterschrift.
Wenn “Confirm signature” ausgewählt wird, wird die Transaktion normal abgeschlossen;
Wenn “Invalid signature” is selected, rufen Sie sofort die API zur Rückbuchung der Transaktion auf;
Bei unbeaufsichtigten oder Selbstbedienungszahlungen kann die Unterschriftsprüfung entfallen, da die Beträge üblicherweise gering sind; dadurch besteht jedoch ein Rückbuchungsrisiko.
Antwortergebnis:
-
Eine erfolgreiche Anfrage gibt "status": true.
-
Eine fehlgeschlagene Anfrage gibt "status": false.
Wir empfehlen dringend, sowohl order queries und asynchronous notifications um den Zahlungsstatus zu synchronisieren und zu aktualisieren und Zahlungsinformationen in Echtzeit korrekt zu halten.
Antwortcodes:
| Status | Code | Message |
|---|---|---|
| true | 200 | Success |
| false | -1000 | Internal error |
| false | -3001 | Required field is missing |
| false | -3002 | duplicate request_id |
| false | -403 | The signature Error |
| false | -4011 | Not support the payment method |
