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
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 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
idempotencyKey String (chaîne) Identifiant unique de transaction pour éviter les demandes en double V50 Obligatoire
linkId String (chaîne) ID utilisé pour regrouper les transactions liées V50 Facultatif
terminalId String (chaîne) ID du terminal de destination 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) "preAuthorization" V50 Obligatoire
totalAmount String (chaîne) Montant total de la transaction V9 Obligatoire
remainingAmount String (chaîne) Montant pour les transactions à autorisation partielle. Voir remainingAmount (LIER ICI) pour plus de détails V5 Facultatif
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 avec l’intégration directe
V5 Facultatif
modifier String (chaîne) Enum qui classe davantage la transaction V24 Facultatif
language String (chaîne) Valeurs valides : "EN" et "FR". Si aucune valeur n’est fournie, l’application de paiement utilisera la langue définie dans TMS F2 Facultatif
subtotalAmount String (chaîne) Montant hors taxes ou frais V9 Facultatif
taxes Array (tableau) Maximum de 5 objets de taxe - -
taxName String (chaîne) Nom à afficher sur le reçu (TVH, TPS, etc.) V15 Facultatif
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",
        "idempotencyKey": "example_idempotencyKey",
        "action": "preAuthorization",
        "totalAmount": "example_totalAmount"
      }
    ]
  }
}

Structure de la réponse

ÉlémentTypeDescriptionTailleObligatoire
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 (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 demandes de transaction - -
response Array (tableau) Contient les données applicables à la demande de transaction - -
orderId String (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 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) Identifiant utilisé pour regrouper les transactions liées V50 Optionnel
action String (chaîne) "preAuthorization" (préautorisation) V50 Obligatoire
statusCode String (chaîne) Code d’état pour la demande individuelle V4 Obligatoire
status String (chaîne) Description du statusCode (code d’état) individuel V50 Obligatoire
totalAmount String (chaîne) Répétition du montant total de la transaction depuis la demande V9 Obligatoire
approvedAmount String (chaîne) Montant de paiement reçu / approuvé V9 Conditionnel
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 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 masqué (PAN) V21 Conditionnel
completed String (chaîne) "true" (vrai) ou "false" (faux) V5 Obligatoire
receipt String (chaîne) Données du reçu financier envoyées en utilisant l’encodage ISO-8895-1 V4000 Conditionnel
receiptChoice String (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. V10 Conditionnel
terminalId String (chaîne) ID du terminal de destination F8 Obligatoire
dccOptIn String (chaîne) Ce champ indique une transaction de conversion dynamique de devise (DCC) V5 Optionnel
installmentOptIn String (chaîne) Ce champ indique une transaction de paiement par versements Visa V5 Optionnel
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": "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.


Cette page vous a-t-elle aidé ?