避免 Stripe 中货币的双重转换

Avoiding dual conversion of currency in Stripe

我们使用 Stripe 向我们的客户收取每月订阅费用。我们的总部设在英国,我们有一家英镑银行。我们以美元发布价格,因此我们在 Stripe 中的计划有美元金额。

在向英国客户收费时,如何避免从客户信用卡的英镑到我的价格的美元再到我的银行账户的英镑?我宁愿不换算 GBP -> GBP。

或多或少同样适用于其他货币,我宁愿使用 EUR -> GBP 而不是 EUR -> USD -> GBP。

您需要以英镑设置不同的计划,并为您的英国客户订阅其中一种计划,而不是其中一种美元计划。

一种可能的方法是这样的:

  1. 使用Stripe.js or Checkout收集客户卡信息。

  2. 在您的后端,retrieve the full token object using the token ID, and check the card's issuing country via the card.country 属性。

  3. 根据国家/地区("GB" 与否),向您的客户显示正确的金额和货币(英镑或美元)。

  4. 客户确认后,create a customer object with the token and subscribe them到正确的计划。

来自 Stripe 支持的 Fred:

Conversion between currencies only happens once when funds are transferred to your Stripe account. If your account is in GBP, and your customer is in GBP, you won't be charged the 2% conversion fee.

When you charge in USD, and have a GBP bank account, Stripe does a quick exchange rate calculation to convert the USD amount into the equivalent GBP amount. Conversion fees are only charged when your customer's currency doesn't match your bank's currency.

More documentation on this here: https://support.stripe.com/questions/which-currencies-does-stripe-support

所以,我想要的会自动发生。