Guides
Log In
Guides

Obtenir le hachage (Appareil IM30 uniquement)

Vue d'ensemble

La transaction Get Hash (obtenir le hachage) est utilisée pour récupérer la valeur de hachage d’une carte. Au lieu de stocker les détails bruts d’une carte, le commerçant utilise le hachage comme jeton pour référencer la carte de manière sécurisée. Le hachage garantit que les données de carte ne sont pas exposées lors de l’autorisation, réduisant ainsi le risque d’interception.


📘

Remarque

  • Le PAN masqué comportera toujours les 6 premiers et les 4 derniers chiffres.
  • hashValueSecondary (valeur de hachage secondaire) sera présent dans la réponse uniquement pendant la période de grâce et lorsque le champ newHash (nouveau hachage) (facultatif) n’est pas présent ou défini à false (valeur booléenne fausse).
  • Other (autre) désigne tout type de carte non reconnu par le terminal (ex. : carte-cadeau ou plan de carte pris en charge par l’application mais non activé par la synchronisation avec l’hôte Moneris).
  • Ce champ est toujours renvoyé lorsque le champ facultatif hashValueSecondary est présent dans la réponse.

Structure de la requête

ElementTypeDescriptionSizeRequired
apiVersionString (chaîne)Numéro de version de l’APIV20Obligatoire
istConfigCodeString (chaîne)Code de configuration d’intégration fourni par MonerisV50Obligatoire
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
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter les demandes en doubleV50Obligatoire
linkIdString (chaîne)ID utilisé pour regrouper les transactions liéesV50Optionnel
terminalIdString (chaîne)ID du terminal de destinationF8Optionnel
actionString (chaîne)"getHash"V50Obligatoire
progressStatusString (chaîne)Si la valeur est définie sur « True », le terminal renverra la progression à le PDV
Remarque : Cette fonctionnalité est uniquement disponible en intégration directe
V5Optionnel
newHashString (chaîne)« true » ou « false »V5Optionnel
displayMessageString (chaîne)Message à afficher. Utiliser « \n » pour insérer un saut de ligne dans le message
Remarque : Les commerçants doivent vérifier comment le message est affiché à l’écran. Les messages de plus de 5 lignes peuvent ne pas s’afficher correctement sur le terminal
V200Optionnel
timeoutString (chaîne)Valeur de délai d’expiration (en secondes) pour la commande getHash.

Le terminal expirera et reviendra à l’état inactif si :

- cette valeur a été atteinte

- ou un redémarrage PCI est sur le point d’avoir lieu

- ou la transaction est annulée par le PDV

- ou la transaction est annulée par le titulaire de la carte

Valeur maximale : 86400 (24 heures)

Valeur minimale : 30 (par défaut)

Remarque : la valeur doit être un multiple de 30
V5Optionnel
{
   "apiVersion":"3.0",
   "istConfigCode":"example_istConfigCode",
   "dataId":"example_dataId",
   "dataTimestamp":"1969-12-31 23:59:59",
   "data":{
      "request":[
         {
            "idempotencyKey":"example_idempotencyKey",
            "action":"getHash"
         }
      ]
   }
}

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 code d’état (statusCode)V50Obligatoire
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
responseArray (tableau)Contient les données applicables à la demande de transaction
idempotencyKeyString (chaîne)Identifiant unique de transaction pour éviter les demandes en doubleV50Obligatoire
linkIdString (chaîne)ID utilisé pour regrouper les transactions liéesV50Obligatoire
actionString (chaîne)"getHash"V50Obligatoire
statusCodeString (chaîne)Code d’état pour la demande individuelleV4Obligatoire
statusString (chaîne)Description du code d’état individuel (statusCode)V50Obligatoire
tenderTypeString (chaîne)Type de paiement : Crédit, Débit, AutreV50Obligatoire
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
maskedPanString (chaîne)Numéro de compte principal masqué (PAN)V21Conditionnel
hashValueString (chaîne)La chaîne de caractères qui identifie de manière unique la carte présentée au terminalF64Obligatoire
hashValueSecondaryString (chaîne)Ceci est une valeur de hachage de secoursF64Optionnel
gracePeriodRemainingString (chaîne)Indique le nombre de jours pendant lesquels le terminal renverra deux valeurs de hachage (HASH)V2Conditionnel
completedString (chaîne)« true » ou « false »V5Obligatoire
entryModeString (chaîne)Les valeurs valides sont : Insérer, Glisser, TaperV21Conditionnel
terminalIdString (chaîne)ID du terminal de destinationF8Optionnel
{
   "apiVersion":"3.0",
   "statusCode":"example_statusCode",
   "status":"example_status",
   "dataId":"example_dataId",
   "dataTimestamp":"1969-12-31 23:59:59",
   "data":{
      "response":[
         {
            "transactionId":"example_transactionId",
            "statusCode":"example_statusCode",
            "status":"example_status",
            "idempotencyKey":"example_idempotencyKey",
            "completed":"true",
            "tenderType":"example_tenderType",
            "cardType":"example_cardType",
            "authCode":"example_authCode",
            "maskedPan":"example_maskedPan",
            "hashValue":"example_hashValue",
            "entryMode":"example_entryMode",
            "action":"getHash",
            "terminalId":"example_terminalId"
         }
      ]
   }
}

Erreurs

Si votre réponse contient des erreurs, consultez la page Erreurs pour une description détaillée de chacune.