This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| - | 9:00 – 13:00 | 9:00 – 13:00 | 9:00 – 13:00 | 9:00 – 13:00 | 9:00 – 13:00 | - |
| - | 14:00 – 18:00 | 14:00 – 18:00 | 14:00 – 18:00 | 14:00 – 18:00 | 14:00 – 18:00 | - |
Supporter timezone: America/Los_Angeles (GMT-07:00)
This topic contains 9 replies, has 0 voices.
Last updated by veronicaC-12 6 months, 1 week ago.
Assisted by: Bobby.
| Author | Posts |
|---|---|
| October 1, 2025 at 12:32 pm #17448568 | |
|
veronicaC-12 |
Background of the issue: Symptoms: Questions: |
| October 1, 2025 at 10:06 pm #17450296 | |
|
Bobby WPML Supporter since 04/2015
Languages: English (English ) Timezone: America/Los_Angeles (GMT-07:00) |
Hi there, Just to verify are you using different stripe APIs at the moment? I am not able to find a known issue or any other similar reported issues in our database, however, I did see other Stripe users mention this issue even when not using WPML and they mentioned that one culprit is multiple API keys |
| October 2, 2025 at 8:01 am #17450836 | |
|
veronicaC-12 |
Hi Bobby, I have already mentioned above that we are using different Stripe accounts for different currencies, and this setup is working properly at the time of order placement. For example, when a customer chooses USD, the payment goes to Stripe account A, and when they select EUR or GBP, the payment goes to Stripe account B. Refunds for USD orders are working correctly, but refunds for EUR and GBP orders are not working as expected. We are using the default Stripe plugin along with WPML Multilingual & Multicurrency for WooCommerce to handle the multicurrency setup. If you require any more information, please let me know. |
| October 2, 2025 at 6:29 pm #17452902 | |
|
Bobby WPML Supporter since 04/2015
Languages: English (English ) Timezone: America/Los_Angeles (GMT-07:00) |
Thank you for confirming, however, what I want to put focus on is the following part of my response "other Stripe users mention this issue even when not using WPML and they mentioned that one culprit is multiple API keys" This seems like it is a known issue with Stripe when it comes to multiple API keys, while I review the backend please in the meantime also contact Stripe's support as they might be able to help from their side as well. I would like to request temporary access (wp-admin and FTP) to your site to test the issue. **Before we proceed It is necessary to take FULL BACKUP of your database and your website. Providing us with access, you agree that a backup has been taken ** I often use the Duplicator plugin for this purpose: http://wordpress.org/plugins/duplicator/ NOTE: If access to the live site is not possible and the staging site does not exist please provide me with a duplicator package created with the duplicator plugin. Thank you, |
| October 3, 2025 at 7:09 am #17453509 | |
|
veronicaC-12 |
Hi Bobby, To test this issue, you can set up the WooCommerce Stripe Gateway along with WPML configured for multiple currencies, such as USD, GBP, and EUR. Please ensure your Stripe account is properly set up. On the product page, use the language switcher to place orders in different currencies. For configuring payments in each currency, kindly refer to the previously shared attachment and use the same Stripe publishable and secret keys for the EUR and GBP languages as well. Then, try placing and refunding orders to better understand the issue. It appears that there is no problem with using multiple Stripe keys for order placement - orders are being placed successfully using two different Stripe accounts. However, the refund process does not seem to work as expected. If your plugin supports multiple payment options, it's important to ensure that all payment-related scenarios, including refunds, function smoothly. Currently, while the order placement works, the refund may fail - especially when processed in a different currency. It seems that during a refund, the system might be using credentials from Stripe Account A instead of Stripe Account B, causing it to not locate the correct charge ID and resulting in a failed refund. Please let me know if you need more details. Thanks! |
| October 3, 2025 at 5:05 pm #17455126 | |
|
Bobby WPML Supporter since 04/2015
Languages: English (English ) Timezone: America/Los_Angeles (GMT-07:00) |
Thank you for the above details! One item I want to clarify on is, how are you configuring the multiple stripe accounts? Are you adding separate stripe API keys per currency configuration? |
| October 4, 2025 at 6:35 pm #17456252 | |
|
veronicaC-12 |
Hi Bobby, Yes, we are adding separate stripe API keys per currency configuration! |
| October 6, 2025 at 7:53 pm #17461888 | |
|
Bobby WPML Supporter since 04/2015
Languages: English (English ) Timezone: America/Los_Angeles (GMT-07:00) |
Thank you for confirming. From feedback I received from our team it looks like this is most likely not supported by WCML. Additionally from feedback coming from online discussions it also looks like this is not supported natively by Stripe, unless a separate plugin is used. I will go ahead and escalate this to our Dev team for further feedback as it looks like this might not be a supported functionality. |
| October 7, 2025 at 10:56 pm #17465565 | |
|
Bobby WPML Supporter since 04/2015
Languages: English (English ) Timezone: America/Los_Angeles (GMT-07:00) |
Update: We are working internally to further escalate this into development in order to also support refunding. I will update you here again once I have more feedback. |
| October 8, 2025 at 8:05 am #17466109 | |
|
veronicaC-12 |
Okay, Thanks! |
