Travailler avec l'argent : paiements et débits
La répartition des responsabilités
Le prestataire de paiement gère la carte ; vous gérez la commande. Les données sont saisies dans le formulaire du prestataire ou un composant isolé, et seul un identifiant est stocké de votre côté. Cela vous maintient en dehors de l'essentiel du monde lourd de la conformité.
Le montant est calculé côté serveur à partir de vos prix. Un montant venu du client est une demande, pas un fait.
Des états, pas des drapeaux
Une commande passe par des états définis : créée, en attente de paiement, payée, échouée, remboursée. Chaque transition est enregistrée avec une heure et une raison. Un drapeau booléen « payé » perd l'histoire exactement quand on en a besoin.
Les notifications du prestataire de paiement arrivent dans le désordre et parfois en double. Traitez-les par identifiant d'événement, de manière sûrement répétable.
Rapprochement
Construisez un processus quotidien qui compare vos enregistrements au rapport du prestataire. Des écarts surviennent toujours ; la question est de savoir si vous les trouvez ou si c'est le client.
Pour aller plus loin
Stockez les montants comme des entiers dans la plus petite unité, jamais comme un décimal flottant, et toujours avec un code devise. Stockez aussi le taux de change et le prix réellement affiché — ce sont les données nécessaires dans tout litige et tout rapport.