WPML
状态
已解决
报告针对
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'];
    			}
    		}

所有已知问题 →