Introduction
Mercanet est une solution de paiement de commerce électronique multicanale sécurisée conforme à la norme PCI DSS. Elle vous permet d’accepter et de gérer des transactions de paiement en prenant en compte les règles métier liées à votre activité (paiement à la livraison, paiement différé, paiement récurrent, paiement en plusieurs fois…).
L’objectif du présent document est d’expliquer l'intégration du moyen de paiement Bancontact Mobile dans Mercanet.
À qui s’adresse ce document ?
Ce document a pour objectif de vous aider à implémenter le moyen de paiement Bancontact Mobile sur votre site de commerce électronique.
Il comprend :
- des informations fonctionnelles à votre attention ;
- des instructions d'implémentation à destination de votre équipe technique.
Pour avoir une vue d’ensemble de la solution Mercanet, nous vous conseillons de consulter les documents suivants :
- Présentation fonctionnelle
- Guide de configuration des fonctionnalités
Comprendre les paiements Bancontact Mobile avec Mercanet
Principes généraux
Bancontact est le leader du marché des paiements électroniques en Belgique. La carte Bancontact est la carte nationale belge.
Le moyen de paiement Bancontact Mobile permet aux clients de régler avec leur carte Bancontact via leur téléphone mobile ou tablette.
Pour payer avec une carte Bancontact via l'application Bancontact Mobile, le titulaire de carte doit installer cette application sur son appareil portable (ordinateur, smartphone, tablette). Il pourra ensuite initialiser sa transaction. Lors de l'étape de paiement, l'application Bancontact Mobile sera lancée via deux méthodes, en fonction de l'appareil :
- si la transaction est initialisée sur un ordinateur ou un appareil portable différent de celui ayant servi au paiement, l'application Bancontact Mobile sera lancée par le client sur l'appareil qu'il a utilisé pour le paiement. En scannant le QR code affiché sur la page de paiement, le client est redirigé vers la page d'authentification ;
- si la transaction est initialisée sur un appareil portable qui fait également office d'appareil servant au paiement via l'application dédiée, ladite application est lancée en cliquant sur un bouton URL-intent de la page de paiement.
Tout comme pour les paiements standard par carte Bancontact, une étape d'authentification est requise. Vous bénéficiez d'une garantie de paiement sous certaines conditions, selon la réglementation bancaire en vigueur. Lors d'un paiement Bancontact Mobile, le titulaire de carte procède à l'authentification grâce à l'application du même nom.
Si le montant est supérieur à 1500,00 €, la transaction sera refusée (code de réponse Mercanet 05).
Règles d’acceptation
Fonctionnalités disponibles
Canaux de paiement | ||
---|---|---|
Internet | V | Canal de paiement par défaut |
MOTO | X | |
Télécopie | X | |
SVI | X |
Typologies de paiement | ||
---|---|---|
Paiement immédiat | V | Méthode par défaut |
Paiement en fin de journée | X | |
Paiement différé | X | |
Paiement à l'expédition | X | |
Paiement en plusieurs fois | X | |
Paiement par abonnement | V | |
Paiement par lots | X | |
Paiement OneClick | X |
Gestion des devises | ||
---|---|---|
Acceptation multidevise | X | EURO uniquement |
Règlement en devise | X | EURO uniquement |
Pages de paiement
Achat sur plateforme desktop (QR code)
Sur la plateforme desktop (ordinateur), le client sélectionne le moyen de paiement Bancontact.
Le client peut choisir le moyen de paiement Bancontact : standard (par carte) ou via l'application mobile. Il choisit de payer via l'application mobile :
Pendant que le client en ligne scanne le QR code et s'authentifie via son appareil mobile, un message d'attente s'affiche sur la plateforme desktop :
Le ticket de paiement s’affiche, puis le client retourne sur le site Web du commerçant.
Si Mercanet est dans l'impossibilité d'établir une connexion avec le serveur Bancontact, une fois que le client a sélectionné le logo Bancontact sur la page de sélection des moyens de paiement, la saisie du paiement par carte est proposée par Mercanet :
Achat sur smartphone (URL-intent)
Sur smartphone, seuls les paiements mobiles avec URL-intent et les paiements standard par carte Bancontact sont proposés sur la page de paiement.
Le client choisit de payer avec l'application mobile Bancontact :
Un message d'attente Bancontact s'affiche sur le smartphone :
Le client est ensuite redirigé vers les pages Bancontact. Il choisit sa carte, tape son PIN et confirme le paiement :
Le ticket de paiement s’affiche, puis le client retourne sur le site Web du commerçant.
Achat sur tablette (QR code et URL-intent)
Sur tablette, tous les paiements mobiles avec QR code et URL-intent ainsi que les paiements standard par carte Bancontact sont proposés sur la page de paiement.
Si le client choisit l'option Scannez le code QR, un QR code s'affiche :
Un message d'attente Bancontact s'affiche sur la tablette :
Le client peut aussi choisir l'option Ouvrez l'App. L'application mobile Bancontact sera lancée automatiquement :
Un message d'attente s'affiche sur la page de paiement :
Le ticket de paiement s’affiche, puis le client retourne sur le site Web du commerçant.
Ouvrir votre contrat d’acceptation Bancontact Mobile
Afin de proposer le moyen de paiement Bancontact Mobile sur votre site Web, vous devez souscrire un contrat d’acceptation auprès de Worldline Acquiring Belgique. Vous nous transmettez par la suite le numéro de contrat afin de l’enregistrer dans notre système d’information.
Ce moyen de paiement est également co-badgé avec Maestro et prochainement avec V-Pay (Visa debit), ce qui signifie qu'il peut être accepté également comme une carte internationale Maestro ou Visa.
Effectuer un paiement Bancontact Mobile
Mercanet vous offre trois solutions pour intégrer le moyen de paiement Bancontact Mobile :
- Paypage qui assure l’interface de paiement directement avec le client via son navigateur Web.
- Office (M2M) qui vous laisse la possibilité d’afficher vous-même vos pages de paiement et qui fonctionne par un dialogue de serveur à serveur.
- In-App, interface dédiée aux paiements mobiles.
Pour les paiements Bancontact Mobile, il n’est pas possible de différer la remise. Vous ne pouvez pas ajuster la date de transfert des fonds (paiement immédiat).
Le diagramme ci-dessous explique les différents états par lesquels peuvent passer les transactions selon le mode de capture choisi :
Effectuer un paiement Bancontact Mobile avec Paypage
La cinématique de paiement pour Paypage est décrite ci-dessous :
Paramétrer la requête de paiement
Le paiement Bancontact Mobile est une option commerciale. Aucune information spécifique (par rapport au paiement Bancontact standard) n'est nécessaire pour soumettre une requête de paiement Bancontact Mobile.
Analyser la réponse
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Paiement accepté | acquirerResponseCode = 00
authorisationId = (voir le
Dictionnaire des données).holderAuthentMethod =
PASSWORDholderAuthentStatus =
SUCCESSholderAuthentProgram =
BCMCMOBILEpanEntryMode =
WALLETpaymentMeanBrand =
BCMCpaymentMeanType =
CARDresponseCode =
00walletType =
BCMCMOBILE |
Vous pouvez livrer la commande. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la
fraude. Si vous n’avez pas opté pour l’option « nouvelle
tentative de paiement » (pour plus de détails veuillez consulter
le Guide de configuration des
fonctionnalités), vous pouvez proposer à votre
client de payer avec un autre moyen de paiement en générant une
nouvelle requête. |
Refus nombre max essais atteint | responseCode = 75 |
Le client a fait plusieurs tentatives qui ont toutes échoué. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Effectuer un paiement Bancontact Mobile avec Office (M2M)
Le processus de paiement pour Office (M2M) est décrit ci-dessous :
Initialiser un paiement (PaymentProviderInitialize)
L’initialisation d’un paiement Bancontact Mobile est effectuée en appelant la méthode PaymentProviderInitialize.
Requête d’initialisation du paiement
Vous devez valoriser les champs spécifiques suivants dans la requête d'initialisation pour un paiement Bancontact Mobile :
Nom du champ | Remarques / règles |
---|---|
merchantReturnUrl | URL à laquelle envoyer la notification d'authentification |
paymentMeanBrand | Doit être valorisé avec la marque BCMCMOBILE. |
responseKeyVersion | Version de la clé secrète utilisée pour chiffrer la notification d'authentification |
paymentMeanData.bcmcMobile.defaultRedirectUrl | URL optionnelle pour l'application mobile Bancontact qui peut être utilisée comme URL de callback commerçant pour les notifications. Ce callback peut être déclenché par l'application mobile lorsque le paiement n'a pas abouti, ou si la connexion entre l'application mobile et le service de paiement a été perdue pendant le traitement de la transaction. |
paymentMeanData.bcmcMobile.completionRedirectUrl | URL optionnelle pour l'application mobile Bancontact qui peut être utilisée comme URL de callback commerçant pour les notifications. Ce callback est déclenché par l'application mobile, après que celle-ci ait affiché le résultat du paiement à l'utilisateur. |
Réponse d’initialisation du paiement
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Initialisation de paiement acceptée | acquirerResponseCode =
00authorisationId = (voir le
Dictionnaire des données).messageVersion = version du
message récupérée en réponse à l’initialisation du
paiement.outerRedirectionUrl =
QRCodetpaymentMeanBrand =
BCMCMOBILEresponseCode =
00redirectionData = données de
redirection récupérées en réponse à l’initialisation du
paiement.redirectionUrl = URL
intent |
Redirigez le client vers redirectionUrl . |
Initialisation de paiement rejetée | responseCode <>
00 |
Consultez le champ errorFieldName , puis corrigez
la requête.En cas d’erreur persistante, contactez
l'assistance technique. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la fraude, vous pouvez proposer à votre client de payer avec un autre moyen de paiement en générant une nouvelle requête. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Redirection de l’utilisateur
A ce stade, vous pouvez choisir le processus à activer :
- avec le champ redirectionUrl, vous êtes en mesure de fournir l'URL-intent reçu via la réponse PaymentProviderInitialize sur son application mobile.
- avec le champ outerRedirectionUrl, vous pouvez également générer un QR code à afficher sur ses pages.
Les deux processus généreront le lancement de l'application Bancontact Mobile installée sur l'appareil mobile de l'utilisateur. Ce dernier devra ensuite s'identifier.
Finaliser un paiement (PaymentProviderFinalize)
Cette dernière étape vous permet d’obtenir le statut du paiement. Les paramètres obtenus lors de la redirection après la cinématique de paiement sur le site Web Bancontact Mobile sont à transmettre lors de cet appel. La méthode utilisée pour finaliser un paiement est paymentProviderFinalize.
Requête de finalisation du paiement
Vous devez valoriser les champs spécifiques suivants dans la requête de finalisation pour un paiement Bancontact mobile :
Nom du champ | Remarques / règles |
---|---|
redirectionData | Données de redirection |
messageVersion | Version du message |
Réponse de finalisation du paiement
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Paiement accepté | acquirerResponseCode =
00authorisationId = (voir le
Dictionnaire des données).panEntryMode =
WALLETpaymentMeanBrand =
BCMCMOBILEresponseCode =
00walletType =
BCMCMOBILE |
Vous pouvez livrer la commande. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la fraude, vous pouvez proposer à votre client de payer avec un autre moyen de paiement en générant une nouvelle requête. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Notification d’authentification du porteur
Une notification dans HTTP POST est envoyée à l'URL fournie dans le champ merchantReturnUrl relatif à la méthode d'initialisation.
Vous devez configurer un système recevant le message de notification afin d'effectuer un appel suivant la méthode PaymentProviderFinalize (par exemple, un service de contrôle attendant la notification).
Quatre champs sont paramétrés dans la demande (sensibles à la casse) :
Nom du champ | Remarques / règles |
---|---|
Data | La concaténation des champs est nécessaire pour finaliser
la transaction. Exemple de paramètre : keyVersion =
1|merchantId = 099974849505999|… |
Encode | Type de codage utilisé |
Seal | Signature du message |
InterfaceVersion | Version du message de contexte |
Si la valeur de codage est « base64 », les données doivent présenter un codage Base64.decode pour retrouver la chaîne concaténée.
La chaîne concaténée est structurée comme suit : key1=value1|key2=value2…
Exemple :
merchantId=002474849505153|transactionReference=TEST87190508400|redirectionData=+n
nlCo8T13xEspDheo56uxiYJql7rAoAVM...1aNpi9l85BveUkuoco=|messageVersion=0.1|keyVersion=1
Les champs suivants sont définis dans le champ « Data ».
Ces champs doivent être utilisés pour traiter la finalisation du paiement.
Nom du champ | Remarques / règles |
---|---|
keyVersion | Version de la clé secrète utilisée pour chiffrer la notification d'authentification. |
merchantId | Identifiant du commerçant |
messageVersion | Version du message |
redirectionData | Données de redirection |
transactionReference | Référence de la transaction |
Gérer vos transactions Bancontact Mobile
Opérations de caisse disponibles
Les opérations suivantes sont disponibles sur les transactions Bancontact.
Gestion de caisse | ||
---|---|---|
Annulation | X | |
Validation | X | |
Remboursement | V | Remboursement possible sur
le montant total ou partiel de la transaction. Montant
maximum autorisé par remboursement : 3 000 € (plusieurs
remboursement partiels nécessaires pour toute transaction
supérieur à 3 000 €). |
Duplication | V |
Le diagramme ci-dessous vous permet de savoir quelle opération de gestion de caisse est disponible lorsqu'une transaction est dans un état donné :
Consulter vos transactions Bancontact Mobile
Journaux
Les journaux mis à disposition par Mercanet vous permettent d’avoir une vision exhaustive et consolidée de vos transactions, opérations de caisse, situation comptable et impayés. Vous pouvez utiliser ces informations pour enrichir votre système d’information.
La disponibilité des transactions Bancontact Mobile pour chaque type de journal est récapitulée dans le tableau ci-dessous :
Disponibilité des journaux | |
---|---|
Journal des transactions | V |
Journal des opérations | V |
Journal de rapprochement des transactions | X |
Journal de rapprochement des impayés | X |
Mercanet Back Office
Vous pouvez consulter vos transactions Bancontact Mobile et effectuer différentes opérations de gestion de caisse grâce à Mercanet Back Office.