Remboursement sur carte enregistrée

Vue d'ensemble

Un remboursement carte enregistrée permet d’annuler un achat ou une transaction preAuthorization (préautorisation) déjà complétée. Vous pouvez rembourser n’importe quel montant jusqu’au montant total de la transaction.

Les remboursements carte enregistrée peuvent être effectués avec ou sans la carte présente, sauf si une carte UnionPay ou Interac est utilisée, auquel cas la carte doit être présente. Pour initier un remboursement carte enregistrée, vous devez fournir le orderId (identifiant de commande) et le transactionId (identifiant de transaction) de la transaction originale. En cas d’échec du remboursement carte enregistrée (erreur de communication, autre problème), un remboursement carte présente peut être effectué via l’application PDV.

Pour effectuer un remboursement carte présente sans qu’il soit lié à une transaction spécifique, consultez la section Commande de remboursement carte présente.

  1. Commande de remboursement carte enregistrée

Structure de la requête

ÉlémentType (Type)Description (Description)TailleObligatoire
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 requête (AAAA-MM-JJ HH:MM:SS) F19 Obligatoire
data Object (objet) Objet qui contient toutes les requêtes de transaction - -
request Array (tableau) Contient les données applicables à la requête 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 de l’achat V50 Obligatoire
idempotencyKey String (chaîne) Identifiant unique de transaction pour éviter une requête en double V50 Obligatoire
linkId String (chaîne) ID utilisé pour regrouper les transactions liées V50 Optionnel
terminalId String (chaîne) ID du terminal de destination F8 Optionnel
userName String (chaîne) Identifiant unique pour le caissier / l’utilisateur V30 Optionnel
customIdData String (chaîne) Champ personnalisé V50 Optionnel
action String (chaîne) "refund" (remboursement) V50 Obligatoire
totalAmount String (chaîne) Montant total de la transaction V9 Obligatoire
dynamicDescriptor String (chaîne) Description définie par le commerçant V20 Optionnel
progressStatus String (chaîne) Si la valeur est définie sur "True" (valeur booléenne vraie), le terminal renverra la progression à l’ECR
Remarque : cette fonctionnalité est uniquement disponible avec l’intégration directe
V5 Optionnel
modifier String (chaîne) Énumération qui classe davantage la transaction V24 Optionnel
language String (chaîne) Valeurs valides "EN" et "FR". Si aucune valeur n’est fournie, l’application de paiement utilisera la langue depuis le TMS F2 Optionnel
subtotalAmount String (chaîne) Montant sans taxes ni frais V9 Optionnel
taxes Array (tableau) Maximum de 5 objets de taxes - -
taxName String (chaîne) Nom à afficher sur le reçu (TVH, TPS, etc.) V15 Optionnel
taxAmount String (chaîne) Montant correspondant V9 Conditionnel

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":"refund",
            "totalAmount":"example_totalAmount"
         }
      ]
   }
}

Structure de la réponse

ÉlémentType (Type)Description (Description)TailleObligatoire
apiVersion String (chaîne) Numéro de version de l’API V20 Obligatoire
statusCode String (chaîne) Code d’état pour l’ensemble de la requête de transaction V4 Obligatoire
status String (chaîne) Description du code d’état 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 requête (AAAA-MM-JJ HH:MM:SS) F19 Obligatoire
data Object (objet) Objet qui contient toutes les requêtes de transaction - -
response Array (tableau) Contient les données applicables à la requête de transaction - -
orderId String (chaîne) Identifiant unique pour cette requête V50 Obligatoire
transactionId String (chaîne) Identifiant unique pour cette requête V50 Obligatoire
idempotencyKey String (chaîne) Identifiant unique de transaction pour éviter une requête en double V50 Obligatoire
linkId String (chaîne) ID utilisé pour regrouper les transactions liées V50 Optionnel
action String (chaîne) "refund" (remboursement) V50 Obligatoire
statusCode String (chaîne) Code d’état pour la requête individuelle V4 Obligatoire
status String (chaîne) Description du code d’état individuel V50 Obligatoire
totalAmount String (chaîne) Répétition du montant total de la transaction provenant de la requête V9 Obligatoire
approvedAmount String (chaîne) Montant du paiement reçu / approuvé V9 Conditionnel
tenderType String (chaîne) Type de paiement : crédit (crédit), débit (débit), cadeau (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 retourné 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" (valeur booléenne vraie) ou "false" (valeur booléenne fausse) V5 Obligatoire
receipt String (chaîne) Données du reçu financier envoyées en encodage ISO-8895-1 V4000 Conditionnel
receiptChoice String (chaîne) Les choix de remise du reçu 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
receiptExtension String (chaîne) Données de transaction DCC pour les reçus au format compact V275 Conditionnel

Exemple de réponse

{
   "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",
            "responseCode":"example_responseCode",
            "iso":"example_iso",
            "approvedAmount":"example_approvedAmount",
            "totalAmount":"example_totalAmount",
            "tenderType":"example_tenderType",
            "cardType":"example_cardType",
            "sequenceNum":"example_sequenceNum",
            "realTimeUniqueId":"example_realTimeUniqueId",
            "authCode":"example_authCode",
            "formFactor":"example_formFactor",
            "maskedPan":"example_maskedPan",
            "action":"refund",
            "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é ?