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


Cette page vous a-t-elle aidé ?