Jump to content

Validation du paiement basée sur le langage du navigateur


GuillaumeCW

Recommended Posts

Bonjour,

 

J'ai posté mon problème sur la Forge Prestashop, mais il me semble si "gros", que peut-être des personnes sur ce forum en ont connaissance, ou pourront me dire si je me trompe quelque part. Pour résumer avant d'expliquer en détails, Prestashop génère une exception lorsqu'un client effectue son paiement en ligne depuis un pays inactif, même s'il a indiqué une adresse de facturation et livraison dans un pays actif.

 

Par défaut, Prestashop est installé avec tous les pays configurés comme inactifs, à l'exception de celui renseigné pour la nouvelle boutique. Il correspondra au pays par défaut configuré dans Localisation > Localisation, sauf si l'auto-détection du pays (basée sur la langue du navigateur) est activée, ce qui est le cas par défaut.

 

Activez cette auto-détection si elle avait été désactivée, puis rendez inactif le pays correspondant à la langue de votre navigateur. Passez une commande en renseignant une adresse de livraison/facturation dans un pays actif, et avec une méthode de paiement nécessitant une validation depuis la méthode validateOrder de la classe PaymentModuleCore. Donc un paiement en ligne uniquement, à priori.

 

Cette méthode va lancer une exception avec le message "The order address country is not active."

 

Cette exception est lancée à partir de l'évaluation de l'état actif pour le pays contextuel. Quelle serait la raison d'empêcher la validation du paiement d'une commande, qui serait passée depuis un pays inactif ? Les raisons d'empêcher la livraison dans un pays sont évidentes. Celles d'empêcher la facturation dans un pays me semblent assez floues. Mais celles d'empêcher de passer commande en fonction de la langue de son navigateur : je ne vois pas du tout.

 

Il suffit de désactiver l'auto-détection du pays pour résoudre ce problème, mais ce comportement me semble inapproprié. Quelqu'un a t-il déjà expérimenté ce cas de figure ?

Edited by GuillaumeCW (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...