API REFERENCE
Betaling of autorisatie starten
Van toepassing op betalingen met een fysieke POS-terminal
Deze API verstuurt via de cloud betaal- of autorisatie-instructies naar een POS-apparaat.
Controleer voordat u deze API aanroept of het POS-apparaat online en beschikbaar is, zodat de instructies succesvol kunnen worden afgeleverd en verwerkt.
API-URL (productie): https://mapi.yabandpay.com/Payments
API-URL (test): https://acc-mapi.yabandpay.com/Payments
Methode:POST
POST gegevenstype:Json
| Parameter | Type | Beschrijving | Verplicht |
|---|---|---|---|
| user | String | Apparaat-TID | Verplicht |
| sign | String | Signature | Verplicht |
| method | String | v3.POS | Verplicht |
| time | Long | Timestamp | Verplicht |
- Parameters
| Parameter | Type | Beschrijving | Verplicht |
|---|---|---|---|
| pay_method | String | offline | Verplicht |
| sub_pay_method | String | point_of_sales | Verplicht |
| operation | String | 1.Verkoop 2.Autorisatie; | Verplicht |
| tid | string | Apparaat-TID | Verplicht |
| order_id | string | Bestelnummer dat uitsluitend uit cijfers bestaat en minder dan 20 tekens bevat | Verplicht |
| amount | String | Bedrag als numerieke tekenreeks. Voer bijvoorbeeld 24.99 in voor € 24.99. Het CNY-bedrag moet >=1 zijn; het EUR-bedrag >=0.1. | Verplicht |
| tip_amount | String | Fooi opgenomen in het totaalbedrag, als numerieke tekenreeks; bijvoorbeeld 1.02 | Optioneel |
| currency | String | ISO-valutacode 4217, bijvoorbeeld EUR of CHF | Verplicht |
| description | String | Bestelomschrijving, maximaal 64 tekens | Verplicht |
| demo | String | Aangepast veld | Optioneel |
| notify_url | String | URL voor asynchrone melding na betaling | Verplicht |
| request_id | String | Unieke aanvraag-ID; aanbevolen wordt een combinatie van cijfers en letters van ten minste 24 tekens | Verplicht |
Handtekeningvoorbeeld:
Gesorteerde parameters aaneengevoegd tot een queryreeks in URL-stijl
"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"
Onderteken stringA met secret_key
De resulterende handtekening is:
"YOUR_SIGNATURE"
Aanvraagvoorbeeld:
{
"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"
}
}
Antwoordvoorbeeld:
{
"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": ""}
Aanvullende informatie:
Tip
Belangrijk: wanneer een asynchrone melding "state": "paid" retourneert, heeft de gebruiker de betaling voltooid. Controleer of de geretourneerde gegevens "cvmTypeList": ["SIGNATURE"] bevatten.
Als het antwoord "cvmTypeList": ["SIGNATURE"] bevat, moet de klant de bon ondertekenen;
Vraag de kassamedewerker om de handtekening van de klant en druk een bon met een handtekeningveld af;
Nadat de klant heeft getekend, kiest de kassamedewerker op basis van de handtekening "Handtekening bevestigen" of "Ongeldige handtekening".
Als "Handtekening bevestigen" wordt gekozen, wordt de transactie normaal afgerond;
Als "Ongeldige handtekening" wordt gekozen, roept u onmiddellijk de API voor transactieannulering aan om deze transactie terug te draaien;
Bij onbemande of zelfbedieningsbetalingen kan de handtekeningcontrole achterwege blijven omdat het meestal om kleine bedragen gaat, maar dit brengt een risico op terugboekingen met zich mee.
Resultaat van het antwoord:
-
Een geslaagde aanvraag retourneert "status": true.
-
Een mislukte aanvraag retourneert "status": false.
We raden sterk aan om zowel bestellingen op te vragen als asynchrone meldingen te gebruiken om de betalingsstatus te synchroniseren en bij te werken, zodat betalingsinformatie in realtime actueel blijft.
Antwoordcodes:
| Status | Code | Bericht |
|---|---|---|
| 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 |
