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
| Element | Type | Description | Size | Required |
|---|---|---|---|---|
| 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 | V50 | 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 | ||
| 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 | Optionnel |
| terminalId | String (chaîne) | ID du terminal de destination | F8 | Optionnel |
| action | String (chaîne) | "getHash" | V50 | Obligatoire |
| progressStatus | String (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 | V5 | Optionnel |
| newHash | String (chaîne) | « true » ou « false » | V5 | Optionnel |
| displayMessage | String (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 | V200 | Optionnel |
| timeout | String (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 | V5 | Optionnel |
{
"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é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 code d’état (statusCode) | V50 | 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 | ||
| response | Array (tableau) | Contient les données applicables à la demande de transaction | ||
| 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 | Obligatoire |
| action | String (chaîne) | "getHash" | V50 | Obligatoire |
| statusCode | String (chaîne) | Code d’état pour la demande individuelle | V4 | Obligatoire |
| status | String (chaîne) | Description du code d’état individuel (statusCode) | V50 | Obligatoire |
| tenderType | String (chaîne) | Type de paiement : Crédit, Débit, Autre | 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 |
| maskedPan | String (chaîne) | Numéro de compte principal masqué (PAN) | V21 | Conditionnel |
| hashValue | String (chaîne) | La chaîne de caractères qui identifie de manière unique la carte présentée au terminal | F64 | Obligatoire |
| hashValueSecondary | String (chaîne) | Ceci est une valeur de hachage de secours | F64 | Optionnel |
| gracePeriodRemaining | String (chaîne) | Indique le nombre de jours pendant lesquels le terminal renverra deux valeurs de hachage (HASH) | V2 | Conditionnel |
| completed | String (chaîne) | « true » ou « false » | V5 | Obligatoire |
| entryMode | String (chaîne) | Les valeurs valides sont : Insérer, Glisser, Taper | V21 | Conditionnel |
| terminalId | String (chaîne) | ID du terminal de destination | F8 | Optionnel |
{
"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.

