Guides
Log In
Guides

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
apiVersionString (chaîne)Numéro de version de l’APIV20Obligatoire
istConfigCodeString (chaîne)Code de configuration d’intégration fourni par MonerisV25Obligatoire
dataIdString (chaîne)Identifiant unique défini par le commerçant pour l’objet de donnéesV50Obligatoire
dataTimestampString (chaîne)Date et heure de la requête (AAAA-MM-JJ HH:MM:SS)F19Obligatoire
dataObject (objet)Objet qui contient toutes les requêtes de transaction
requestArray (tableau)Contient les données applicables à la requête de transaction
orderIdString (chaîne)ID de commande provenant de l’achatV50Obligatoire
transactionIdString (chaîne)ID de transaction provenant de la réponse de l’achatV50Obligatoire
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter une requête en doubleV50Obligatoire
linkIdString (chaîne)ID utilisé pour regrouper les transactions liéesV50Optionnel
terminalIdString (chaîne)ID du terminal de destinationF8Optionnel
userNameString (chaîne)Identifiant unique pour le caissier / l’utilisateurV30Optionnel
customIdDataString (chaîne)Champ personnaliséV50Optionnel
actionString (chaîne)"refund" (remboursement)V50Obligatoire
totalAmountString (chaîne)Montant total de la transactionV9Obligatoire
dynamicDescriptorString (chaîne)Description définie par le commerçantV20Optionnel
progressStatusString (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
V5Optionnel
modifierString (chaîne)Énumération qui classe davantage la transactionV24Optionnel
languageString (chaîne)Valeurs valides "EN" et "FR". Si aucune valeur n’est fournie, l’application de paiement utilisera la langue depuis le TMSF2Optionnel
subtotalAmountString (chaîne)Montant sans taxes ni fraisV9Optionnel
taxesArray (tableau)Maximum de 5 objets de taxes
taxNameString (chaîne)Nom à afficher sur le reçu (TVH, TPS, etc.)V15Optionnel
taxAmountString (chaîne)Montant correspondantV9Conditionnel
{
   "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
apiVersionString (chaîne)Numéro de version de l’APIV20Obligatoire
statusCodeString (chaîne)Code d’état pour l’ensemble de la requête de transactionV4Obligatoire
statusString (chaîne)Description du code d’étatV4Obligatoire
dataIdString (chaîne)Identifiant unique défini par le commerçant pour l’objet de donnéesV50Obligatoire
dataTimestampString (chaîne)Date et heure de la requête (AAAA-MM-JJ HH:MM:SS)F19Obligatoire
dataObject (objet)Objet qui contient toutes les requêtes de transaction
responseArray (tableau)Contient les données applicables à la requête de transaction
orderIdString (chaîne)Identifiant unique pour cette requêteV50Obligatoire
transactionIdString (chaîne)Identifiant unique pour cette requêteV50Obligatoire
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter une requête en doubleV50Obligatoire
linkIdString (chaîne)ID utilisé pour regrouper les transactions liéesV50Optionnel
actionString (chaîne)"refund" (remboursement)V50Obligatoire
statusCodeString (chaîne)Code d’état pour la requête individuelleV4Obligatoire
statusString (chaîne)Description du code d’état individuelV50Obligatoire
totalAmountString (chaîne)Répétition du montant total de la transaction provenant de la requêteV9Obligatoire
approvedAmountString (chaîne)Montant du paiement reçu / approuvéV9Conditionnel
tenderTypeString (chaîne)Type de paiement : crédit (crédit), débit (débit), cadeau (cadeau), etc.V50Obligatoire
cardTypeString (chaîne)Type de carte : V, M, P, AX, etc.V2Conditionnel
cardNameString (chaîne)Nom de la carte : Visa, MasterCard, Interac, Amex, etc.V25Conditionnel
sequenceNumString (chaîne)Numéro de séquenceV18Conditionnel
realTimeUniqueIdString (chaîne)Identifiant unique de transaction Moneris en temps réelF15Conditionnel
responseCodeString (chaîne)Code de réponse de l’hôte MonerisV3Conditionnel
isoString (chaîne)Code de réponse ISOV2Conditionnel
authCodeString (chaîne)Code d’autorisation retourné par l’institution émettriceV8Conditionnel
formFactorString (chaîne)Données spécifiques EMVF2Conditionnel
maskedPanString (chaîne)Numéro de compte principal (PAN) masquéV21Conditionnel
completedString (chaîne)"true" (valeur booléenne vraie) ou "false" (valeur booléenne fausse)V5Obligatoire
receiptString (chaîne)Données du reçu financier envoyées en encodage ISO-8895-1V4000Conditionnel
receiptChoiceString (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.V10Conditionnel
terminalIdString (chaîne)ID du terminal de destinationF8Obligatoire
receiptExtensionString (chaîne)Données de transaction DCC pour les reçus au format compactV275Conditionnel
{
   "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.