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.
REMARQUE
La préautorisation n’est pas prise en charge sur Interac.
Structure de la requête
| Élément | Type | Description | Taille | Obligatoire |
|---|---|---|---|---|
| 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 |
{
"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ément | Type | Description | Taille | Obligatoire |
|---|---|---|---|---|
| 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 |
{
"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.

