WPML
ステータス
解決済み
報告対象
WPML Multilingual & Multicurrency for WooCommerce 5.3.0
解決されたバージョン
WooCommerce Multilingual & Multicurrency 5.3.1
トピックタグ
WCML

問題の概要

決済ゲートウェイとしてStripeを使用し、WPML Multilingual & マルチ通貨 for WooCommerceおよびそのスタンドアロンモードをご利用の場合、第2通貨で支払いを行おうとする際に問題が発生する場合があります。具体的には、設定されていない場合、第2通貨でのチェックアウト時に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'];
    			}
    		}

すべての既知の問題 →