---
updatedAt: 2026-08-14T03:37:37.000Z
agentTools:
  projectIndex: https://developer.moneris.com/moneris-api/fr/llms.txt
---

# Annuler le consentement de paiement KONEK

Cette API est appelée par le commerçant pour annuler un consentement du système KONEK. Cela est nécessaire lorsque le client annule une commande auprès du commerçant.

# Définition OpenAPI

```json
{
  "openapi": "3.0.3",
  "info": {
    "version": "2.15.1",
    "title": "API de Moneris",
    "description": "Plateforme des API de Moneris\n\n\n\n[<img src=\"https://run.pstmn.io/button.svg\" alt=\"Exécuter Dans Postman\" style=\"width: 128px; height:32px;\">](https://god.gw.postman.com/run-collection/25575461-f04750a0-88e9-4c83-8b58-a3aff15eeea8?action=collection%2Ffork&collection-url=entityId%3D25575461-f04750a0-88e9-4c83-8b58-a3aff15eeea8%26entityType%3Dcollection%26workspaceId%3D5d2a9a0f-57a7-441c-b2af-fe6315e80a08)",
    "termsOfService": "https://www.moneris.com/fr-ca/juridiques/conditions-utilisation",
    "contact": {
      "url": "https://api-developer.moneris.com",
      "email": "api@moneris.com"
    },
    "license": {
      "name": "Moneris",
      "url": "https://developer.moneris.com/Agreements/Terms%20of%20Use"
    },
    "x-audience": "external-public"
  },
  "servers": [
    {
      "url": "https://api.sb.moneris.io",
      "description": "Serveur de test (utilise des données de test)"
    },
    {
      "url": "https://api.moneris.io",
      "description": "Serveur de production (utilise des données réelles)"
    }
  ],
  "tags": [
    {
      "name": "KONEK",
      "description": "APIs KONEK pour les commerçants - Gestion des consentements"
    }
  ],
  "paths": {
    "/konek/payment-consents/{konek-payment-consent-id}/cancel": {
      "parameters": [
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/konekPaymentConsentId"
        },
        {
          "$ref": "#/components/parameters/merchantId"
        }
      ],
      "post": {
        "summary": "Annuler le consentement de paiement KONEK",
        "description": "Cette API est appelée par le commerçant pour annuler un consentement du système KONEK. Cela est nécessaire lorsque le client annule une commande auprès du commerçant.",
        "operationId": "cancelKonekPaymentConsentById",
        "security": [
          {
            "OAuth2": [
              "payment.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "KONEK"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cancelConsentRequest"
              },
              "examples": {
                "cancelConsent": {
                  "$ref": "#/components/examples/cancelConsentRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/cancelConsentSuccessResponse"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "422": {
            "$ref": "#/components/responses/cancelPaymentUnprocessableContentResponse"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key",
        "description": "Une clé API est un jeton fourni par un client lors de ses appels API.\n\nLes clés API sont censées être un secret que seuls le client et le serveur connaissent.\n"
      },
      "OAuth2": {
        "type": "oauth2",
        "description": "OAuth 2.0 est un protocole d'autorisation qui donne à un client API un accès limité aux données utilisateur sur un serveur Web.\n\nOAuth s'appuie sur des scénarios d'authentification qui permettent au propriétaire de la ressource (utilisateur) de partager le contenu protégé du serveur hébergeant la ressource, sans partager ses informations d'identification. À cette fin, un serveur OAuth 2.0 émet des jetons d'accès que les applications clientes peuvent utiliser pour accéder aux ressources protégées au nom du propriétaire de la ressource.\n\nMoneris recommande l'utilisation d'OAuth 2.0 car il fournit des niveaux d'autorisation précis.\n",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/oauth2/token",
            "scopes": {
              "payment.read": "accorde un accès en lecture aux API liées au paiement",
              "payment.write": "accorde un accès en lecture et en écriture aux API liées au paiement",
              "refund.read": "accorde un accès en lecture aux remboursements",
              "refund.write": "accorde un accès en lecture et en écriture aux remboursements",
              "customer.read": "accorde un accès en lecture aux données client",
              "customer.write": "accorde un accès en lecture et en écriture aux données client",
              "kount.read": "accorde un accès en lecture aux demandes Kount",
              "kount.write": "accorde un accès en lecture et en écriture aux demandes Kount",
              "onboarding.merchant.read": "Accorde un accès en lecture aux API liées à l'intégration des commerçants",
              "onboarding.merchant.write": "Accorde un accès en lecture et en écriture aux API liées à l'intégration des commerçants",
              "onboarding.order.read": "Accorde un accès en lecture aux API liées aux commandes d'intégration",
              "onboarding.order.write": "Accorde un accès en lecture et en écriture aux API liées aux commandes d'intégration",
              "dispute.read": "Accorde un accès en lecture aux API liées aux litiges",
              "dispute.write": "Accorde un accès en lecture et en écriture aux API liées aux litiges",
              "payout.write": "Accorde un accès en lecture et en écriture aux API liées aux versements"
            }
          }
        }
      }
    },
    "schemas": {
      "apiVersion": {
        "description": "Version de l’API du point de terminaison. \n\nDoit être fourni par le biais d’en-têtes.\n",
        "type": "string",
        "example": "2026-08-14",
        "default": "2026-08-14"
      },
      "merchantId": {
        "type": "string",
        "description": "Identification de treize caractères fournie aux marchands par Moneris. \n",
        "minLength": 13,
        "maxLength": 13,
        "example": "0123456789101"
      },
      "idempotencyKey": {
        "type": "string",
        "description": "Identificateur unique requis pour le traitement des demandes idempotentes. \n\nRemarque : Moneris encourage l’utilisation de la version 4 de l’UUID dans les API comme clé d’idempotence.    \n",
        "minLength": 1,
        "maxLength": 36,
        "example": "b3e1f8c2-4d2a-4e6b-9c1a-2f3e4d5b6a7c"
      },
      "konekMerchantId": {
        "type": "string",
        "description": "ID de marchand unique attribué par Konek lors de l'intégration du marchand. **Conditionnel :** Dans la demande de création de consentement, ce champ est conditionnellement requis si le jeton est un agrégateur de marchands/acquéreur.",
        "minLength": 10,
        "maxLength": 50,
        "example": "d0d9c3f92dad40328afa812a198510fc"
      },
      "amount": {
        "type": "integer",
        "format": "int32",
        "minimum": 0,
        "maximum": 999999999,
        "example": 10000,
        "description": "Montant"
      },
      "currency": {
        "type": "string",
        "description": "Fournit le code monétaire à trois lettres selon la norme ISO 4217. \n\nPour obtenir la liste complète des codes de devise, rendez-vous sur : https://en.wikipedia.org/wiki/ISO_4217\n",
        "minLength": 3,
        "maxLength": 4,
        "example": "CAD",
        "format": "iso-4217"
      },
      "orderItem": {
        "title": "orderItem",
        "description": "La transaction représente un achat unique ou récurrent dans une commande.",
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "description": "le nom d'un article tel que spécifié par le marchand.",
            "maxLength": 100,
            "nullable": true
          },
          "itemReference": {
            "type": "string",
            "description": "Une valeur unique pour identifier la transaction.",
            "maxLength": 100,
            "nullable": true
          },
          "itemPaymentType": {
            "description": "Type de transaction dans la commande, notez que `SPLIT` n'est pas valide dans la transaction de commande.",
            "type": "string",
            "enum": [
              "SINGLE",
              "SPLIT",
              "RECURRING"
            ],
            "example": "SINGLE"
          },
          "amount": {
            "description": "Montant de la transaction, dans le cas de RECURRING, ce montant serait le montant du paiement récurrent.",
            "type": "object",
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/amount"
              },
              "currency": {
                "$ref": "#/components/schemas/currency"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "example": {
              "amount": 16000,
              "currency": "CAD"
            }
          },
          "quantity": {
            "description": "Quantité de l'article.",
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "description": "Une brève description de l'article de ligne.",
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "recurringInformation": {
            "nullable": true,
            "title": "recurringInformation",
            "description": "Spécifie les fréquences et les limites de la commande récurrente et doit être présent si le `itemPaymentType est RECURRING`.",
            "type": "object",
            "properties": {
              "amountCapped": {
                "description": "Spécifie le montant maximum que le client peut être facturé par cycle de facturation pour RECURRING.",
                "nullable": true,
                "type": "object",
                "properties": {
                  "amount": {
                    "$ref": "#/components/schemas/amount"
                  },
                  "currency": {
                    "$ref": "#/components/schemas/currency"
                  }
                },
                "required": [
                  "amount",
                  "currency"
                ],
                "example": {
                  "amount": 16000,
                  "currency": "CAD"
                }
              },
              "amountVariance": {
                "type": "number",
                "format": "double",
                "description": "Spécifie en % la variance acceptée dans le montant par cycle de facturation pour RECURRING.",
                "nullable": true,
                "minimum": 0.01,
                "maximum": 100,
                "example": 2.5
              },
              "dayOfMonth": {
                "description": "Jour du mois où le paiement RECURRING a lieu. Requis si les deux conditions suivantes sont remplies : * `frequencyType` est `MONTH` * `dayOfWeek` ou `dayOfMonth` n'est pas spécifié   ",
                "type": "integer",
                "format": "int32",
                "nullable": true,
                "minimum": 1
              },
              "dayOfWeek": {
                "type": "string",
                "description": "Jour de la semaine où le paiement RECURRING a lieu. Requis si l'une des conditions suivantes est remplie : * `frequencyType` est `WEEK` * `frequencyType` est `MONTH` et `dayOfMonth` n'est pas spécifié    ",
                "nullable": true,
                "enum": [
                  "SUN",
                  "MON",
                  "TUE",
                  "WED",
                  "THU",
                  "FRI",
                  "SAT"
                ],
                "example": "SUN"
              },
              "endDate": {
                "type": "string",
                "description": "Date de fin du paiement RECURRING.",
                "format": "date-time",
                "nullable": true,
                "example": "2021-04-04T04:04:04Z"
              },
              "frequencyRate": {
                "type": "integer",
                "format": "int32",
                "description": "L'intervalle d'attente entre les paiements pour les transactions RECURRING.",
                "nullable": true,
                "minimum": 1,
                "maximum": 50
              },
              "frequencyType": {
                "type": "string",
                "description": "Fréquence des paiements dans le cycle de facturation pour RECURRING.",
                "enum": [
                  "DAY",
                  "WEEK",
                  "MONTH",
                  "END_OF_MONTH"
                ],
                "example": "DAY",
                "nullable": true
              },
              "maxNumberOfPayments": {
                "type": "integer",
                "format": "int32",
                "description": "Nombre total de paiements dans la configuration RECURRING.",
                "minimum": 1,
                "maximum": 99,
                "nullable": true
              },
              "recurringType": {
                "type": "string",
                "description": "La nature spécifique de la transaction récurrente que le client initie.",
                "enum": [
                  "SUBSCRIPTION",
                  "TOP_UP",
                  "PAY_AS_YOU_GO",
                  "EBP"
                ],
                "example": "SUBSCRIPTION",
                "nullable": true
              },
              "startDate": {
                "type": "string",
                "description": "Date de début du paiement RECURRING. Par défaut, l'heure actuelle est utilisée si elle est laissée vide.",
                "format": "date-time",
                "example": "2021-04-04T04:04:04Z",
                "nullable": true
              },
              "weekOfMonth": {
                "type": "string",
                "description": "Week of month that the RECURRING payment occurs on. Required if both:\n  * `frequencyType` is `MONTH`\n  * `dayOfWeek` is specified and `dayOfMonth` is not specified",
                "enum": [
                  "FIRST",
                  "SECOND",
                  "THIRD",
                  "FOURTH",
                  "LAST"
                ],
                "nullable": true,
                "example": "FIRST"
              }
            },
            "required": [
              "frequencyType"
            ]
          },
          "itemType": {
            "nullable": true,
            "type": "string",
            "description": "Type d'article dans la carte ;  \n`GIFT_CARD` - Carte-cadeau  \n`CRYPTO_CURRENCY` - Crypto-monnaie  \n`TOP_UP` - Recharge de portefeuille numérique  \n`OTHER` - Autres articles\n",
            "enum": [
              "GIFT_CARD",
              "CRYPTO_CURRENCY",
              "TOP_UP",
              "OTHER"
            ],
            "example": "GIFT_CARD"
          }
        },
        "required": [
          "itemPaymentType",
          "amount"
        ]
      },
      "orderDetails": {
        "title": "orderDetails",
        "description": "Order details from the merchant for the consent",
        "type": "object",
        "properties": {
          "merchantOrderReference": {
            "type": "string",
            "description": "Une valeur unique pour identifier la commande ou le panier.",
            "maxLength": 100
          },
          "merchantCustomerReference": {
            "nullable": true,
            "type": "string",
            "description": "Identification unique du client. Il peut s'agir d'un identifiant généré à partir d'un identifiant défini par le marchand.",
            "example": "911677-212",
            "minLength": 1,
            "maxLength": 50
          },
          "placementMode": {
            "type": "string",
            "description": "Mode de placement.",
            "enum": [
              "STANDARD",
              "EXPRESS"
            ],
            "example": "STANDARD"
          },
          "shipmentType": {
            "type": "string",
            "description": "Indique comment la marchandise sera expédiée au client.",
            "enum": [
              "SINGLE",
              "SPLIT",
              "NONE"
            ],
            "example": "SINGLE"
          },
          "items": {
            "type": "array",
            "description": "Une liste des articles de commande et de leurs configurations récurrentes, le cas échéant. Un maximum de 100 articles est autorisé.",
            "items": {
              "$ref": "#/components/schemas/orderItem"
            },
            "maxItems": 100
          }
        },
        "required": [
          "shipmentType",
          "placementMode",
          "items",
          "merchantOrderReference"
        ],
        "x-ii18n-description-fr": "Détails de la commande du marchand pour le consentement."
      },
      "dataField": {
        "description": "Liste de paires nom/valeur contenant des facteurs de frais supplémentaires.",
        "type": "object",
        "required": [
          "name",
          "amount"
        ],
        "properties": {
          "name": {
            "description": "Nom",
            "type": "string",
            "maxLength": 100
          },
          "amount": {
            "description": "Tout montant de frais supplémentaire inclus par le marchand. Le montant peut varier de la valeur minimale à la valeur maximale spécifiée avec l'élément de données de montant.",
            "type": "object",
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/amount"
              },
              "currency": {
                "$ref": "#/components/schemas/currency"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "example": {
              "amount": 16000,
              "currency": "CAD"
            }
          }
        }
      },
      "additionalFees": {
        "description": "Liste des éléments de frais supplémentaires.",
        "type": "array",
        "maxItems": 100,
        "items": {
          "$ref": "#/components/schemas/dataField"
        }
      },
      "orderPayment": {
        "title": "orderPayment",
        "description": "Payment details of the order, in the case of recurring setups this field represents the first payment of the order.",
        "type": "object",
        "properties": {
          "subTotalAmount": {
            "description": "Sous-total de la commande.",
            "nullable": true,
            "type": "object",
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/amount"
              },
              "currency": {
                "$ref": "#/components/schemas/currency"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "example": {
              "amount": 16000,
              "currency": "CAD"
            }
          },
          "shippingCost": {
            "description": "Frais d'expédition de la commande.",
            "nullable": true,
            "type": "object",
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/amount"
              },
              "currency": {
                "$ref": "#/components/schemas/currency"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "example": {
              "amount": 16000,
              "currency": "CAD"
            }
          },
          "totalTaxAmount": {
            "description": "Taxe totale calculée pour la commande.",
            "nullable": true,
            "type": "object",
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/amount"
              },
              "currency": {
                "$ref": "#/components/schemas/currency"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "example": {
              "amount": 16000,
              "currency": "CAD"
            }
          },
          "amount": {
            "description": "Montant du premier paiement de la commande. Le montant peut être de 0 si l'article de la commande contient RECURRING pour prendre en charge un scénario où d'autres méthodes de paiement telles que les cartes-cadeaux peuvent être utilisées pour le paiement initial. Sinon, il doit s'agir d'une valeur supérieure à 0.",
            "type": "object",
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/amount"
              },
              "currency": {
                "$ref": "#/components/schemas/currency"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "example": {
              "amount": 16000,
              "currency": "CAD"
            }
          },
          "additionalFees": {
            "$ref": "#/components/schemas/additionalFees"
          }
        },
        "required": [
          "amount"
        ],
        "x-ii18n-description-fr": "Détails de paiement de la commande, dans le cas de configurations récurrentes, ce champ représente le premier paiement de la commande."
      },
      "consentCreate": {
        "title": "ConsentCreate",
        "type": "object",
        "properties": {
          "konekMerchantId": {
            "$ref": "#/components/schemas/konekMerchantId"
          },
          "order": {
            "$ref": "#/components/schemas/orderDetails"
          },
          "payment": {
            "$ref": "#/components/schemas/orderPayment"
          }
        },
        "required": [
          "konekMerchantId",
          "order",
          "payment"
        ]
      },
      "contactFields": {
        "description": "Champs de contact pouvant être demandés par le marchand.",
        "type": "string",
        "enum": [
          "NAME",
          "EMAIL",
          "PHONE",
          "SHIPPING_ADDRESS",
          "IDENTITY_VERIFICATION_AGE",
          "IDENTITY_VERIFICATION_RESIDENCE_POSTAL_CODE"
        ],
        "example": "NAME"
      },
      "accountType": {
        "type": "string",
        "description": "Le type de compte pour le paiement",
        "enum": [
          "BANK_ACCOUNT_SAVINGS",
          "BANK_ACCOUNT_CHEQUING",
          "BANK_ACCOUNT_LINE_OF_CREDIT",
          "VISA_CREDIT",
          "VISA_DEBIT",
          "MASTERCARD_CREDIT",
          "MASTERCARD_DEBIT",
          "AMEX_CREDIT"
        ],
        "example": "BANK_ACCOUNT_SAVINGS"
      },
      "paymentConsentId": {
        "type": "string",
        "description": "Identifiant unique du consentement de paiement dans KONEK. Attribué par KONEK.",
        "maxLength": 36,
        "example": "ada78940-643e-4d70-be14-3bbb36992095"
      },
      "deviceProfileSessionId": {
        "type": "string",
        "description": "Un identifiant unique généré par le serveur pour initier le profilage des appareils.",
        "maxLength": 50,
        "example": "ada78940-643e-4d70-be14-3bbb36992095"
      },
      "address": {
        "type": "object",
        "description": "L’adresse postale, y compris la rue, la ville, la province et le code postal.\nEn option, un numéro d’unité peut être fourni.\n",
        "properties": {
          "unitNumber": {
            "nullable": true,
            "type": "string",
            "description": "Numéro d’unité",
            "minLength": 1,
            "maxLength": 19,
            "example": "123A"
          },
          "streetNumber": {
            "nullable": true,
            "type": "string",
            "description": "Numéro de rue",
            "minLength": 1,
            "maxLength": 19,
            "example": "3300"
          },
          "streetName": {
            "nullable": true,
            "type": "string",
            "description": "Nom de la rue",
            "minLength": 1,
            "maxLength": 100,
            "example": "Bloor"
          },
          "city": {
            "nullable": true,
            "type": "string",
            "description": "Identifie la ville.\n",
            "minLength": 1,
            "maxLength": 50,
            "example": "Toronto"
          },
          "province": {
            "nullable": true,
            "type": "string",
            "description": "Code ISO 3166-2 de la province ou de l’État ",
            "minLength": 1,
            "maxLength": 3,
            "format": "iso-3166-2",
            "example": "ON"
          },
          "postalCode": {
            "nullable": true,
            "type": "string",
            "description": "Code postal",
            "minLength": 1,
            "maxLength": 30,
            "example": "M8X 2X2"
          },
          "country": {
            "nullable": true,
            "type": "string",
            "description": "Fournit le code de pays à deux lettres selon la norme ISO 3166-1 alpha-2. \nPour obtenir la liste complète des codes de pays, consultez le site : https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.\n",
            "minLength": 2,
            "maxLength": 2,
            "example": "CA",
            "format": "iso-3166"
          }
        },
        "example": {
          "unitNumber": "123A",
          "streetNumber": "3300",
          "streetName": "Bloor Street West",
          "city": "Toronto",
          "province": "ON",
          "postalCode": "M8X 2X2",
          "country": "CA"
        }
      },
      "storeAddress": {
        "description": "Adresse du magasin.",
        "allOf": [
          {
            "$ref": "#/components/schemas/address"
          },
          {
            "type": "object",
            "properties": {
              "ruralPostalAddress": {
                "type": "string",
                "description": "Specifies Rural Route or PO Box number",
                "maxLength": 100,
                "nullable": true,
                "example": "PO BOX 4001 STN A"
              }
            }
          }
        ]
      },
      "shippingAddress": {
        "allOf": [
          {
            "$ref": "#/components/schemas/storeAddress"
          },
          {
            "type": "object",
            "required": [
              "recipientName"
            ],
            "properties": {
              "recipientName": {
                "type": "string",
                "description": "Nom du destinataire.",
                "minLength": 1,
                "maxLength": 100
              },
              "shippingAddressReference": {
                "description": "Identifiant unique de l'adresse de livraison.",
                "nullable": true,
                "type": "string",
                "format": "uuid"
              },
              "addressLine1": {
                "description": "Fait référence à la première ligne de l'adresse. Ceci est ajouté pour prendre en charge des cas comme 'C/O', etc.",
                "nullable": true,
                "type": "string",
                "maxLength": 100
              }
            }
          }
        ]
      },
      "userAuthMethod": {
        "type": "string",
        "description": "Spécifie la méthode utilisée pour authentifier l'utilisateur, les valeurs valides sont ; `FI_AUTH` - Le client est authentifié par FI `PARTNER_FI_AUTH` - Le client est authentifié par le partenaire FI `USER_SENSED_BIOMETRIC` - Le client est authentifié par KONEK `USER_SENSED_PASSCODE` - *DÉPRÉCIÉ* Le client est authentifié à l'aide du code d'accès WebAuthN",
        "enum": [
          "FI_AUTH",
          "PARTNER_FI_AUTH",
          "USER_SENSED_BIOMETRIC",
          "USER_SENSED_PASSCODE"
        ],
        "example": "FI_AUTH"
      },
      "customerInfoForMerchant": {
        "description": "Informations sur le client pour le marchand.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Nom de l'utilisateur, disponible si le marchand l'a demandé.",
            "nullable": true,
            "minLength": 1,
            "maxLength": 100
          },
          "email": {
            "nullable": true,
            "type": "string",
            "format": "email",
            "description": "Contient l’adresse e-mail du client.\n\nPour connaître les protocoles de courrier électronique standard, consultez : https://www.rfc-editor.org/rfc/rfc5322\n",
            "minLength": 1,
            "maxLength": 320,
            "example": "moneris@moneris.com"
          },
          "phoneNumber": {
            "nullable": true,
            "type": "string",
            "description": "Numéro de téléphone.",
            "pattern": "^\\+[1-9]\\d{1,14}$",
            "minLength": 3,
            "maxLength": 16,
            "example": "+18663197450"
          },
          "authMethod": {
            "$ref": "#/components/schemas/userAuthMethod"
          },
          "userType": {
            "type": "string",
            "description": "Spécifie le type d'utilisateur dans le système KONEK.",
            "enum": [
              "GUEST",
              "REGISTERED"
            ],
            "example": "GUEST"
          },
          "identityVerificationAge": {
            "description": "Âge du client, présent uniquement si le marchand a demandé IDENTITY_VERIFICATION_AGE.",
            "type": "number",
            "nullable": true,
            "format": "float"
          },
          "identityVerificationResidencePostalCode": {
            "description": "Code postal de résidence du client, présent uniquement si le marchand a demandé IDENTITY_VERIFICATION_RESIDENCE_POSTAL_CODE.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "authMethod",
          "userType"
        ]
      },
      "modifiedAt": {
        "nullable": true,
        "description": "Heure à laquelle l’objet a été modifié",
        "type": "string",
        "format": "date-time",
        "example": "2019-07-30T06:43:40.252Z"
      },
      "consentStatus": {
        "title": "consentStatus",
        "description": "Statut du consentement dans le système KONEK.",
        "type": "string",
        "enum": [
          "REQUESTED",
          "DECLINED",
          "GRANTED",
          "STEPUP",
          "APPROVED",
          "DENIED",
          "TOKENIZED",
          "REVOKED"
        ],
        "example": "REQUESTED"
      },
      "tokenState": {
        "description": "État du jeton.",
        "enum": [
          "REQUESTED",
          "ACTIVE",
          "SUSPENDED",
          "DELETED"
        ],
        "type": "string",
        "example": "REQUESTED"
      },
      "paymentConsent": {
        "description": "Données de consentement de paiement pour le marchand.",
        "title": "paymentConsent",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "paymentConsentId": {
                "$ref": "#/components/schemas/paymentConsentId"
              },
              "deviceProfileSessionId": {
                "$ref": "#/components/schemas/deviceProfileSessionId"
              }
            },
            "required": [
              "paymentConsentId",
              "deviceProfileSessionId"
            ]
          },
          {
            "$ref": "#/components/schemas/consentCreate"
          },
          {
            "type": "object",
            "properties": {
              "shippingAddress": {
                "$ref": "#/components/schemas/shippingAddress"
              },
              "customerInfo": {
                "$ref": "#/components/schemas/customerInfoForMerchant"
              },
              "createdAt": {
                "description": "Date et heure UTC auxquelles le consentement a été demandé et créé dans le système KONEK.",
                "type": "string",
                "format": "date-time",
                "example": "2019-07-30T06:43:40.252Z"
              },
              "modifiedAt": {
                "$ref": "#/components/schemas/modifiedAt"
              },
              "consentStatus": {
                "$ref": "#/components/schemas/consentStatus"
              },
              "tokenMetadata": {
                "nullable": true,
                "description": "Métadonnées de jeton.",
                "type": "object",
                "properties": {
                  "tokenPrimaryAccountNumberLastDigits": {
                    "nullable": true,
                    "type": "string",
                    "description": "Derniers 4 chiffres du PAN du jeton.",
                    "maxLength": 4,
                    "example": "3579"
                  },
                  "accountLastDigits": {
                    "type": "string",
                    "description": "Derniers 4 chiffres du numéro de carte ou de compte.",
                    "nullable": true,
                    "maxLength": 4,
                    "example": "1234"
                  },
                  "accountType": {
                    "$ref": "#/components/schemas/accountType"
                  },
                  "tokenState": {
                    "$ref": "#/components/schemas/tokenState"
                  }
                },
                "required": [
                  "tokenState",
                  "accountType"
                ]
              },
              "cancellationReference": {
                "nullable": true,
                "type": "string",
                "description": "Référence d'identification unique de la demande d'annulation du consentement, disponible si le statut = REVOKED, attribué par FI ou le marchand.",
                "maxLength": 36
              },
              "authOn": {
                "nullable": true,
                "description": "Date et heure auxquelles le consentement a été autorisé.",
                "type": "string",
                "format": "date-time",
                "example": "2019-07-30T06:43:40.252Z"
              },
              "cancelledOn": {
                "nullable": true,
                "description": "Date et heure auxquelles le consentement a été annulé par FI ou le marchand.",
                "type": "string",
                "format": "date-time",
                "example": "2019-07-30T06:43:40.252Z"
              },
              "cancelledBy": {
                "nullable": true,
                "type": "string",
                "description": "Spécifie l'entité qui a demandé la suppression du consentement.",
                "enum": [
                  "FI",
                  "MERCHANT"
                ],
                "example": "FI"
              },
              "merchantRequiredContactFields": {
                "type": "array",
                "description": "Spécifie la liste des champs de contact requis du client.",
                "items": {
                  "$ref": "#/components/schemas/contactFields"
                },
                "uniqueItems": true,
                "maxItems": 6
              },
              "merchantSupportedPaymentMethods": {
                "type": "array",
                "description": "Spécifie la liste des types de compte de méthode de paiement que le marchand prend en charge pour la transaction.",
                "items": {
                  "$ref": "#/components/schemas/accountType"
                },
                "maxItems": 20,
                "example": [
                  "BANK_ACCOUNT",
                  "VISA_CREDIT"
                ]
              }
            },
            "required": [
              "consentStatus",
              "createdAt",
              "modifiedAt",
              "customerInfo"
            ]
          }
        ]
      },
      "parameterError": {
        "title": "Parameter error",
        "description": "Erreur liée à la propriété ou à l’en-tête de la demande.",
        "type": "object",
        "properties": {
          "parameterName": {
            "type": "string",
            "description": "Nom de la propriété ou de l’en-tête. Peut contenir des chemins imbriqués séparés par '.'",
            "example": "address.postalCode"
          },
          "parameterValue": {
            "type": "string",
            "nullable": true,
            "description": "Représentation de chaîne de valeur de propriété ou d’en-tête.",
            "example": "MAP3J8"
          },
          "reasonCode": {
            "type": "string",
            "description": "Raison qui a déclenché l’erreur.",
            "enum": [
              "INVALID_FORMAT",
              "REQUIRED_FIELD",
              "INVALID_VALUE"
            ],
            "example": "INVALID_FORMAT"
          },
          "errorMessage": {
            "type": "string",
            "description": "Description lisible de l'erreur.",
            "nullable": true,
            "example": "String 'MAP3J8' does not match the postal code pattern."
          }
        },
        "required": [
          "parameterName",
          "reasonCode"
        ]
      },
      "error": {
        "description": "Détails de la réponse d’erreur.",
        "properties": {
          "type": {
            "description": "Référence d’URI qui identifie le type de problème.  Idéalement, il devrait s’agir d’une URL stable pour la documentation des détails sur ce type d’erreur, mais il peut également s’agir d’un URN.  Si rien ne peut être fourni, une valeur « about :blank » est renvoyée.\n",
            "type": "string",
            "format": "uri",
            "example": "https://api-developer.moneris.com/responsehandling"
          },
          "title": {
            "description": "Un résumé court et lisible par l’homme du type de problème.   Il NE DEVRAIT PAS changer d’une occurrence à l’autre du problème, sauf à des fins de localisation\n",
            "type": "string",
            "example": "INSUFFICIENT_FUNDS",
            "nullable": true
          },
          "status": {
            "description": "il transmet le code d’état HTTP utilisé pour la commodité du consommateur.\n",
            "type": "integer",
            "format": "int32",
            "minimum": 100,
            "maximum": 505,
            "nullable": true
          },
          "detail": {
            "description": "Un message lisible par l’homme fournissant plus de détails sur l’erreur. Pour les erreurs de carte, ces messages peuvent être affichés à vos utilisateurs.\n",
            "type": "string",
            "example": "Funds are insufficient to execute the operation.",
            "nullable": true
          },
          "instance": {
            "description": "Référence d’URI qui identifie l’occurrence spécifique du problème. En règle générale, cela se résout en une ressource qui peut inclure plus de détails sur le problème.\n",
            "type": "string",
            "example": "/payments/12f3e0a8-1d68-2b86-dd30-4ca51bb66e10",
            "format": "uri-reference",
            "nullable": true
          },
          "category": {
            "description": "Type d’erreur renvoyé. \n - `API_ERROR` : cela se produit en raison d’un problème intermittent.  \n - `IDEMPOTENCY_ERROR` : la clé d’idempotence a déjà été utilisée.\n - `INVALID_REQUEST_ERROR` : les données fournies dans la demande ne sont pas valides.\n - `DECLINED_ERROR` : la transaction a été refusée par l’émetteur.\n - `UNAUTHORIZED_ERROR` : l’appelant n’est pas authentifié ou n’est pas autorisé à exécuter l’opération en cours.\n - `INTERNAL_SERVER_ERROR` : Un problème interne avec nos serveurs s’est produit.\n",
            "enum": [
              "API_ERROR",
              "IDEMPOTENCY_ERROR",
              "INVALID_REQUEST_ERROR",
              "DECLINED_ERROR",
              "UNAUTHORIZED_ERROR",
              "INTERNAL_SERVER_ERROR",
              null
            ],
            "type": "string",
            "nullable": true,
            "example": "DECLINED_ERROR"
          },
          "errors": {
            "type": "array",
            "description": "Liste des erreurs de validation lorsque la catégorie d’erreur est INVALID_REQUEST_ERROR.",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/parameterError"
            },
            "example": [
              {
                "parameterName": "address.postalCode",
                "parameterValue": "MAP3J8",
                "errorMessage": "address.Postal code does not match regular expression",
                "reasonCode": "INVALID_FORMAT"
              }
            ]
          }
        },
        "title": "API Error",
        "type": "object",
        "required": [
          "type"
        ]
      },
      "cancellationReference": {
        "type": "string",
        "description": "Référence d'identification unique de la demande d'annulation du consentement, disponible si le statut = REVOKED, attribué par FI ou le marchand.",
        "maxLength": 36
      },
      "cancelConsentRequest": {
        "title": "cancelConsentRequest",
        "description": "Demande d'annulation d'un consentement de paiement.",
        "type": "object",
        "properties": {
          "idempotencyKey": {
            "$ref": "#/components/schemas/idempotencyKey"
          },
          "cancellationReference": {
            "$ref": "#/components/schemas/cancellationReference"
          },
          "reason": {
            "description": "Spécifiez la raison de l'annulation.",
            "nullable": true,
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "idempotencyKey",
          "cancellationReference"
        ]
      }
    },
    "parameters": {
      "apiVersion": {
        "in": "header",
        "name": "Api-Version",
        "required": true,
        "example": "2024-09-17",
        "description": "Version de l’API du point de terminaison. \n\nDoit être fourni dans la section des en-têtes. \n",
        "schema": {
          "$ref": "#/components/schemas/apiVersion"
        }
      },
      "correlationId": {
        "in": "header",
        "name": "X-Correlation-Id",
        "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4",
        "description": "Corrèle une série de requêtes au sein d’un même flux.\n\nRemarque : Cet identifiant est généré par Moneris avec chaque demande ou réponse, s’il n’existe pas. \nLes commerçants doivent faire écho à la valeur avec chaque demande qui fait partie du flux d’appels.\n",
        "required": false,
        "schema": {
          "type": "string",
          "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4"
        }
      },
      "merchantId": {
        "in": "header",
        "name": "X-Merchant-Id",
        "example": "0123456789101",
        "description": "Code d’identification de treize caractères. \n\nRemarque : Ce code est fourni par Moneris et est nécessaire pour identifier le commerçant qui effectue la transaction.\n",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/merchantId"
        }
      },
      "konekPaymentConsentId": {
        "in": "path",
        "name": "konek-payment-consent-id",
        "description": "Identifiant unique du consentement de paiement au sein de KONEK. Attribué par KONEK.",
        "schema": {
          "type": "string",
          "maxLength": 36
        },
        "required": true,
        "example": "ada78940-643e-4d70-be14-3bbb36992095"
      }
    },
    "examples": {
      "IdempotencyRequestErrorResponse": {
        "value": {
          "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
          "title": "IDEMPOTENCY_KEY_ALREADY_EXISTS",
          "status": 409,
          "detail": null,
          "instance": null,
          "category": "IDEMPOTENCY_ERROR",
          "errors": []
        }
      },
      "DeclineErrorResponse": {
        "value": {
          "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
          "title": "EXCESS PIN TRIES",
          "status": 400,
          "detail": "052-38 - PIN retries exceeded",
          "instance": "/payments/20c3ee41-2560-4645-b84f-631fb08819de",
          "category": "DECLINED_ERROR",
          "errors": []
        }
      },
      "cancelConsentRequest": {
        "summary": "Cancel a KONEK payment consent",
        "description": "Cancel a KONEK payment consent using KONEK SDK",
        "value": {
          "idempotencyKey": "5d8f812e-9969-4885-85bb-d03948eccac1",
          "cancelReference": "1wwee-1122-3344-5566",
          "reason": "Customer cancelled the order"
        }
      },
      "RevokedConsentResponse": {
        "summary": "Consent With Revoked Status",
        "value": {
          "paymentConsentId": "3c62c0ba-945b-4d54-9da8-677067943afc",
          "deviceProfileSessionId": "5808...8385f",
          "konekMerchantId": "CAM0000001",
          "order": {
            "merchantOrderReference": "1695401825L1CLwAJ98p7JwAc",
            "merchantCustomerReference": "CUST-001",
            "placementMode": "STANDARD",
            "shipmentType": "SINGLE",
            "items": [
              {
                "itemName": "Wireless Mouse",
                "itemReference": "ITEM-001",
                "itemPaymentType": "RECURRING",
                "amount": {
                  "amount": 1000,
                  "currency": "CAD"
                },
                "quantity": 1,
                "description": "Ergonomic wireless mouse",
                "recurringInformation": {
                  "amountCapped": {
                    "amount": 1000,
                    "currency": "CAD"
                  },
                  "amountVariance": 0.01,
                  "dayOfMonth": 2,
                  "dayOfWeek": "SUN",
                  "endDate": "2021-04-04T04:04:04Z",
                  "frequencyRate": 1,
                  "frequencyType": "DAY",
                  "maxNumberOfPayments": 99,
                  "recurringtype": "SUBSCRIPTION",
                  "startDate": "2021-04-04T04:04:04Z",
                  "weekOfMonth": "FIRST"
                },
                "itemType": "GIFT_CARD"
              }
            ]
          },
          "paymentDetails": {
            "amount": {
              "amount": 600,
              "currency": "CAD"
            },
            "subTotalAmount": {
              "amount": 100,
              "currency": "CAD"
            },
            "shippingCost": {
              "amount": 100,
              "currency": "CAD"
            },
            "totalTaxAmount": {
              "amount": 100,
              "currency": "CAD"
            },
            "additionalFees": [
              {
                "name": "Add 1",
                "amount": {
                  "amount": 100,
                  "currency": "CAD"
                }
              },
              {
                "name": "Add 2",
                "amount": {
                  "amount": 200,
                  "currency": "CAD"
                }
              }
            ]
          },
          "shippingAddress": {
            "unitNumber": "24",
            "streetNumber": "200",
            "streetName": "Bay Street",
            "ruralPostalAddress": "PO BOX 4001 STN A",
            "city": "Toronto",
            "province": "ON",
            "postalCode": "A1AB0B",
            "country": "CA",
            "recipientName": "John Doe",
            "shippingAddressReference": "ship-001",
            "addressLine1": "123 Main St"
          },
          "customerInfo": {
            "name": "John Doe",
            "email": "john.doe@example.com",
            "phoneNumber": "1-416-555-1212",
            "authMethod": "FI_AUTH",
            "userType": "REGISTERED",
            "identityVerificationAge": 35,
            "identityVerificationResidencePostalCode": "A1A1A1"
          },
          "createdAt": "2025-11-05T10:00:00Z",
          "modifiedAt": "2025-11-05T10:05:00Z",
          "consentStatus": "REVOKED",
          "tokenMetadata": {
            "tokenPanLastDigits": "3579",
            "accountLastDigits": "1234",
            "accountType": "VISA_CREDIT",
            "tokenState": "ACTIVE"
          },
          "cancellationReference": "wwee-1122-3344-5566",
          "authorizedOn": "2025-11-05T10:01:00Z",
          "cancelledOn": "2025-11-06T10:00:00Z",
          "cancelledBy": "MERCHANT",
          "merchantRequiredContactFields": [
            "NAME",
            "EMAIL"
          ],
          "merchantSupportedAccountTypes": [
            "BANK_ACCOUNT_SAVINGS",
            "VISA_CREDIT"
          ]
        }
      },
      "InvalidPurchaseErrorResponse": {
        "summary": "Purchase already completed",
        "value": {
          "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
          "title": "INVALID_STATE",
          "status": 400,
          "detail": "Invalid purchase state",
          "instance": "/payments/20c3ee41-2560-4645-b84f-631fb08819de",
          "category": "INVALID_REQUEST_ERROR"
        }
      }
    },
    "headers": {
      "apiVersion": {
        "description": "Version de l’API du point de terminaison.",
        "example": "2026-08-14",
        "schema": {
          "type": "string"
        }
      },
      "correlationId": {
        "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4",
        "description": "Corrèle une série de requêtes au sein d’un même flux. \n\nRemarque : Cet identifiant est généré par Moneris avec chaque demande ou réponse, s’il n’existe pas, et il est recommandé au commerçant de faire écho à la valeur.  \n",
        "schema": {
          "type": "string",
          "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4"
        }
      },
      "sunset": {
        "example": "2025-07-30T06:43:40.252Z",
        "description": "Optionnel.\n\nIndique que l’URI de la ressource sera mis hors service et mis hors service à l’heure spécifiée dans le futur. \nPlus de détails sont disponibles sur [RFC 8594](https://www.rfc-editor.org/rfc/rfc8594.html)\n",
        "schema": {
          "type": "string",
          "format": "date-time",
          "example": "2025-07-30T06:43:40.252Z"
        }
      },
      "rateLimitCount": {
        "description": "Nombre maximal de requêtes que le client peut effectuer dans cette fenêtre.",
        "schema": {
          "type": "integer",
          "format": "int64"
        },
        "example": 1000
      },
      "rateLimitRemaining": {
        "description": "Le nombre de requêtes autorisées dans la fenêtre actuelle.",
        "schema": {
          "type": "integer",
          "format": "int64"
        },
        "example": 0
      },
      "rateLimitReset": {
        "description": "Temps relatif en secondes lorsque la fenêtre de limite de débit sera réinitialisée.",
        "schema": {
          "type": "integer",
          "format": "int32"
        },
        "example": 3600
      },
      "retryAfter": {
        "description": "Indique le temps que les clients doivent attendre avant de réessayer.",
        "schema": {
          "type": "integer",
          "format": "int32"
        },
        "example": 60
      }
    },
    "responses": {
      "badRequest": {
        "description": "Mauvaise demande.",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            }
          }
        }
      },
      "unauthorized": {
        "description": "Non autorisé. L’utilisateur ne dispose pas d’une clé API ou d’un jeton d’accès valide.",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string",
              "example": "Bearer, error=\"invalid_token\""
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
              "title": "UNAUTHORIZED_REQUEST",
              "status": 401,
              "detail": null,
              "instance": null,
              "category": "UNAUTHORIZED_ERROR",
              "errors": []
            }
          }
        }
      },
      "forbidden": {
        "description": "Interdit. L’utilisateur n’est pas autorisé à accéder à la ressource demandée.",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string",
              "example": "Bearer, error=\"insufficient_scope\""
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
              "title": "FORBIDDEN_REQUEST",
              "status": 403,
              "detail": null,
              "instance": null,
              "category": "UNAUTHORIZED_ERROR",
              "errors": []
            }
          }
        }
      },
      "conflict": {
        "description": "La demande n’a pas pu être terminée en raison d’un conflit avec l’état de la ressource ou la clé d’idempotence existante.",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "idempotency_error": {
                "$ref": "#/components/examples/IdempotencyRequestErrorResponse"
              }
            }
          }
        }
      },
      "tooManyRequests": {
        "description": "Trop de requêtes",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          },
          "X-RateLimit-Reset": {
            "$ref": "#/components/headers/rateLimitReset"
          },
          "Retry-After": {
            "$ref": "#/components/headers/rateLimitReset"
          }
        }
      },
      "internalServer": {
        "description": "Erreur inattendue.",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://api-developer.moneris.com/responsehandling/",
              "title": "INTERNAL_SERVER_ERROR",
              "status": 500,
              "detail": null,
              "instance": null,
              "category": "INTERNAL_SERVER_ERROR",
              "errors": []
            }
          }
        }
      },
      "serviceUnavailable": {
        "description": "Service temporairement indisponible",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "Retry-After": {
            "$ref": "#/components/headers/retryAfter"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://api-developer.moneris.com/responsehandling/",
              "title": "SERVICE_UNAVAILABLE",
              "status": 503,
              "detail": null,
              "instance": null,
              "category": "INTERNAL_SERVER_ERROR",
              "errors": []
            }
          }
        }
      },
      "notFound": {
        "description": "Introuvable.",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
              "title": "NOT_FOUND",
              "status": 404,
              "detail": null,
              "instance": "/payments/pi0105ARZ3NDEKTSV4RRFFQ69G5FAV",
              "category": "INVALID_REQUEST_ERROR",
              "errors": []
            }
          }
        }
      },
      "cancelConsentSuccessResponse": {
        "description": "Le paiement a été annulé avec succès.",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/paymentConsent"
            },
            "examples": {
              "revokedConsent": {
                "$ref": "#/components/examples/RevokedConsentResponse"
              }
            }
          }
        }
      },
      "cancelPaymentUnprocessableContentResponse": {
        "description": "Échec de l’annulation de la réponse Résultat de l’opération de paiement",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/rateLimitCount"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/rateLimitRemaining"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "declined": {
                "$ref": "#/components/examples/DeclineErrorResponse"
              },
              "invalid_request": {
                "$ref": "#/components/examples/InvalidPurchaseErrorResponse"
              }
            }
          }
        }
      }
    }
  }
}
```