Bonjour,

Je suis un jeune ingénieur de développement pour un site internet commercial français.
Nous sommes en train de développer la version américaine du site, et j'aurais une question sur les best practices de la gestion multi-monnaies.

Laissez-moi vous expliquer rapidement.

Nous vendons un certain nombre de produits sur le site. Pour eux, il n'y a pas de soucis. Les prix sont gérés en base pour chaque site, avec les monnaies qui vont bien (EUR/USD).

Là où ça se corse, c'est que nous vendons aussi des "crédits", qui sont des sommes d'argent associées au compte qui pourront être utilisées pour valider son panier en 1 clic sans passer par les solutions de paiement habituelles.

Le problème est le suivant : imaginons une personne achetant 10$ de crédits sur le site US, puis pour une raison inconnue, vient faire ses achats finaux sur le site FR. Il se connecte, va dans son compte consulter son crédit ... que se passe-t-il à ce moment là ?

Techniquement, je peux très bien maintenir à jour une table des taux de conversions de devise, ça c'est pas un problème. Le problème est plus conceptuel.

Si je stocke tout en euros, même si c'est acheté sur le site US puis affiché en $ grâce à des fonctions de conversions, une personne peut acheter 10$ de crédits et se retrouver 2 semaines après avec 9.80$ sans avoir rien acheté, juste à cause des taux de conversion vu qu'on aura stocké son achat en euros dans la base.

Si je différencie les devises, c'est un bordel monstrueux entre les gens qui vont acheter des crédits US puis des crédits FR, aller les consulter sur l'un ou l'autre des sites, etc ...

Je suis nouveau dans le e-commerce, je n'ai jamais été confronté à cette situation auparavant et j'avoue que j'aurais bien besoin de conseils de pros à ce sujet.

D'avance merci beaucoup à ceux qui pourront m'éclairer.

EDIT : Doit-on tout simplement séparer les comptes utilisateurs crées sur le site US des comptes FR, interdisant du coup le login avec les mêmes IDs sur les deux sites ? Ce serait une solution simple mais qui ne plaira pas beaucoup à mon patron ...