WPML

ภาพรวมของปัญหา

หากคุณกำลังใช้งาน 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'];
    	}
    }

ปัญหาที่ทราบแล้วทั้งหมด