Annulation

Vue d'ensemble

La commande void (annulation) vous permet d’annuler une transaction d’achat ou de carte-cadeau. Cela empêche le transfert des fonds vers le commerçant et évite que le client soit débité. Une transaction peut être annulée tant que les fonds n’ont pas encore été transférés. Cela est utilisé, sans s’y limiter, pour annuler une transaction avec approbation partielle. Si les fonds ont déjà été transférés, un remboursement est nécessaire.

  1. Commande d’annulation

Structure de la requête

ÉlémentType (type)DescriptionTailleObligatoire
apiVersion String (chaîne) Numéro de version de l’API V20 Obligatoire
istConfigCode String (chaîne) Code de configuration d’intégration fourni par Moneris V25 Obligatoire
dataId String (chaîne) Identifiant unique défini par le commerçant pour l’objet de données V50 Obligatoire
dataTimestamp String (chaîne) Date et heure de la demande (AAAA-MM-JJ HH:MM:SS) F19 Obligatoire
data Object (objet) Objet contenant toutes les demandes de transaction - -
request Array (tableau) Contient les données applicables à la demande de transaction - -
orderId String (chaîne) ID de commande provenant de l’achat V50 Obligatoire
transactionId String (chaîne) ID de transaction provenant de la réponse d’achat V50 Obligatoire
idempotencyKey String (chaîne) Identifiant unique de transaction pour éviter les demandes en double V50 Obligatoire
linkId String (chaîne) ID utilisé pour regrouper des transactions liées V50 Facultatif
terminalId String (chaîne) ID du terminal de destination
Remarque : Une erreur sera renvoyée si le terminalId dans la demande ne correspond pas au terminal
F8 Facultatif
userName String (chaîne) Identifiant unique pour le caissier / l’utilisateur V30 Facultatif
customIdData String (chaîne) Champ personnalisé V50 Facultatif
action String (chaîne) "void" V50 Obligatoire
dynamicDescriptor String (chaîne) Description définie par le commerçant V20 Facultatif
progressStatus String (chaîne) Si la valeur est définie sur "True", le terminal renverra la progression vers l’ECR
Remarque : Cette fonctionnalité est uniquement disponible en intégration directe
V5 Facultatif
language String (chaîne) Valeurs valides "EN" et "FR". Si aucune valeur n’est fournie, l’application de paiement utilisera la langue provenant du TMS F2 Facultatif

Exemple de requête

{
   "apiVersion": "3.0",
   "istConfigCode": "example_istConfigCode",
   "dataId": "example_dataId",
   "dataTimestamp": "1969-12-31 23:59:59",
   "data": {
      "request": [
         {
            "orderId": "example_orderId",
            "transactionId": "example_transactionId",
            "idempotencyKey": "example_idempotencyKey",
            "action": "void"
         }
      ]
   }
}

Structure de la réponse

ÉlémentType (type)DescriptionTailleObligatoire
apiVersion String (chaîne) Numéro de version de l’API V20 Obligatoire
statusCode String (chaîne) Code d’état pour la demande de transaction globale V4 Obligatoire
status String (chaîne) Description du statusCode V4 Obligatoire
dataId String (chaîne) Identifiant unique défini par le commerçant pour l’objet de données V50 Obligatoire
dataTimestamp String (chaîne) Date et heure de la demande (AAAA-MM-JJ HH:MM:SS) F19 Obligatoire
data Object (objet) Objet contenant toutes les demandes de transaction - -
response Array (tableau) Contient les données applicables à la demande de transaction - -
orderId String (chaîne) Identifiant unique pour cette demande V50 Obligatoire
transactionId String (chaîne) Identifiant unique pour cette demande V50 Obligatoire
idempotencyKey String (chaîne) Identifiant unique de transaction pour éviter les demandes en double V50 Obligatoire
linkId String (chaîne) ID utilisé pour regrouper des transactions liées V50 Facultatif
action String (chaîne) "void" V50 Obligatoire
statusCode String (chaîne) Code d’état pour la demande individuelle V4 Obligatoire
status String (chaîne) Description du statusCode individuel V50 Obligatoire
approvedAmount String (chaîne) Montant du paiement reçu / approuvé V9 Obligatoire
tenderType String (chaîne) Type de paiement : crédit, débit, cadeau, etc. V50 Obligatoire
cardType String (chaîne) Type de carte : V, M, P, AX, etc. V2 Conditionnel
cardName String (chaîne) Nom de la carte : Visa, MasterCard, Interac, Amex, etc. V25 Conditionnel
sequenceNum String (chaîne) Numéro de séquence V18 Conditionnel
realTimeUniqueId String (chaîne) Identifiant unique de transaction Moneris en temps réel F15 Conditionnel
responseCode String (chaîne) Code de réponse de l’hôte Moneris V3 Conditionnel
ISO String (chaîne) Code de réponse ISO V2 Conditionnel
authCode String (chaîne) Code d’autorisation renvoyé par l’institution émettrice V8 Conditionnel
formFactor String (chaîne) Données spécifiques EMV F2 Conditionnel
maskedPan String (chaîne) Numéro de compte principal (PAN) masqué V21 Conditionnel
completed String (chaîne) "true" ou "false" V5 Obligatoire
receipt String (chaîne) Données de reçu financier envoyées en encodage ISO-8895-1 V4000 Conditionnel
receiptChoice String (chaîne) Les choix sur la façon dont le reçu est remis au titulaire de la carte au moment de la transaction. Valeurs valides : PRINT (option par défaut), EMAIL, SMS, NONE. V10 Conditionnel
terminalId String (chaîne) ID du terminal de destination F8 Obligatoire
transactionType String (chaîne) Transaction qui a été annulée : annulation d’achat, annulation d’activation de carte cadeau V50 Obligatoire

Exemple de requête

{
   "apiVersion":"3.0",
   "statusCode":"example_statusCode",
   "status":"example_status",
   "dataId":"example_dataId",
   "dataTimestamp":"1969-12-31 23:59:59",
   "data":{
      "response":[
         {
            "orderId":"example_orderId",
            "transactionId":"example_transactionId",
            "statusCode":"example_statusCode",
            "status":"example_status",
            "idempotencyKey":"example_idempotencyKey",
            "completed":"true",
            "saf":"false",
            "responseCode":"example_responseCode",
            "iso":"example_iso",
            "approvedAmount":"example_approvedAmount",
            "tenderType":"example_tenderType",
            "cardType":"example_cardType",
            "sequenceNum":"example_sequenceNum",
            "realTimeUniqueId":"example_realTimeUniqueId",
            "authCode":"example_authCode",
            "formFactor":"example_formFactor",
            "maskedPan":"example_maskedPan",
            "action":"void",
            "receipt":"example_receipt",
            "receiptChoice":"PRINT",
            "terminalId":"example_terminalId"
         }
      ]
   }
}

Erreurs

Si votre réponse contient des erreurs, consultez la page Erreurs pour une description détaillée de chacune.


Cette page vous a-t-elle aidé ?