- Directives d'intégration
- Mise en œuvre d’une intégration de Batch
Mise en œuvre d'une intégration Hosted Batch
- Accès à Mastercard Gateway
- Connaissance de vos champs de saisie
- Création d'une demande de batch
- Envoi d'une demande de batch
- Extraire le statut du batch
- Traiter la réponse du batch
- Test et passage en ligne
Fonctionnalités Mastercard Gateway prises en charge
Sécurité des paiements et prévention des fraudes
- Mots de passe et certificats
- Authentification 3-D Secure EMV
- Gestion des risques
- Service de vérification d'adresse
- Jetons de cartes stockées de la passerelle
Opérations de paiement
Méthodes de paiement
Options de paiement
- Demande d'options de paiement
- Échéanciers de paiement
- Conversion de devise dynamique
- Paiements récurrents
- Paiements échelonnés
- Paiements non planifiés
Données supplémentaires
- Données de la compagnie aérienne
- Données Internet du client
- Données de commande et de poste
- Données personnalisées de l'acquéreur
- Données personnalisées du commerçant
- Données de remboursement de dette
- Données de santé
- Données du descripteur de déclaration
- Reporting
Reporting
Autres fonctionnalités
Mise en œuvre d’une intégration de Batch
Conditions préalables
- Vérifiez que votre profil de commerçant est activé pour le service Batch.
- Avant de commencer l'intégration, voir Pratiques recommandées et conseils.
Étapes d’intégration
Étape 1 : Accès à la passerelle
Tout d'abord, vérifiez votre connectivité à Mastercard Gateway.
Étape 2 : Connaissance de vos champs de saisie
Avant de commencer à créer l'intégration, vous devez préparer les valeurs des champs de saisie.
Étape 3 : Créer une demande de lot
La création du corps de la demande est une étape essentielle dans l’intégration.
Étape 4 : Envoyer une demande de lot
Il existe de nombreux composants pour garantir l’envoi sécurisé du corps de la demande de transaction à Mastercard Gateway.
Étape 5 : Extraire le statut du lot
Une fois qu’un lot est soumis, vous pouvez périodiquement demander son état pour déterminer l’état actuel du traitement du lot.
Étape 6 : Traiter la réponse du lot
Une fois que le traitement d’un lot est terminé, vous pouvez demander un fichier de réponse contenant le résultat de chacune des opérations chargées.
Étape 7 : Test et passage en ligne
Un test vous permet de vérifier si votre intégration fonctionne comme prévu.
Dépannage et questions fréquentes
Oui, vous pouvez utiliser plusieurs profils de commerçants dans une seule demande de lot si vous pouvez garantir que les informations d'identification de l'opération (identificateur du commerçant et mot de passe d'authentification) pour chaque ligne d'enregistrement de l'opération sont valides pour permettre une authentification et une autorisation réussies.
Par défaut, pour chaque opération d'un lot, les informations d'indentification d'opération utilisent les informations d'authentification fournies dans l'en-tête de requête du lot (identificateur et mot de passe du commerçant). Vous pouvez choisir d'utiliser le mécanisme par défaut ou de fournir les informations d'identification de l'opération pour chaque ligne d'enregistrement de l'opération. Pour la dernière option, l'authentification de l'opération utilise les informations d'identification de niveau de l'opération et ne sélectionne pas par défaut les informations d'identification de chargement de lot. Si les informations d'identification au niveau de l'opération sont incorrectes, le chargement du lot sera rejeté.
Dans l'exemple de fichier de lot ci-dessous, les opérations VOID
(ANNULER) utilisent les informations d'identification fournies dans l'en-tête de demande de lot, car l'identificateur et le mot de passe du commerçant n'ont pas été fournis.
merchant,apiPassword,apiOperation,order.id,transaction.id,transaction.amount,transaction.currency, cardDetails.card.number, cardDetails.card.expiry.month,cardDetails.card.expiry.year,card.number,result,error.cause, error.explanation,response.gatewayCode TESTMERCHANT,<TESTMERCHANT_API_PASSWORD>,PAY,921830104167,TXID1,30,AUD,5123456789012346,05,13,,,,, TESTMERCHANT,<TESTMERCHANT_API_PASSWORD>,PAY,921830104168,TXID1,30,AUD,5123456789012346,05,13,,,,, TESTMERCHANT,<TESTMERCHANT_API_PASSWORD>,PAY,921830104169,TXID1,100,AUD,345678901234564,05,13,,,,, ,,VOID,1256378915689,TXID1,100,AUD,4987654321098769,05,13,,,,, ,,VOID,1256378915690,TXID1,100,AUD,4987654321098769,05,13,,,,, ,,VOID,1256378915691,TXID1,100,AUD,4987654321098769,05,13,,,,,
Une soumission de lot peut échouer en raison des erreurs suivantes.
Scénario | Message d'erreur |
---|---|
Lot incomplet en raison de la non-concordance du résumé du message SHA-1 | La soumission de lot a échoué pour l'une des raisons suivantes :
|
Nom de lot en double
|
Échec de la soumission du lot : un lot du même nom est en cours de chargement ou un lot du même nom mais avec un contenu différent a déjà été chargé. Si le fichier est en cours de chargement, veuillez patienter jusqu'à la fin de l'opération. Si vous utilisez un nom de fichier déjà pris, renommez le fichier et relancez la soumission. |
Une erreur d'authentification est renvoyée si vous ne disposez pas de privilèges suffisants pour soumettre des lots :
|
Échec de l'authentification : les informations d'identification fournies dans l'enregistrement <record number> sont incorrectes. Les raisons peuvent en être les suivantes :
|
Une erreur d'authentification est renvoyée si vous fournissez uniquement le mot de passe, sans l'ID de commerçant, au niveau de l'opération. | Échec de l'authentification. L'enregistrement <record number> du fichier de lot comporte un mot de passe, mais pas d'ID de commerçant. Veuillez ajouter un ID de commerçant ou supprimer le mot de passe pour utiliser les informations d'identification du commerçant au niveau du lot pour cet enregistrement, puis essayez de soumettre à nouveau la demande. |
Une erreur d'authentification est renvoyée si les informations d'identification du lot ont un format incorrect. | Échec de l'authentification : les informations d'identification fournies dans l'en-tête :
|
Une erreur d'authentification est renvoyée si :
|
Échec de l'authentification : les informations d'identification fournies pour le lot ne sont pas valides. Veuillez corriger les informations d'identification et essayer de soumettre à nouveau la demande. |
Une erreur d'analyse est renvoyée si l'en-tête contient des caractères non valides. | Échec de la soumission du lot : le lot n'a pas pu être analysé parce que l'en-tête contenait un caractère incorrect. Les caractères autorisés sont les suivants :
|
Une erreur d'analyse est renvoyée si une ligne d'enregistrement d'opération contient plus de valeurs qu'il n'en est défini dans l'en-tête. | Échec de la soumission du lot : le lot n'a pas pu être analysé parce que l'enregistrement <record number> contenait plus de valeurs qu'il n'en était défini dans l'en-tête. Veuillez corriger le lot et essayer de le soumettre à nouveau. |
Une erreur d'analyse est renvoyée si la taille de champ individuel maximale est dépassée ou si une erreur d'analyse inconnue s'est produite dans un enregistrement d'opération. | Échec de la soumission du lot : le lot n'a pas pu être analysé en raison d'une erreur dans l'enregistrement <record number> . Veuillez vérifier que le lot est conforme au format de fichier et que vous utilisez le codage correct, puis essayez de soumettre à nouveau le lot. |
Une erreur de codage est renvoyée si aucun codage n'a été fourni ou si le codage fourni n'est pas pris en charge. | Échec de la demande : le codage fourni n'est pas pris en charge. Les codages pris en charge sont UTF-8 et LATIN1. Veuillez soumettre à nouveau la demande en utilisant un codage pris en charge. |
Lot introuvable | Échec de la demande : un lot portant ce nom est introuvable. Veuillez corriger le nom du lot et soumettre à nouveau la demande. |
Le contrôle de longueur pour la version fournie a échoué. | Échec de la demande : la version fournie n'est pas valide. Veuillez corriger la version et soumettre à nouveau la demande. |
Le contrôle de longueur pour le nom de lot fourni a échoué. | Échec de la demande : le nom de lot fourni n'est pas valide. Veuillez corriger le nom du lot et soumettre à nouveau la demande. |
Le contrôle de longueur pour l'ID de commerçant fourni a échoué. | Échec de la demande : l'ID de commerçant fourni n'est pas valide. Veuillez corriger l'ID de commerçant et soumettre à nouveau la demande. |
Une erreur de passerelle s'est produite | La demande n'a pas pu être soumise à la passerelle en raison d'une erreur interne de celle-ci. Veuillez réessayer ultérieurement. |
Le traitement des opérations par Batch peut échouer en raison d'une défaillance des communications ou des systèmes due à l'une des erreurs suivantes :
- Une erreur due à une défaillance interne du système s'est produite.
- Une erreur s'est produite parce que les ressources du serveur étaient insuffisantes pour traiter la demande à ce moment-là.
- Une erreur s'est produite durant le traitement d'une transaction de vérification de Tokenization.
Lorsque cela se produit et qu'il est possible de relancer une opération, Batch tente d'envoyer celle-ci pour traitement jusqu'à la réception d'une réponse ne pouvant pas faire l'objet d'une nouvelle tentative ou jusqu'à ce que la limite des tentatives soit atteinte.
Batch stocke les noms de lot et leur code d'intégrité du message (MIC) correspondant que vous avez chargés. Les lots dont le nom a déjà été soumis mais avec un contenu différent peuvent être identifiés et sont rejetés par Batch.
Il est également possible d'identifier les lots de nom et de contenu identiques soumis précédemment. Batch renvoie le même statut que pour le lot chargé précédemment. Ainsi, si le commerçant pense qu'il existe un problème de transmission, il peut vérifier que le lot a été chargé correctement vers Batch.
Les valeurs de la ligne d'en-tête d'une demande de lot soumise pour traitement ne peuvent contenir que des caractères figurant dans les noms de champ NVP DirectAPI. Les caractères suivants sont autorisés :
- caractères alphanumériques (a-z, A-Z, 0-9) ;
- point (.) ;
- crochets ([ ]).
Batch rejette un lot en cas de détection d'erreurs d'analyse. L'analyse comprend la segmentation du lot en lignes et des lignes en champs.
Une erreur d'analyse peut se produire dans les cas suivants :
- Un enregistrement d'opération contient plus de virgules que ce qui figure dans l'enregistrement d'en-tête.
- La taille de champ individuel maximale est atteinte.
Vous devez corriger ces erreurs avant de soumettre à nouveau le lot pour traitement.
Bonnes pratiques et conseils
Le service Batch ne garantit pas qu’il traitera les opérations dans le même ordre que celui spécifié dans le fichier de lot parce que le répartiteur Batch peut traiter les opérations en parallèle. Ce comportement peut également être attribué à la fonction de nouvel essai, c’est-à-dire que si certaines opérations d’un fichier de lot nécessitent un nouvel essai, les opérations qui sont prêtes seront traitées en premier, quel que soit l’ordre dans lequel elles sont spécifiées. Par exemple, même si des opérations ultérieures sont spécifiées après des opérations initiales (collecte suivie d’une autorisation, annulation suivie par un paiement), la collecte peut être effectuée avant l’autorisation ou l’annulation avant le paiement.
Par conséquent, pour les opérations qui doivent strictement suivre un ordre, nous vous conseillons d’exécuter le lot d’opérations initial en premier, d’attendre le fichier de réponse du lot et, en cas de succès, d’exécuter le lot d’opérations suivant.
Tokenization stocke les détails des cartes dans un jeton. Pour utiliser Tokenization avec Batch, vous devez utiliser l’identificateur de jeton dans le fichier de lot, comme indiqué ci-dessous.
apiOperation,cardDetails.card.number,cardDetails.card.expiry.month,cardDetails.card.expiry.year,cardDetails.card.securityCode,cardDetails.cardToken,transaction.amount,transaction.currency,transaction.id,transaction.authorizationCode,order.id,card.start.month,card.start.year,card.issueNumber,card.bankAccountType
AUTHORIZE,,,,,200,10,AUD,TXID1,,10323711802,,,,
AUTHORIZE,,,,,300,20,AUD,TXID1,,10323711803,,,,
AUTHORIZE,,,,,400,10,AUD,TXID1,,10323711804,,,,
AUTHORIZE,,,,,500,5.99,AUD,TXID1,,10323711805,,,,
Les informations d’identification de l’opération sont l’identificateur et le mot de passe du commerçant. Pour chaque opération d’un lot, les informations d’indentification d’opération utilisent par défaut les informations d’identification d’authentification fournies dans l’en-tête de requête du lot (identificateur et mot de passe du commerçant). Toutefois, si vous spécifiez des valeurs pour ces deux champs dans les lignes d’enregistrement d’opération, l’authentification de l’opération utilisera les informations d’identification au niveau de l’opération, et non les informations d’identification par défaut du lot chargé.
Oui, vous pouvez traiter plusieurs types d’opérations dans un seul fichier de lot à condition que les opérations ne soient PAS liées à la même commande, c.-à-d. qu’elles ne contiennent pas le même identificateur de commande). Le service Batch ne garantit pas qu’il traitera les opérations dans le même ordre que celui spécifié dans le fichier de lot parce que le répartiteur Batch peut traiter les opérations en parallèle. Ce comportement peut également être attribué à la fonction de nouvel essai, c’est-à-dire que si certaines opérations d’un fichier de lot nécessitent un nouvel essai, les opérations qui sont prêtes seront traitées en premier, quel que soit l’ordre dans lequel elles sont spécifiées. Par exemple, si des opérations de paiement et d’annulation figurent dans le même fichier de lot, l’annulation peut être effectuée avant le paiement. Toutefois, si les opérations ne sont PAS liées à la même commande (c.-à-d. si elles contiennent des identificateurs de commande différents), vous pouvez placer plusieurs types d’opérations dans un fichier de lot unique.
Oui, vous pouvez utiliser plusieurs sources de détails de carte dans un seul fichier de lot, à l’exception de l’identifiant de session de paiement. Pour plus d’informations sur les sources multiples, reportez-vous à Sources multiples de détails de cartes.
Les opérations d’autorisation de l’exemple ci-dessous utilisent des jetons au lieu de détails de carte.
apiOperation,order.id,transaction.id,transaction.amount,transaction.currency,cardDetails.card.number,cardDetails.card.expiry.month,cardDetails.card.expiry.year,card.number,cardDetails.cardToken,result,error.cause,error.explanation,response.gatewayCode
PAY,921830104167,TXID1,30,AUD,5123456789012346,05,13,,,,,,
PAY,921830104168,TXID1,50,AUD,5123456789012346,05,13,,,,,,
PAY,921830104169,TXID1,100,AUD,4987654321098769,05,13,,,,,,
AUTHORIZE,10072028281,TXID1,,,,,,,200,,,,,
AUTHORIZE,10072028282,TXID1,,,,,,,300,,,,,
AUTHORIZE,10072028283,TXID1,,,,,,,400,,,,,