This page is dedicated to covering most of the details about how currency works with your Stripe account when accepting WeChat Pay and Alipay.
China Payments Plugin has no currency restrictions
China Payments Plugin imposes absolutely zero currency restrictions on the type of currency you can accept, however, based on the location of your Stripe account and your default Stripe account currency, you're limited to accepting the currencies that Stripe will allow you to accept for each Payment Method.
When accepting WeChat Pay or Alipay, customers will be presented with the default currency of your Stripe account, and once redirected to WeChat Pay or Alipay, then they will be presented with the CNY equivalent to complete payment. You can read more about how it works on this page. See our Currency Conversion API docs for a workaround or read the Info box immediately below this one for another alternative option.
After lengthy discussions with Stripe support around this issue, Stripe has informed us that you can apply for additional currencies to be accepted via WeChat Pay and Alipay if the Stripe account qualifies. Please contact Stripe support to see if they will fulfill this request. Keep in mind that as of July 02, 2021, it is not possible for Stripe to allow CNY as the presentment currency (see below) for WeChat Pay and Alipay, but perhaps other currencies will be possible for your Stripe account.
The currency displayed at checkout for WeChat Pay payments must be one of the presentment currencies available for WeChat Pay on your Stripe account.
As of Feb 25, 2021, those currencies may be: AUD, CAD, EUR, GBP, HKD, JPY, SGD, or USD. These may change as WeChat Pay becomes available for more and more Stripe countries.
When checking out, you customers will see the payment form with one of the currencies above based on the location of your Stripe account. This is called the presentment currency.
After your customer scans the WeChat Pay QR code using their mobile device, they'll be redirected to pay the equivalent converted amount in CNY.
The conversion rate is handled is on the Stripe + WeChat side, so you won't ever see the amount your customer pays in CNY. Your Stripe Dashboard will show the payment amount in your Stripe account's default currency.
For example, if your Stripe account is registered in the US, then your website payment flow for WeChat Pay must display USD to your customers. If in Hong Kong, then HKD, and so on.
The exchange rate is the spot rate determined by the China Construction Bank or China Citic Bank. Please visit WeChat's website for more details!
When using Stripe Connect, your Stripe account's default currency is pulled in automatically and your payment form will display it accordingly.
If your website is set to accept a different currency than what is supported for WeChat Pay on your Stripe account, then you may need to find a workaround solution, such as a multi-currency plugin that will let you display product prices in multiple currencies. You would then need to "restrict" your China-focused products to only display the supported currency.
We have various error messages throughout our settings that inform admins if this is the case, but please submit a ticket if you're having trouble.
Alipay works very similarly to WeChat Pay in the fact that you can only charge in the currencies supported by Alipay based on the location of your Stripe account (see list above).
You can accept credit cards payments in any of the 135+ Stripe supported currencies, no matter the location of your Stripe account.