Aller au contenu

Le mode Kiosk transforme un écran (tablette ou borne) couplé à un terminal de paiement Stripe en borne de rechargement autonome. L'usager pose sa carte cashless TiBillet, choisit un montant, paie par carte bancaire sur le terminal, et sa carte est créditée en monnaie fédérée. Aucune intervention d'un opérateur n'est nécessaire.

Pour les usagers

Recharger sa carte au kiosque se fait en quelques secondes :

1. Posez votre carte cashless TiBillet sur le lecteur NFC de la borne. La borne lit votre carte et affiche le solde actuel.

2. Choisissez le montant que vous souhaitez ajouter sur votre carte.

3. Suivez les indications affichées sur le terminal de paiement situé à côté de l'écran : présentez ou insérez votre carte bancaire, puis validez le paiement.

4. L'écran confirme la réussite du paiement. Votre carte est immédiatement créditée du montant choisi. En cas d'échec ou d'annulation, un message vous l'indique et aucun montant n'est débité.

À tout moment pendant le paiement, un bouton « Annuler » permet d'interrompre l'opération. La borne revient alors à l'écran d'accueil.

Pour les administrateurs

Matériel requis

Le seul terminal pris en charge actuellement est le BBPOS WisePOS E de Stripe Terminal. C'est un lecteur « intelligent » piloté par le cloud Stripe : il ne nécessite aucune installation logicielle locale, il reçoit ses instructions de paiement directement depuis le serveur. Prévoir aussi un écran (tablette ou borne) avec lecteur NFC pour afficher l'interface Kiosk.

Configuration Stripe préalable

Avant d'appairer un terminal, la configuration Stripe doit être renseignée (clé d'API). Un mode test est disponible : lorsqu'il est activé, les clés de test Stripe sont utilisées automatiquement, ce qui permet de valider l'installation sans paiement réel.

Renseigner la clé API Stripe

⚠️ Important : il n'existe pas d'interface d'administration pour saisir la clé API Stripe. Elle ne peut donc être renseignée que par une personne ayant un accès au serveur qui héberge LaBoutik (fichier de configuration ou console). Ce n'est pas faisable depuis le navigateur.

En mode test (cas par défaut) : aucune saisie en base n'est nécessaire. La clé de test et le compte Stripe sont lus directement depuis les variables d'environnement du serveur (fichier .env : STRIPE_TEST_API_KEY et STRIPE_TEST_CONNECT_ACCOUNT_ID). Il suffit donc de renseigner ces variables dans la configuration du serveur.

En mode production : la clé réelle (sk_live_…) est stockée chiffrée dans la base. Elle se renseigne une seule fois depuis la console Django sur le serveur :

from APIcashless.models import ConfigurationStripe
config = ConfigurationStripe.get_solo()
config.set_stripe_api("sk_live_VOTRE_CLE")
config.stripe_mode_test = False
config.save()

La méthode set_stripe_api() chiffre la clé avant de l'enregistrer : la clé en clair n'est jamais stockée ni réaffichée. Pour basculer en production, il faut également désactiver le mode test (passer stripe_mode_test à faux).

Stripe Terminal rattache chaque lecteur à une Location (un emplacement). LaBoutik crée et gère automatiquement une location principale lors du premier appairage : aucune action manuelle n'est requise pour cela.

Appairer un terminal

1. Sur le terminal WisePOS E, ouvrez le menu d'administration : faites glisser le doigt depuis le bord gauche de l'écran vers la droite, touchez Settings (Réglages), puis saisissez le code d'accès 07139 (code par défaut Stripe, identique sur tous les lecteurs). Depuis ce menu, demandez l'affichage du code d'enregistrement (registration code) : un code à usage unique de quelques caractères.

🔐 Sécurité : 07139 est le code par défaut, public et commun à tous les lecteurs. Pour un déploiement en production, il est recommandé de définir votre propre code d'accès à 5 chiffres (configurable depuis le tableau de bord Stripe ou directement dans le menu du lecteur).

2. Dans l'administration LaBoutik, créez un nouveau Terminal : donnez-lui un nom, choisissez le type bbpos_wisepos_e, et collez le code d'enregistrement. À l'enregistrement, LaBoutik appaire automatiquement le lecteur côté Stripe et mémorise son identifiant.

3. Une fois appairé, le terminal peut être lié à un appareil (la tablette ou borne qui affiche le Kiosk). C'est ce lien qui permet à chaque borne d'envoyer ses paiements vers le bon lecteur.

Le point de vente Kiosk

Le mode Kiosk repose sur un point de vente dédié de type Kiosk. Il est créé automatiquement à l'installation. Toutes les recharges effectuées à la borne sont rattachées à ce point de vente, ce qui les distingue clairement dans la comptabilité et les clôtures de caisse.

Comment ça marche (en coulisses)

Quand l'usager valide un montant, LaBoutik crée une intention de paiement (PaymentIntent) sur Stripe et l'envoie au terminal. Le serveur surveille ensuite l'état du paiement et met l'écran à jour en temps réel (via WebSocket) : en attente, réussi ou annulé.

Chaque paiement transporte des métadonnées signées (identifiant du lieu fédéré, identifiant de la carte). C'est grâce à cette signature que Fedow — le système de monnaie fédérée — valide le rechargement lorsqu'il reçoit la confirmation de Stripe. La carte de l'usager est alors créditée en monnaie fédérée.

Le suivi du paiement dure jusqu'à 2 minutes. Passé ce délai sans validation ni annulation, l'opération est considérée comme expirée.

Mode démo

Un mode démo permet de simuler entièrement un terminal Stripe, sans matériel ni paiement réel. Il est utile pour présenter le parcours, former des opérateurs ou tester l'interface. Dans ce mode, les réponses du terminal (réussite, annulation) sont générées automatiquement.