Dokumentation/API-Referenz

API REFERENCE

Zahlung oder Auaufrisierung starten

POSThttps://mapi.yabandpay.com/Payments
Live API
API PLAYGROUND · Live API

Zahlung oder Auaufrisierung starten

POSThttps://mapi.yabandpay.com/Payments
Automatically signed with your credentials

Request parameters11

Required fields first

发起交易

pay_methodRequiredstringdata.pay_methodoffline
sub_pay_methodRequiredstringdata.sub_pay_methodpoint_of_sales
operationRequiredstringdata.operation1.Sales 2.Authorisation;
tidRequiredstringdata.tid设备的TID
amountRequiredstringdata.amount金额数字。例如 € 24.99 应该写成24.99,CNY金额>=1,欧元金额>=0.1
currencyRequiredstringdata.currency货币代码,ISO 4217,例如EUR,CHF
descriptionRequiredstringdata.description订单描述64字符内
notify_urlRequiredstringdata.notify_url支付完成后异步通知地址
request_idRequiredstringdata.request_id请求id需保持唯一,建议24以上位数字+字母
Optional parameters 2
tip_amountOptionalstringdata.tip_amount总金额中包含的小费,金额数字。例如 1.02
demoOptionalstringdata.demo自定义字段

Credentials stay on this page. Your secret key is never stored or sent to the documentation server.

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

ParameterTypBeschreibungErforderlich
userStringGeräte-TIDErforderlich
signStringSignatureErforderlich
methodStringv3.POSErforderlich
timeLongTimestampErforderlich
  • Parameter
ParameterTypBeschreibungErforderlich
pay_methodStringofflineErforderlich
sub_pay_methodStringpoint_of_salesErforderlich
operationString1.Sales 2.Authorisation;Erforderlich
tidstringGeräte-TIDErforderlich
order_idstringAusschließlich aus Ziffern bestehende Bestellnummer mit weniger als 20 ZeichenErforderlich
amountStringBetrag als numerische Zeichenfolge. Geben Sie zum Beispiel 24.99 for € 24.99. CNY-Betrag >=1; EUR-Betrag >=0.1.Erforderlich
tip_amountStringTrinkgeld im Gesamtbetrag, als numerische Zeichenfolge; zum Beispiel 1.02Optional
currencyStringISO 4217 Währungscode, zum Beispiel EUR or CHFErforderlich
descriptionStringBestellbeschreibung mit maximal 64 ZeichenErforderlich
demoStringBenutzerdefiniertes FeldOptional
notify_urlStringURL für asynchrone Benachrichtigung nach der ZahlungErforderlich
request_idStringEindeutige Anfrage-ID; empfohlen wird eine Kombination aus Ziffern und Buchstaben mit mindestens 24 ZeichenErforderlich

Signaturbeispiel:

Nach Parametern sortierte Werte, verkettet zu einer URL-ähnlichen Abfragezeichenfolge

 "amount=12.5&currency=EUR&description=YabandPay test&method=v3.POS&notify_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:
  1. Eine erfolgreiche Anfrage gibt "status": true.

  2. 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:
StatusCodeMessage
true200Success
false-1000Internal error
false-3001Required field is missing
false-3002duplicate request_id
false-403The signature Error
false-4011Not support the payment method