Express Checkout / Paypal just boots back to checkout
-
Hi there,
We had a customer report Paypal button not working on Express Checkout.
They go off to Paypal, click pay, it then returns back to site and back to Checkout stage, with no attempt to compete the order and as though the Paypal button hasn’t been clicked yet.
It’s not logged as an attempted order in the backend.
I’ve attached a wetransfer download a of a short 10 second video of the customer recording this action on her iphone / Safari.
Not sure if you can help!The page I need help with: [log in to see the link]
-
Hello,
Thank you for reaching out.
We weren’t able to reproduce this issue on our end, but we have made improvements to the Express Checkout process flow in this version : download link
If the customer can test again after updating, please let us know the results — we’re happy to investigate further if needed.
Best Regards
Hi EasyPayment Team,
We have also discovered with Express Checkout that customers are able to checkout in their native currency. We currently use Yaycurrency Pro and even when the store is forcing GBP transactions, we are finding PayPal Express checkout uses their native currency e.g USD.
We need this urgently resolving.
These are the notes we received from YayCurrency to pass onto you:
“It seems that the Paypal Express Checkout button at the top of the Checkout page is not being processed correctly.
– You should contact Payment Gateway for PayPal on WooCommerce plugin to update this function: “wpg_ppcp_currency”, and fix the error Paypal Express Checkout.
– This is a snippet used to temporarily fix the above error. After the Payment Gateway for PayPal on WooCommerce plugin fixes compatibility with YayCurrency, you should disable this”See screenshot

snippet.add_filter('wpg_ppcp_currency', 'yaycurrency_wpg_ppcp_currency', 99, 1);
function yaycurrency_wpg_ppcp_currency($ppcp_currency) {
if (class_exists('Yay_Currency\Helpers\YayCurrencyHelper')) {
$apply_currency = Yay_Currency\Helpers\YayCurrencyHelper::detect_current_currency();
if (isset($apply_currency['currency'])) {
$is_dis_checkout_diff_currency = Yay_Currency\Helpers\YayCurrencyHelper::is_dis_checkout_diff_currency( $apply_currency );
if ($is_dis_checkout_diff_currency) {
$converted_currency = Yay_Currency\Helpers\YayCurrencyHelper::converted_currency();
$fallback_currency = Yay_Currency\Helpers\YayCurrencyHelper::get_fallback_currency( $converted_currency );
if ($fallback_currency) {
return $fallback_currency['currency'];
}
} else {
return get_option( 'woocommerce_currency' );
}
return $apply_currency['currency'];
}
}
return $ppcp_currency;
}Hi @rageaga1nst
Thank you for providing the detailed information and the notes from Yay Currency — this is extremely helpful.
I am currently investigating the Express Checkout currency issue and attempting to reproduce it on my end to identify the exact cause.
I will update you as soon as I have more insights or a confirmed solution.
Thank you for your patience.
Best regards
Hi @rageaga1nst and @psb,
We’ve released version 9.0.50, which includes Yay Currency compatibility for Express Checkout.
Best regards
-
This reply was modified 6 months, 1 week ago by
Jignesh.
Thank you so much – confirmed it’s working perfectly! Really appreciate the quick turnaround. Kudos to the Easy Payment team!
im having a very similar problem that checkout works if customer fill in address ad chose the paypal buttom at the bottom
but if they go through express checkout then when it goes back to the website checkout page i get this error:
EU VAT Number is not valid
ive looked at all my settings and there is litterally nothing that relates to EU VAT numbers
(im getting this error when i test it myself)
Hello @molz,
When you use the normal checkout page, all required fields—including the VAT number—are filled in, so checkout works without any issue. However, when using Express Checkout (PayPal, Google Pay, or Apple Pay), these providers do not return a VAT number. Because of this, your checkout page triggers the VAT number validation and shows the “EU VAT Number is not valid” error.To resolve this, you will need to either disable Express Checkout or disable VAT number validation, since Express Checkout cannot supply a VAT number.
Best RegardsHi EasyPayment team,
We still have a few payments being accepted in USDA from our USA customers. One of which used Apple Pay and the other used PayPal.
I have forced YayCurrency’s settings to charge in GBP. To confirm the store is in GBP as the native currency.
Can we revisit this? Happy to provide further details if needed.
We appreciate everything your team does and has done for us.Matt
Hello,
Thank you for the details.
After reviewing your website, I noticed that the Payment button is enabled on the Product Page and Cart Page. Since the currency switcher plugin allows customers to select a different currency, if a customer chooses USD and pays directly from the Product or Cart page, the order will be placed in that selected currency.
The currency switcher plugin converts prices back to the store’s base currency (GBP) only once the customer reaches the checkout page. However, when a payment is started before reaching checkout, the selected display currency is passed to the payment gateway instead of converting it to GBP.
This flow is how the currency switcher plugin handles currency before checkout, so to ensure all transactions are processed in GBP, you may need to contact their support team for guidance or a filter to enforce the base currency at the payment stage.
Best Regards
OK – I need to replicate the issue. What’s the easiest possible way to perform a test order?
thanks for the advice – express checkout is important to me so i dont want to lose that
but there doesnt seem to be a way to disable VAT number validation – im guessing thats a woocommerce thing or is that something on your plugin
i cant find that anywhere – dont spose you could point me in the right direction?
Hi @molz,
Thanks for your message!
To check where the VAT validation is coming from, could you please share your WooCommerce System Status Report with us?
You can find it here:
wp-admin/admin.php?page=wc-status → click “Get system report”.Then please upload the system report text file using this form:
https://forms.gle/ujw7CrV3eKWYjgPQ6Once we have that, we’ll be able to guide you further.
Also, since this ticket is currently marked as resolved, it would be really helpful if you could create a new support topic on WordPress.org so we can track this issue separately.
Best Regards
-
This reply was modified 6 months, 1 week ago by
You must be logged in to reply to this topic.