• Resolved tbo460

    (@thibotus01)


    Hi,
    There is a conflict with WPML and last version. When in different language than origin, error 500 on checkout page:

    2025/11/25 17:25:49 [error] 10208#10208: *564926 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to a member function get_currency() on false in /public/wp-content/plugins/woo-stripe-payment/includes/abstract/abstract-wc-payment-gateway-stripe-local-payment.php:303

    Stack trace:

    #0 /www/public/wp-content/plugins/woo-stripe-payment/templates/checkout/local-payment.php(9): WC_Payment_Gateway_Stripe_Local_Payment->is_local_payment_available()

    #1 /www/public/wp-content/plugins/woocommerce/includes/wc-core-functions.php(346): include('/www/...')

    #2 /www/public/wp-content/plugins/woo-stripe-payment/includes/wc-stripe-functions.php(17): wc_get_template('checkout/local-...', Array, 'woo-stripe-paym...', '/www/...')

    #3 /www/public/wp-content/plugins/woo-stripe-payment/templates/checkout/stripe-payment-method.php(25): wc_stripe_get_template('checkout/local-...', Array)

    => I couldn’t find a previous version of your plugin to rollback. Please make available previous versions.

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Clayton R

    (@mrclayton)

    Hi @thibotus01

    You can download previous version by going to the Advanced Page of the plugin. The code that’s triggering the error has not changed for about 4 years so it’s very stable. This plugin wouldn’t be the reason for that error.

    Here is that code for your reference:

    if ( isset( $wp->query_vars['order-pay'] ) ) {
    $order = wc_get_order( absint( $wp->query_vars['order-pay'] ) );
    $currency = $order->get_currency();
    $billing_country = $order->get_billing_country();
    $total = $order->get_total();
    }

    It appears WPML is using an incorrect query parameter since order-pay is reserved by WooCommerce and should always be the order ID.

    Kind Regards

    Thread Starter tbo460

    (@thibotus01)

    Downgrading to WPML multicurrency for woocommerce 5.5.23 fixed the issue: https://wpml.org/download/wpml-multilingual-multicurrency-for-woocommerce/?section=changelog

    The last version 5.5.3 seems to be the issue but why your plugin is in the stack tracce?

    Thank you,

    Plugin Author Clayton R

    (@mrclayton)

    Hi @thibotus01

    The last version 5.5.3 seems to be the issue but why your plugin is in the stack tracce?

    The error is occurring in the Stripe plugin, but the Stripe plugin is not the reason for the error. The order-pay query parameter is used by WooCommerce and should always be an order ID. For some reason your multicurrency plugin is using that query parameter for something other than a valid order ID.

    We can certainly add some error handling so that PHP error doesn’t trigger, but it doesn’t change that something is wrong with the currency plugin.

    Kind Regards

    Thread Starter tbo460

    (@thibotus01)

    Ok thank you, will see to contact WPML.

    Thread Starter tbo460

    (@thibotus01)

    Disabling Astra theme and renabling it fixes the issue.. Crazy thing.

Viewing 5 replies - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.