API REFERENCE
Annulation d’une transaction
Paramètres
| Parameter | Type | Description | Obligatoire |
|---|---|---|---|
| data.tid | string | 设备的TID | ✓ |
| data.trade_id | string | YabandPay订单编号 | ✓ |
| data.request_id | string | 请求id需保持唯一,建议24以上位数字+字母 | ✓ |
S’applique aux paiements en personne sur terminal POS
Cette API lance, depuis le cloud, l’annulation d’une transaction réussie.
L’annulation de transaction ne prend en charge que les transactions du jour même et uniquement les annulations complètes.
Pour les annulations partielles ou les transactions des jours précédents, utilisez l’API de remboursement.
Après l’envoi d’une instruction d’annulation, le terminal POS affiche le déroulement et le résultat final en temps réel, afin que le marchand et l’utilisateur puissent confirmer immédiatement le statut. Pour une annulation silencieuse (sans affichage du déroulement sur le terminal POS), utilisez l’API d’annulation du paiement.
Avant d’appeler cette API, vérifiez que l’appareil POS est en ligne et disponible afin que l’instruction d’annulation puisse être transmise et traitée correctement.
URL de l’API (production) : https://mapi.yabandpay.com/Payments
URL de l’API (test) : https://acc-mapi.yabandpay.com/Payments
| Paramètre | Type | Description | Obligatoire |
|---|---|---|---|
| user | String | TID de l’appareil | Obligatoire |
| sign | String | Signature | Obligatoire |
| method | String | v3.POSReversal | Obligatoire |
| time | Long | Timestamp | Obligatoire |
- Parameters | Paramètre | Type | Description | Obligatoire | |:--- |:--- |:--- |:--- | | tid | string | TID de l’appareil | Obligatoire | | trade_id | String | Numéro de commande YabandPay | 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
"method=v3.POSReversal&request_id=a7z1lox4l6z6mdx1udgn5gtezasze1x0&tid=T125119061&time=1555498137&trade_id=4a49ffb3-a30f-ba92-9422-1969afb6f121&user=T125119061"
Signer stringA avec secret_key
La signature obtenue est :
"YOUR_SIGNATURE"
Exemple de requête :
{
"user": "T125119061",
"sign": "YOUR_SIGNATURE",
"method": "v3.POSReversal",
"time": 1555498137,
"data": {
"tid": "T125119061",
"trade_id": "4a49ffb3-a30f-ba92-9422-1969afb6f121",
"request_id": "a7z1lox4l6z6mdx1udgn5gtezasze1x0"
}
}
Exemple de réponse :
{
"status": true,
"code": "200",
"data": {
"type": "payment",
"user": "T125119061",
"amount": "0.10",
"currency": "EUR",
"trade_id": "4a49ffb3-a30f-ba92-9422-1969afb6f121",
"description": "YabandPay test",
"order_id": "YOUR_ORDER_ID",
"createDate": "1706771212",
"demo": "test",
"transaction_id": "",
"state": "cancelled"
},
"message": ""}
Informations complémentaires :
Résultat de la réponse :
-
Une requête réussie renvoie "status": true.
-
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 :
| Status | Code | Message |
|---|---|---|
| true | 200 | |
| false | -3001 | Required field is missing |
| false | -3002 | duplicate request_id |
| false | -4111 | Exceed cancel window |
| false | -4112 | The transaction has been cleared cannot be cancelled |
| false | -4114 | The trade_id does not exist |
| false | -4115 | The transaction cannot be cancelled |
| false | -4116 | The transaction has been cancelled |
| false | -4117 | The transaction has been Expired |
