Il est possible d'utiliser MercatorPenguin, connecté à un terminal de paiement mobile, comme terminal de paiement de l'application desktop Mercator ERP. (Cette utilisation du terminal mobile, quoique reposant sur les mêmes principes techniques, ne doit pas être confondue avec l'utilisation du terminal de paiement dans les bundles de MercatorPenguin.) L'intégration proposée ici est construite autour du terminal de paiement SumUp®. Cette intégration offre une alternative peu onéreuse par rapport aux intégrations sur base de vrais terminaux de paiement (Atos Worldline, Cetrel, Ingenico, ...) Toutefois, l'intégration dont il est question ici doit être considérée comme une solution pour un usage non intensif et présentant un degré de fiabilité moindre.
Pour mettre en place cette fonctionnalité, il faut
- Mercator en version 10.4 ou ultérieure,
- dans le voucher l'option PENGUINPAYTERM suivie du ou des players id (voir ci-dessous)
- un appareil mobile (smartphone ou tablette), connecté à Internet et disposant d'un MercatorPenguin 2.3 ou ultérieur,
- dans ce MercatorPenguin, activer et accepter les notifications; cela se fait au départ de l'écran d'information accessible depuis le bouton "i",
- noter l'ID qui apparaît une fois les notifications activées,
- sur ce même appareil mobile, l'application SumUp® fonctionnelle, c-à-d correctement reliée au compte SumUp® et connectée au terminal
Via "Outils / Paramètres / Modes de paiements", il faut créer un mode de paiement dont le libellé contient "Penguin" (peu importe la casse).
Via le menu "Outils / Options / Terminal Paiements MercatorPenguin - Confirmation paiement" (id = PGPAY_STOP), on peut sélectionner la manière dont l'utilisateur est averti du résultat d'une transaction de paiement (soit "STOP" : une fenêtre à valider; soit "Popup" : une fenêtre qui s'affiche et disparaît après 3 secondes). Il est aussi possible de fichier dans l'option PGPAY_TO un time-out en secondes qui indique le nombre de secondes pendant lequel Mercator attendra le résultat du paiement.
Dans les options "Matériel Caisse", il faut compléter la valeur de "Terminal MercatorPenguin : player id" (id = PGPAY_PLID) avec l'identifiant noté dans MercatorPenguin sous l'interrupteur d'activation des notifications. Cet identifiant peut être obtenu facilement via cette requête, où xyz correspondent aux trois premiers caractères lus dans MercatorPenguin :
select id from PENGUIN_PLAYERS where id like 'xyz%'
Utilisation
Lors de l'envoi d'un paiement vers le terminal, si celui-ci est associé au mode de paiement "Penguin", alors Mercator affiche cet écran, qui permet de suivre les différents statuts du paiement :
La chronologie de la séquence de paiement est la suivante :
- Mercator envoie une notification au mobile dont le player id correspond à la valeur indiquée dans l'option "Matériel Caisse / Terminal MercatorPenguin : player id".
- L'utilisateur doit ouvrir cette notification sur son mobile. Ceci va, le cas échéant, ouvrir MercatorPenguin.
- MercatorPenguin va transmettre les informations de paiement à l'application SumUp®.
- Le client va pouvoir utiliser le terminal pour effectuer son paiement par carte.
- L'application SumUp® va passer le résultat en retour à MercatorPenguin, qui va reprendre la main et afficher un écran tel que celui ci-dessous.
- MercatorPenguin va transmettre ce résultat à MercatorPenguinServer.
- Mercator, en attente de ce résultat, va recevoir ce résultat stocké par MercatorPenguinServer dans la table PENGUIN_PAYMENTS de la base de données SQL.
- Le processus se termine par l'affichage de ces résultats, respectivement dans Mercator et dans MercatorPenguin.
Remarque importante : le fonctionnement décrit ci-dessus repose sur deux applications distinctes, d'une part MercatorPenguin et d'autre part l'application SumUp®. La communication entre ces deux applications ne peut être optimale que si l'utilisateur n'interfère pas avec le processus mis en place. En conséquence, durant toute la durée du processus de paiement, il faut éviter d'accéder à d'autres applications, d'utiliser les boutons "Home" ou "Back", de fermer manuellement l'application SumUp®, de tenter un retour dans MercatorPenguin avant celui qui sera effectué par l'application SumUp®, ... Il est aussi essentiel que tout ce processus puisse être effectué endéans un laps de temps court, afin d'éviter que l'operating system du mobile ne ferme l'une ou l'autre application engagée dans ce processus.
La communication entre Mercator et MercatorPenguin se fait sur base d'une notification. En principe, la transmission de cette notification est immédiate et donc le paiement peut être effectué sans délai. En fonction de l'infrastructure utilisée ou de la couverture "data" à disposition, ce délai peut être allongé. Ceci peut rendre cette fonctionnalité inutilisable. Il est donc nécessaire d'effectuer des essais d'envois-réceptions de notifications dans l'environnement qui sera celui dans lequel sera utilisée cette fonctionnalité. Ceci peut se faire facilement via le menu "Outils / Terminal Paiements / Notification de Test".
Rappel : les notifications ne sont jamais reçues si l'application n'a jamais été démarrée ou si on l'a forcée à quitter. -> démarrez au moins une fois MercatorPenguin.
Cette page donne des pistes de solutions pour réduire des retards de notifications.
Depuis la version 3.0 de MercatorPenguin, il est possible d'envoyer cette notification via le réseau local. Pour cela, il faut :
- le MercatorPenguin doit être dans le même réseau local que Mercator,
- le serveur TCP doit être activé dans MercatorPengin, via le switch dans la fenêtre d'information,
- MercatorPenguin doit fonctionner sur un appareil avec une adresse ip locale fixe,
- dans les options de Mercator, le player id doit être remplacé par cette adresse ip.