- Статус
- Решено
- Заявлено для
- WPML Multilingual & Multicurrency for WooCommerce 5.3.0
- Решено в
- WooCommerce Multilingual & Multicurrency 5.3.1
- Теги темы
- WCML
Обзор проблемы
Если Вы используете WPML Multilingual & Multicurrency for WooCommerce и его автономный режим со Stripe в качестве платёжного шлюза, Вы можете столкнуться с проблемами при попытке совершить оплату в дополнительной валюте. В частности, платёжный шлюз Stripe может быть недоступен при оформлении заказа в дополнительной валюте, если он не настроен.
Обходное решение
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.
- Откройте файл …/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-stripe.php.
- Найдите строку 78.
- Замените:
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']; } } - На:
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']; } }