- Statut
- Résolu
- Signalé pour
- WPML Multilingual & Multicurrency for WooCommerce 5.3.0
- Résolu dans
- WooCommerce Multilingual & Multicurrency 5.3.1
- Étiquettes de sujet
- WCML
Aperçu de l’anomalie
Si vous utilisez WPML Multilingue et Multidevise pour WooCommerce et son mode autonome avec Stripe comme passerelle de paiement, vous pouvez rencontrer des problèmes lorsque vous tentez d’effectuer des paiements dans une devise secondaire. Plus précisément, la passerelle de paiement Stripe peut ne pas être disponible lors de la validation de commande dans la devise secondaire si elle n’est pas configurée.
Solution de contournement
Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.
- Ouvrez le fichier …/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-stripe.php.
- Recherchez la ligne 78.
- Remplacez :
if ( $gateway_settings && isset( $gateway_settings[ $client_currency ] ) ) { $gateway_setting = $gateway_settings[ $client_currency ]; if ( isset( $gateway_setting['publishable_key'] ) && isset( $gateway_setting['secret_key'] ) ) { $settings['publishable_key'] = $gateway_setting['publishable_key']; $settings['secret_key'] = $gateway_setting['secret_key']; } if ( isset( $gateway_setting['test_publishable_key'] ) && isset( $gateway_setting['test_secret_key'] ) ) { $settings['test_publishable_key'] = $gateway_setting['test_publishable_key']; $settings['test_secret_key'] = $gateway_setting['test_secret_key']; } } - Par :
if ( $gateway_settings && isset( $gateway_settings[ $client_currency ] ) ) { $gateway_setting = $gateway_settings[ $client_currency ]; if ( ! empty( $gateway_setting['publishable_key'] ) && ! empty( $gateway_setting['secret_key'] ) ) { $settings['publishable_key'] = $gateway_setting['publishable_key']; $settings['secret_key'] = $gateway_setting['secret_key']; } if ( ! empty( $gateway_setting['test_publishable_key'] ) && ! empty( $gateway_setting['test_secret_key'] ) ) { $settings['test_publishable_key'] = $gateway_setting['test_publishable_key']; $settings['test_secret_key'] = $gateway_setting['test_secret_key']; } }