Documentation/Référence API

API REFERENCE

Initier un paiement ou une autorisation

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

Initier un paiement ou une autorisation

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.

Paramètres

ParameterTypeDescriptionObligatoire
data.pay_methodstringoffline✓
data.sub_pay_methodstringpoint_of_sales✓
data.operationstring1.Sales 2.Authorisation;✓
data.tidstring设备的TID✓
data.order_idstring订单号全部数字构成,并小于20个字符✓
data.amountstring金额数字。例如 € 24.99 应该写成24.99,CNY金额>=1,欧元金额>=0.1✓
data.tip_amountstring总金额中包含的小费,金额数字。例如 1.02—
data.currencystring货币代码,ISO 4217,例如EUR,CHF✓
data.descriptionstring订单描述64字符内✓
data.demostring自定义字段—
data.notify_urlstring支付完成后异步通知地址✓
data.request_idstring请求id需保持唯一,建议24以上位数字+字母✓

S’applique aux paiements en personne sur terminal POS

Cette API envoie, via le cloud, des instructions de paiement ou d’autorisation à un appareil POS.

Avant d’appeler cette API, vérifiez que l’appareil POS est en ligne et disponible afin que les instructions puissent être transmises et traitées correctement.

URL de l’API (production) : https://mapi.yabandpay.com/Payments

URL de l’API (test) : https://acc-mapi.yabandpay.com/Payments

ParamètreTypeDescriptionObligatoire
userStringTID de l’appareilObligatoire
signStringSignatureObligatoire
methodStringv3.POSObligatoire
timeLongTimestampObligatoire
  • Parameters | Paramètre | Type | Description | Obligatoire | |:--- |:--- |:--- |:--- | | pay_method | String | offline | Obligatoire | | sub_pay_method | String| point_of_sales | Obligatoire | | operation | String |1.Sales 2.Authorisation ;| Obligatoire | | tid | string | TID de l’appareil | Obligatoire | | order_id | string | Numéro de commande composé uniquement de chiffres et limité à 20 caractères | Obligatoire | | amount | String | Montant sous forme de chaîne numérique. Par exemple, indiquez 24.99 pour € 24.99. Montant minimum CNY >=1 ; montant minimum EUR >=0.1. | Obligatoire | | tip_amount| String | Pourboire inclus dans le montant total, sous forme de chaîne numérique ; par exemple 1.02 | Facultatif | | currency | String | Code devise ISO 4217, par exemple EUR ou CHF | Obligatoire | | description | String | Description de la commande, limitée à 64 caractères | Obligatoire | | demo | String | Champ personnalisé | Facultatif | | notify_url | String | URL de notification asynchrone après le paiement | Obligatoire | | request_id | String | ID de requête unique ; une combinaison de chiffres et de lettres d’au moins 24 caractères est recommandée | Obligatoire |

Exemple de signature :

Paramètres triés et concaténés dans une chaîne de requête au format URL

 "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" 

Signer stringA avec secret_key

La signature obtenue est :

"YOUR_SIGNATURE"

Exemple de requête :

 {
  "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"

  }
} 

Exemple de réponse :

{
  "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": ""} 

Informations complémentaires :

Conseil

Important : lorsqu’une notification asynchrone renvoie "state": "paid", l’utilisateur a terminé le paiement. Vérifiez si les données renvoyées contiennent "cvmTypeList": ["SIGNATURE"].

Si la réponse contient "cvmTypeList": ["SIGNATURE"], le client doit signer le reçu ;

Demandez au caissier de solliciter la signature du client et d’imprimer un reçu avec un champ de signature ;

Après la signature du client, le caissier sélectionne « Confirmer la signature » ou « Signature invalide » selon le résultat ;

Si « Confirmer la signature » est sélectionné, la transaction se termine normalement ;

Si « Signature invalide » est sélectionné, appelez immédiatement l’API d’annulation de transaction pour annuler cette transaction ;

Pour les paiements sans surveillance ou en libre-service, la vérification de signature peut être omise car les montants sont généralement faibles, mais cela comporte un risque de rétrofacturation.

Résultat de la réponse :
  1. Une requête réussie renvoie "status": true.

  2. Une requête échouée renvoie "status": false.

Nous recommandons vivement d’utiliser à la fois les consultations de commande et les notifications asynchrones pour synchroniser et mettre à jour le statut de paiement, et ainsi garantir l’exactitude des informations de paiement en temps réel.

Codes de réponse :
StatusCodeMessage
true200Success
false-1000Internal error
false-3001Required field is missing
false-3002duplicate request_id
false-403The signature Error
false-4011Not support the payment method