Guides
Log In
Guides

Finalisation de préautorisation

Vue d'ensemble

La commande preAuthorization completion (finalisation de préautorisation) vous permet de finaliser une transaction de préautorisation pour un montant inférieur ou égal à celui défini dans le champ totalAmount (montant total) lors de la requête initiale. Une fois complétée, toute portion inutilisée de la retenue sera libérée et remise à disposition sur le solde du client. Pour savoir comment initier une requête de préautorisation, consultez le Préautorisation.

Si le montant est inférieur à 1 500,00 $, le commerçant peut finaliser la préautorisation, peu importe le montant initial. Si le montant est supérieur ou égal à 1 500,00 $, le montant de finalisation doit être inférieur à quatre fois le montant de la préautorisation.

Si le montant de finalisation est supérieur ou égal à 1 500,00 $ et supérieur ou égal à quatre fois le montant de la préautorisation, le commerçant recevra un avertissement. En revenant à l’écran de détails de transaction, le commerçant pourra refaire la finalisation pour un montant plus faible ou supprimer la préautorisation existante et en créer une nouvelle avec un montant plus élevé.

  1. Commande de finalisation de préautorisation

📘

REMARQUE

La finalisation de préautorisation n’est pas prise en charge sur Interac.


Structure de la requête

ÉlémentTypeDescriptionTailleObligatoire
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 contenant 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 préautorisationV50Obligatoire
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter une requête en doubleV50Obligatoire
linkIdString (chaîne)ID utilisé pour regrouper des transactions liéesV50Facultatif
terminalIdString (chaîne)ID du terminal de destinationF8Facultatif
userNameString (chaîne)Identifiant unique pour le caissier / l’utilisateurV30Facultatif
customIdDataString (chaîne)Champ personnaliséV50Facultatif
actionString (chaîne)« completion »V50Obligatoire
totalAmountString (chaîne)Montant total de la transactionV9Obligatoire
tipAmountString (chaîne)Montant du pourboire provenant du système ECRV9Facultatif
dynamicDescriptorString (chaîne)Description définie par le commerçantV20Facultatif
progressStatusString (chaîne)Si la valeur est définie sur « True », le terminal retournera la progression à l’ECR
Remarque : Cette fonctionnalité est disponible uniquement en intégration directe
V5Facultatif
subtotalAmountString (chaîne)Montant sans taxes ni fraisV9Facultatif
taxesArray (tableau)Maximum de 5 objets de taxes
taxNameString (chaîne)Nom à afficher sur le reçu (TVH, TPS, etc.)V15Facultatif
taxAmountString (chaîne)Montant correspondantV9Conditionnel

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

Structure de la réponse

ÉlémentTypeDescriptionTailleObligatoire
apiVersionString (chaîne)Numéro de version de l’APIV20Obligatoire
statusCodeString (chaîne)Code d’état pour la demande de transaction globaleV4Obligatoire
statusString (chaîne)Description du statusCode (code d’état)V4Obligatoire
dataIdString (chaîne)Identifiant unique défini par le marchand pour l’objet de donnéesV50Obligatoire
dataTimestampString (chaîne)Date et heure de la demande (AAAA-MM-JJ HH:MM:SS)F19Obligatoire
dataObject (objet)Objet qui contient toutes les demandes de transaction
responseArray (tableau)Contient les données applicables à la demande de transaction
orderIdString (chaîne)Identifiant unique pour cette demandeV50Obligatoire
transactionIdString (chaîne)Identifiant unique pour cette demandeV50Obligatoire
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter une demande en doubleV50Obligatoire
linkIdString (chaîne)Identifiant utilisé pour regrouper des transactions liéesV50Optionnel
actionString (chaîne)"completion"V50Obligatoire
statusCodeString (chaîne)Code d’état pour la demande individuelleV4Obligatoire
statusString (chaîne)Description du statusCode (code d’état) individuelV50Obligatoire
totalAmountString (chaîne)Écho du montant total de la transaction depuis la demandeV9Obligatoire
approvedAmountString (chaîne)Montant du paiement reçu / approuvéV9Conditionnel
tenderTypeString (chaîne)Type de paiement : crédit, débit, 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 renvoyé par l’institution émettriceV8Conditionnel
formFactorString (chaîne)Données spécifiques EMVF2Conditionnel
maskedPanString (chaîne)Numéro de compte principal masqué (PAN)V21Conditionnel
tipAmountString (chaîne)Montant du pourboire saisi par l’utilisateurV9Conditionnel
completedString (chaîne)"true" (vrai) ou "false" (faux)V5Obligatoire
receiptString (chaîne)Données du reçu financier envoyées en encodage ISO-8895-1V4000Conditionnel
receiptChoiceString (chaîne)Options de remise du reçu au titulaire de 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
dccOptInString (chaîne)Ce champ indique une transaction de conversion dynamique de devise (DCC)V5Optionnel
receiptExtensionString (chaîne)Données de transaction DCC pour reçus au format compactV275Conditionnel

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": "completed",
        "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.