Aller au contenu
← Tous les articles
Arrêtez de shipper `isPaid: true`
Insight· 3 min read

Arrêtez de shipper `isPaid: true`

La plupart des bugs paiement sont des bugs de vocabulaire. Accepté n'est pas confirmé. Confirmé n'est pas settled. Le modèle à trois états d'où part ce blog — et pourquoi votre booléen ment à la finance.

Le support a fermé le ticket. L'app affichait du vert. La finance ouvre le fichier de settlement du lundi : trois lignes manquent.

Personne n'a menti. Votre schéma, si.

isPaid: true écrase trois moments distincts dans un seul bit. Ce bit suffit pour une démo. Pas pour un ledger, un litige, ou un auditeur.

Trois états, pas un booléen

ÉtatCe qui s'est vraiment passéCe que vous pouvez montrer à l'utilisateur
AcceptéLe provider a pris la requête ; le débit peut encore échouer« En cours… »
ConfirméPortefeuille / hold carte OK ; le float a bougé« Payé » — avec un astérisque côté ops
SettledLe fichier batch / banque a fermé la boucleRevenu que la finance reconnaîtra

Les rails carte appellent ça auth → capture → settlement. Le mobile money le cache souvent derrière un seul callback nommé SUCCESS. Même argent. Même piège. Noms différents.

Si votre modèle de domaine a un seul booléen, vous mentirez tôt ou tard à au moins une audience : le client, le support, ou la finance.

Pourquoi c'est le point d'entrée

Ce blog s'adresse aux équipes qui déplacent de l'argent là où les callbacks arrivent en retard, où les providers sont lents-pas-down, et où « ça marche en staging » ne veut plus rien dire sur onze filiales.

Le reste du catalogue, c'est la même thèse, appliquée :

La règle qui survit à tous les rails

Copie UI  ≠  statut provider  ≠  vérité ledger  ≠  settlement banque

Mappez chacun à un état explicite. Persistez les transitions. Réconciliez à l'horaire. Ne laissez jamais un spinner inventer de la certitude.

Shippez des états que la finance peut défendre. Les booléens, c'est pour les feature flags — pas pour l'argent.

La suite, c'est ce qui arrive quand vous shipez les trois états et copiez encore le mot du provider : Le callback qui a dit SUCCESS.

Vous voulez appliquer cela sur votre plateforme ?

Décrivez votre paysage technique et vos contraintes — je vous donnerai un avis direct s'il y a un fit technique.