Guides
Log In
Guides

Préautorisation

Vue d'ensemble

La commande preAuthorization (préautorisation) permet de placer temporairement une retenue sur un montant spécifique sur une carte de crédit, avant que le montant final ne soit connu. Une fois le montant final déterminé, vous pouvez soumettre une requête de preAuthorization completion (finalisation de préautorisation) en utilisant ce montant ainsi que le transactionId (identifiant de transaction) de la préautorisation d’origine. Pour savoir comment exécuter une requête de finalisation de préautorisation, consultez le Finalisation de préautorisation.

  1. Commande de préautorisation

📘

REMARQUE

La 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 demandes de transaction
requestArray (tableau)Contient les données applicables à la demande de transaction
orderIdString (chaîne)ID de commande provenant de l’achatV50Obligatoire
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter les demandes en doubleV50Obligatoire
linkIdString (chaîne)ID utilisé pour regrouper les 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)"preAuthorization"V50Obligatoire
totalAmountString (chaîne)Montant total de la transactionV9Obligatoire
remainingAmountString (chaîne)Montant pour les transactions à autorisation partielle. Voir remainingAmount (LIER ICI) pour plus de détailsV5Facultatif
dynamicDescriptorString (chaîne)Description définie par le commerçantV20Facultatif
progressStatusString (chaîne)Si la valeur est définie sur "True", le terminal renverra la progression vers l’ECR.
Remarque : Cette fonctionnalité est uniquement disponible avec l’intégration directe
V5Facultatif
modifierString (chaîne)Enum qui classe davantage la transactionV24Facultatif
languageString (chaîne)Valeurs valides : "EN" et "FR". Si aucune valeur n’est fournie, l’application de paiement utilisera la langue définie dans TMSF2Facultatif
subtotalAmountString (chaîne)Montant hors taxes ou fraisV9Facultatif
taxesArray (tableau)Maximum de 5 objets de taxe
taxNameString (chaîne)Nom à afficher sur le reçu (TVH, TPS, etc.)V15Facultatif
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",
        "idempotencyKey": "example_idempotencyKey",
        "action": "preAuthorization",
        "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 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 demandes de transaction
responseArray (tableau)Contient les données applicables à la demande de transaction
orderIdString (chaîne)Le terminal renverra soit l’ordre orderId (identifiant de commande) de la demande, soit générera un nouvel orderId unique si aucun orderId n’était présent dans la demandeV50Obligatoire
transactionIdString (chaîne)Identifiant unique pour cette demandeV50Obligatoire
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter les demandes en doubleV50Obligatoire
linkIdString (chaîne)Identifiant utilisé pour regrouper les transactions liéesV50Optionnel
actionString (chaîne)"preAuthorization" (préautorisation)V50Obligatoire
statusCodeString (chaîne)Code d’état pour la demande individuelleV4Obligatoire
statusString (chaîne)Description du statusCode (code d’état) individuelV50Obligatoire
totalAmountString (chaîne)Répétition du montant total de la transaction depuis la demandeV9Obligatoire
approvedAmountString (chaîne)Montant de 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 retourné par l’institution émettriceV8Conditionnel
formFactorString (chaîne)Données spécifiques EMVF2Conditionnel
maskedPanString (chaîne)Numéro de compte principal masqué (PAN)V21Conditionnel
completedString (chaîne)"true" (vrai) ou "false" (faux)V5Obligatoire
receiptString (chaîne)Données du reçu financier envoyées en utilisant l’encodage ISO-8895-1V4000Conditionnel
receiptChoiceString (chaîne)Les choix concernant la manière dont le reçu est remis au titulaire de la carte au moment de la transaction. Les valeurs valides incluent : 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
installmentOptInString (chaîne)Ce champ indique une transaction de paiement par versements VisaV5Optionnel
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": "preAuthorization",
        "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.