具有多种货币转换的条带结帐会话取决于语言环境

Stripe checkout session with multi currency conversion depend on locale

我使用 Stripe 结帐会话为我的应用创建结帐页面。 所有产品价格默认货币为 'USD'。但我想转多币种取决于美国海外客户的语言环境浏览器。

示例:产品价格为 50 'USD'

如果我住在德国,那么结账应该是德国 的所有银行业务,支持 Stripe,金额应该转换为42.33 'EUR'

stripeServer.checkout.sessions.create({
    customer_email: email,
    line_items: [
      {
        price: 'price_id'
      }
    ],
    payment_method_types: mode === STRIPE.PAYMENT_TYPE.SUBSCRIPTION ? ['card'] : ['card', 'alipay'],
    mode,
    billing_address_collection: 'auto',
    locale: location || 'auto',

但现在只是根据位置转移语言,价格仍然只是'USD'而不是'EUR'

Stripe checkout session images

我已经阅读了 Stripe 的文档,但只支持将利润计入您的银行账户的支出 https://stripe.com/docs/payouts

所以现在如果印度客户或新加坡客户想要付款,我需要使用他们所在国家/地区的货币创建一个新的价格 ID。我们有其他解决方案吗?

感谢您对我的建议和支持

Stripe 目前不支持那种自动货币转换,不。

如果您想以不同的货币向不同地点的客户收费,那么您必须告诉 Stripe 根据您自己的特定业务逻辑以货币 Y 收取金额 X。

如果使用 Checkout,您可以创建一个产品并可以用不同的货币定义各种价格,https://stripe.com/docs/billing/prices-guide。 您使用当地货币的金额是您作为商家在设置时决定的。所以是的,正如您所描述的,您想为他们的 country/currency 组合创建一个新的价格。

更一般地说,我想指出您可能 不想 只想直接转换,您实际上想根据当地竞争对手有意识地为您的产品定价并购买像 Big Mac Index 一样强大。如果你 Google “价格本地化”,那么有很多关于这种事情的博客。例如,50 美元大约是 3,600 印度卢比,但印度的平均月薪是(从 Google 中随机举个例子),16,000 印度卢比。因此,如果您只是进行直接转换而不是有意识地为您的产品定价,那么“50 美元”的商品对于该国家/地区的印度客户来说是一个更昂贵的提议。