Guides
Log In
Guides

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ÉMENTTYPEDESCRIPTIONTAILLEOBLIGATOIRE
terminalIdStringIdentifiant du terminal à l'origine de la requêteV8Obligatoire
merchantIdStringIdentifiant du commerçantV13Obligatoire
apiVersionStringNuméro de version de l’APIV20Obligatoire
requestIdStringIdentifiant unique pour cette requêteV50Obligatoire
requestTimestampStringDate et heure de la requêteF19Obligatoire
actionStringType de transaction – « applyPayment »V24Conditionnel
dataObjectDonnées applicables à ce type de transaction
serverObject
serverIdStringIdentifiant du serveur saisi sur le terminalV50Optionnel
trackDataObject
Track1StringPiste 1 de la carte serveur balayéeV50Optionnel
Track2StringPiste 2 de la carte serveur balayéeV50Optionnel
Track3StringPiste 3 de la carte serveur balayéeV50Optionnel
checkObject
tableIdStringIdentifiant de table pour usage interne du systèmeV50Obligatoire
checkIdStringIdentifiant de l’addition pour usage interne du systèmeV50Obligatoire
paymentObjectDétails du paiementObligatoire
tenderTypeStringType de paiement : carte, espèces, etc.V50Obligatoire
cardObjectDétails de la carte
cardTypeStringType de carteV50Obligatoire
authNumberStringNuméro d’autorisation du paiementV50Obligatoire
referenceNumberStringNuméro de référence du paiementV50Obligatoire
lastDigitsNumberQuatre derniers chiffres du PANF4Obligatoire
paidAmountNumberMontant du paiement reçu / approuvéV9Obligatoire
tipAmountNumberMontant du pourboire saisi par l’utilisateurV9Optionnel
errorObjectPrésent si le terminal détecte une erreur dans la réponse précédente. Applicable à toutes les actions.
statusStringCode d’étatF3Conditionnel
statusDescStringDescription du code d’étatV50Conditionnel
sessionStringIdentifiant de session provenant du cloud MonerisV50Conditionnel


{
   "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ÉMENTTYPEDESCRIPTIONTAILLEOBLIGATOIRE
terminalIdStringIdentifiant du terminal à l'origine de la requêteV8Obligatoire
merchantIdStringIdentifiant du commerçantV13Obligatoire
configCodeStringCode de configuration d’intégration fourni par MonerisV25Obligatoire
requestIdStringIdentifiant unique pour cette requêteV50Obligatoire
requestTimestampStringDate et heure de la requêteF19Obligatoire
statusStringCode d’état RMSF3Obligatoire
statusDescStringDescription du code d’état RMSV50Obligatoire
dataObjectDonnées applicables à ce type de transaction
tableObjectDétails de la table
tableIdStringClé primaire, utilisée dans les requêtes suivantes pour cibler une table en particulierV50Obligatoire
tableTotalAmountNumberMontant total pour la tableV9Obligatoire
tableRemainingAmountNumberMontant dû pour la table. Réduit du montant approuvé à chaque paiement approuvé.V9Obligatoire
checkObjectDétails de l’addition
checkIdStringIdentifiant de l’addition pour usage interne du systèmeV50Obligatoire
checkNameStringNom de l’addition pour affichage dans l’interface utilisateur du terminalV50Optionnel
totalAmountNumberMontant total de la transactionV9Obligatoire
preTaxAmountNumberMontant de la transaction avant taxesV9Optionnel
gratuityNumberFrais 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.V9Optionnel
remainingAmountNumberMontant dû après une approbation partielle (montant total + pourboire – montant(s) partiellement approuvé(s))V9Obligatoire
sessionStringIdentifiant de session provenant du cloud MonerisV50Conditionnel


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