logo Mercanet

Release 24.5

aller directement au contenu

Rechercher par mots clés

Bancontact Mobile

Pour rechercher dans la page utiliser Ctrl+F sur votre clavier

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.

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

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).

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

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 :



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.

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.

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.

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 :


description des status possibles pour un paiement Bancontact Mobile

Le seul mode de capture disponible est IMMEDIATE. Trois états sont possibles : la transaction est en attente de capture (status TO_CAPTURE, responseCode 00) ou la transaction est interrompue lors du paiement (status ABORTED, responseCode 17) ou la transaction est rejetée (status REFUSED, responseCode différent de 00 et de 17).

La cinématique de paiement pour Paypage est décrite ci-dessous :


étapes d'un paiement Bancontact Mobile via Paypage

1) Le client procède au paiement. 2) Le client est rédirigé vers la page de sélection du moyen de paiement hébergée chez Mercanet, il sélectionne Bancontact et choisit de payer via l'application. 3) Il utilise l'application Bancontact Mobile pour s'authentifier. 4) Le client est redirigé vers les pages Mercanet. 5) Si le client clique sur le bouton retour à la boutique, Mercanet envoie la réponse manuelle. 6) Mercanet envoie la réponse automatique.

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.

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 = PASSWORD
holderAuthentStatus = SUCCESS
holderAuthentProgram = BCMCMOBILE
panEntryMode = WALLET
paymentMeanBrand = BCMC
paymentMeanType = CARD
responseCode = 00
walletType = 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.

Le processus de paiement pour Office (M2M) est décrit ci-dessous :


étapes d'un paiement Bancontact via Paypage

1) Le client procède au paiement sur la page de paiement que vous hébergez sur votre site. 2) Vous initialisez le paiement en envoyant une requête paymentProviderInitialize à Mercanet qui vous envoie une réponse en retour. 3) Vous lancez l'application mobile Bancontact grâce à la redirectionUrl fournie par Mercanet dans la réponse de la requête paymentProviderInitialize. 4) Mercanet vous signale si l'authentification a réussie ou non. 5) Vous envoyez une requête paymentProviderFinalize à Mercanet qui vous retourne une réponse avec le résultat du paiement. 6) Vous affichez le résultat du paiement à votre client sur votre site.

L’initialisation d’un paiement Bancontact Mobile est effectuée en appelant la méthode PaymentProviderInitialize.

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.

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 = 00
authorisationId = (voir le Dictionnaire des données).
messageVersion = version du message récupérée en réponse à l’initialisation du paiement.
outerRedirectionUrl = QRCodet
paymentMeanBrand = BCMCMOBILE
responseCode = 00
redirectionData = 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.

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.

Attention: le client dispose d'un temps limité pour réaliser le paiement, à partir du moment où l'initialisation est effectuée. Le QR Code et/ou l'URL intent doivent donc être affichés immédiatement après l'appel à la méthode PaymentProviderInitialize.

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.

Tip: vous pouvez, en réponse à votre requête paymentProviderFinalize, obtenir un code 24 « Opération impossible ». Ce code signifie que cette requête a déjà été envoyée et traitée pour la transaction concernée. Si vous ne pouvez identifier ce traitement, nous vous invitons à utiliser la fonction GetTransactionData du service diagnostic : cette opération permet de récupérer des informations relatives à une transaction créée préalablement à l'aide de Mercanet.

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

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).
panEntryMode = WALLET
paymentMeanBrand = BCMCMOBILE
responseCode = 00
walletType = 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.

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

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é :


états possibles suite à une opération de gestion de caisse pour un paiement Bancontact

Lorsque la transaction est créée, elle est au status TO_CONFIRM_CAPTURE. Si la capture échoue elle passe au status CAPTURE_REFUSED. Si la capture réussit, elle passe au status CAPTURED. Une fois la transaction capturée, elle peut être remboursée partiellement ou en totalité. Si l'intégralité de la transaction est remboursée, elle passe au status CREDITED. Si une partie seulement de la transaction est remboursée, elle reste au status CAPTURED.

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
Note: pour les transactions Bancontact Mobile, le champ paymentMeanBrand est renseigné avec la valeur BCMC.

Vous pouvez consulter vos transactions Bancontact Mobile et effectuer différentes opérations de gestion de caisse grâce à Mercanet Back Office.



Retourner en haut de page Besoin d'aide ?

Besoin d'aide ?

Fermer