Stripe payments 允许用户以本地货币购买条带SKU

Stripe payments 允许用户以本地货币购买条带SKU,stripe-payments,Stripe Payments,我有一个条纹SKU,其货币为美元,而价格为12000 我想让我的客户用欧元购买此SKU(即花费约85欧元) 为此,我首先使用条带元素创建条带客户,然后创建条带订单,如下所示: Stripe::Order.create({ currency: 'eur', customer: stripe_customer_id, items: [ { type: 'sku', currency: 'eur', parent: stripe_sku_id,

我有一个条纹SKU,其
货币
美元
,而
价格
12000

我想让我的客户用欧元购买此SKU(即花费约85欧元)

为此,我首先使用条带元素创建条带客户,然后创建条带订单,如下所示:

Stripe::Order.create({
  currency: 'eur',
  customer: stripe_customer_id,
  items: [
    {
      type: 'sku',
      currency: 'eur',
      parent: stripe_sku_id,
      quantity: 1,
      amount: 12000
    }
  ],
})
但当我这样做时,我得到了一个例外:

Stripe::InvalidRequestError: Order item currency usd does not match order currency eur.
我认为这是因为OrderItem从SKU(而不是
currency
属性)获取货币,并且SKU是美元


如何使用户能够进行此购买?

您需要使用正确的货币创建SKU,或更新现有SKU。订单需要与包含的项目使用相同的货币。另一种方法是以
usd
创建订单,以该货币呈现给客户,但他们可能需要支付转换成本。@karllekko Stripe不允许我创建两个不同的SKU,它们除了货币之外在各个方面都相同。目前,我使用SKU来表示尺寸,因此如果我使用您的方法而不是使用“XL”SKU,我需要使用“USD-XL”和“EUR-XL”这似乎很老套,但也许这是唯一的方法?同时为每种货币创建单独的SKU将使跟踪库存变得不可能,这是首先使用SKU的一个巨大原因。当然,一定有更好的办法做到这一点!SKU代表仓库中某个地方的物理物品,这些物品可能有大小、颜色等,但货币不是仓库中物品的财产,因此它不应该是相关SKU的财产……我完全同意,并假设这不是stripe的优先事项,因为他们是一家美国公司,认为他们统治着世界,每个人都使用$$,而且地球是平的;)