FedCheckout
L’infrastructure de paiement de l’écosystème Fed : une API, une page de paiement hébergée et des webhooks signés. Le client paie, l’application est prévenue, personne ne clique sur « approuver ».
- Rôle
- Architecture produit, API, page de paiement hébergée, portail développeur, documentation
- Technologies
- Next.js · TypeScript · PostgreSQL · Webhooks HMAC · OAuth 2.1 / OIDC
- État
- En ligne
- Produit
- checkout.fedtopup.com

01Contexte
À mesure que les produits Fed se multipliaient, chacun réinventait sa façon d’encaisser. Il fallait un seul endroit où un paiement naît, se conclut et se prouve.
02Problème
Un paiement fait à la main ne passe pas à l’échelle : file d’attente, validation humaine, litiges. Et un paiement « confirmé par le navigateur » n’est pas une preuve — n’importe qui peut appeler une page de retour.
03Produit
FedCheckout suit le modèle que les développeurs connaissent : on crée un Payment Intent depuis son serveur, on redirige le client vers une page de paiement hébergée, et on reçoit un webhook signé quand le paiement réussit.
Le portail développeur fournit clés de test et clés réelles, journal des événements, renvoi de webhooks et documentation. Un mode test complet permet d’intégrer sans toucher à de l’argent réel.
04Expérience
La page d’accueil parle à un développeur : ce que ça fait, comment ça marche en quatre étapes, un exemple curl qu’on peut copier.
La page de paiement ne montre que les moyens réellement branchés. Un moyen qui n’est pas encore ouvert est affiché comme tel — jamais un bouton « Carte » décoratif.
05Décisions de design
- Sobre, typographique, presque documentaire : pour un produit d’infrastructure, la clarté est le design.
- Une seule couleur d’action. Des blocs de code lisibles. Des boutons d’au moins 48 px sur mobile.
06Ingénierie
Une machine à états stricte gouverne chaque paiement : la base refuse toute transition illégale, et le navigateur ne peut jamais déclarer un paiement « réussi ».
Idempotence sur toutes les créations, montants jamais manipulés en virgule flottante, et une règle simple pour les fournisseurs : un délai dépassé n’est pas un échec, c’est un état « inconnu » qu’une réconciliation vient conclure.
Les webhooks suivent le motif outbox : l’événement est écrit dans la même transaction que le paiement, puis livré avec signature HMAC, nouvelles tentatives espacées et file de lettres mortes. L’authentification du portail passe par Fed ID.
07Défis
- Refuser la facilité : n’annoncer comme « automatique » qu’un moyen de paiement dont la confirmation serveur est réellement fiable.
- Isoler totalement le mode test, pour qu’aucun essai ne puisse écrire dans un vrai grand livre.
08Résultat
FedCheckout est en production sur checkout.fedtopup.com. Les paiements par solde FedTopUp et par FedWallet sont ouverts ; le mobile money et l’USDT viendront s’y brancher comme de nouveaux adaptateurs, sans changer l’API.
Galerie
Accueil Documentation Accueil, mobile Documentation, mobile