Commande applyPayment (appliquer un paiement)
Vue d'ensemble
Le RMS reçoit une commande applyPayment (appliquer un paiement) lorsqu’un paiement pour une addition est approuvé. En cas d’approbation partielle, le terminal continue de demander un paiement complémentaire jusqu’à ce que l’addition soit entièrement réglée. Le RMS reçoit une commande applyPayment pour chaque étape d’une approbation partielle. Avec chaque applyPayment, le RMS met à jour remainingAmount (montant restant) et tableRemainingAmount (montant restant pour la table). Lorsque tableRemainingAmount atteint zéro, l’addition est entièrement réglée.
Structure de la requête
| ÉLÉMENT | TYPE | DESCRIPTION | TAILLE | OBLIGATOIRE |
|---|---|---|---|---|
| terminalId | String | Identifiant du terminal à l'origine de la requête | V8 | Obligatoire |
| merchantId | String | Identifiant du commerçant | V13 | Obligatoire |
| apiVersion | String | Numéro de version de l’API | V20 | Obligatoire |
| requestId | String | Identifiant unique pour cette requête | V50 | Obligatoire |
| requestTimestamp | String | Date et heure de la requête | F19 | Obligatoire |
| action | String | Type de transaction – « applyPayment » | V24 | Conditionnel |
| data | Object | Données applicables à ce type de transaction | – | – |
| server | Object | – | – | – |
| serverId | String | Identifiant du serveur saisi sur le terminal | V50 | Optionnel |
| trackData | Object | – | – | – |
| Track1 | String | Piste 1 de la carte serveur balayée | V50 | Optionnel |
| Track2 | String | Piste 2 de la carte serveur balayée | V50 | Optionnel |
| Track3 | String | Piste 3 de la carte serveur balayée | V50 | Optionnel |
| check | Object | – | – | – |
| tableId | String | Identifiant de table pour usage interne du système | V50 | Obligatoire |
| checkId | String | Identifiant de l’addition pour usage interne du système | V50 | Obligatoire |
| payment | Object | Détails du paiement | – | Obligatoire |
| tenderType | String | Type de paiement : carte, espèces, etc. | V50 | Obligatoire |
| card | Object | Détails de la carte | – | – |
| cardType | String | Type de carte | V50 | Obligatoire |
| authNumber | String | Numéro d’autorisation du paiement | V50 | Obligatoire |
| referenceNumber | String | Numéro de référence du paiement | V50 | Obligatoire |
| lastDigits | Number | Quatre derniers chiffres du PAN | F4 | Obligatoire |
| paidAmount | Number | Montant du paiement reçu / approuvé | V9 | Obligatoire |
| tipAmount | Number | Montant du pourboire saisi par l’utilisateur | V9 | Optionnel |
| error | Object | Présent si le terminal détecte une erreur dans la réponse précédente. Applicable à toutes les actions. | – | – |
| status | String | Code d’état | F3 | Conditionnel |
| statusDesc | String | Description du code d’état | V50 | Conditionnel |
| session | String | Identifiant de session provenant du cloud Moneris | V50 | Conditionnel |
{
"terminalId": "I9000001",
"merchantId": "0030112345678",
"apiVersion": "1.0",
"requestId": "I9000001-1555449670-037",
"idempotencyKey": "74ae1696-b1e3-4328-af6d-f1e04d947a13",
"requestTimestamp": "2020-01-01 09:00:00",
"action": "applyPayment",
"data": {
"server": {
"serverId": "1234",
"trackData": {
"track1": "",
"track2": "",
"track3": ""
}
},
"check": {
"tableId": "5cbb687bb376894ed03662db",
"checkId": "1"
},
"payment": {
"tenderType": "CARD",
"card": {
"cardType": "VISA",
"authNumber": "183235",
"referenceNumber": "1020293",
"lastDigits": "1234"
},
"paidAmount": 1000,
"tipAmount": 100
}
},
"error": {
"status": "703",
"statusDesc": "Table Number Error"
},
"session": "c9e5558c-3dfb-4359-adcf-c3c3de0d269d"
}
Structure de la réponse
| ÉLÉMENT | TYPE | DESCRIPTION | TAILLE | OBLIGATOIRE |
|---|---|---|---|---|
| terminalId | String | Identifiant du terminal à l'origine de la requête | V8 | Obligatoire |
| merchantId | String | Identifiant du commerçant | V13 | Obligatoire |
| configCode | String | Code de configuration d’intégration fourni par Moneris | V25 | Obligatoire |
| requestId | String | Identifiant unique pour cette requête | V50 | Obligatoire |
| requestTimestamp | String | Date et heure de la requête | F19 | Obligatoire |
| status | String | Code d’état RMS | F3 | Obligatoire |
| statusDesc | String | Description du code d’état RMS | V50 | Obligatoire |
| data | Object | Données applicables à ce type de transaction | – | – |
| table | Object | Détails de la table | – | – |
| tableId | String | Clé primaire, utilisée dans les requêtes suivantes pour cibler une table en particulier | V50 | Obligatoire |
| tableTotalAmount | Number | Montant total pour la table | V9 | Obligatoire |
| tableRemainingAmount | Number | Montant dû pour la table. Réduit du montant approuvé à chaque paiement approuvé. | V9 | Obligatoire |
| check | Object | Détails de l’addition | – | – |
| checkId | String | Identifiant de l’addition pour usage interne du système | V50 | Obligatoire |
| checkName | String | Nom de l’addition pour affichage dans l’interface utilisateur du terminal | V50 | Optionnel |
| totalAmount | Number | Montant total de la transaction | V9 | Obligatoire |
| preTaxAmount | Number | Montant de la transaction avant taxes | V9 | Optionnel |
| gratuity | Number | Frais de service. Il s’agit d’un frais que le restaurant peut ajouter automatiquement à une facture. Par exemple, certains restaurants ajoutent un pourboire pour les grands groupes. | V9 | Optionnel |
| remainingAmount | Number | Montant dû après une approbation partielle (montant total + pourboire – montant(s) partiellement approuvé(s)) | V9 | Obligatoire |
| session | String | Identifiant de session provenant du cloud Moneris | V50 | Conditionnel |
{
"terminalId": "I9000001",
"merchantId": "0030112345678",
"configCode": "C12345678SI",
"requestId": "I9000001-1555449670-037",
"responseTimestamp": "2020-01-01 09:00:00",
"status": "200",
"statusDesc": "OK",
"data": {
"table": {
"tableId": "5cbb687bb376894ed03662db",
"tableTotalAmount": 12300,
"tableRemainingAmount": 0
},
"check": {
"checkId": "1",
"checkName": "Jim",
"totalAmount": 12300,
"preTaxAmount": 10885,
"gratuity": 0,
"remainingAmount": 0
}
},
"session": "c9e5558c-3dfb-4359-adcf-c3c3de0d269d"
}
Mise à jour il y a 2 mois
Cette page vous a-t-elle aidé ?

