Ruby on rails Stripe token直接收费,但不通过平台收费

Ruby on rails Stripe token直接收费,但不通过平台收费,ruby-on-rails,stripe-payments,Ruby On Rails,Stripe Payments,这是一个我无法理解的特定于条纹的问题 最初,我将我的条带连接设置设置为“直接收费”,这意味着平台将收取费用,但费用将直接支付给收件人。我们的问题是stripe从用户那里收取费用,我们希望它从我们这边收取费用 因此,我们需要通过平台充电 现在,当我直接收费测试代码时,它可以工作,但是当我通过平台将其更改为时,它会说: No such token: tok_16lFgxDVBtbPPV 这是我直接收费的代码(这是有效的): 下面是我通过平台收费的代码: token = Stripe::Toke

这是一个我无法理解的特定于条纹的问题

最初,我将我的条带连接设置设置为“直接收费”,这意味着平台将收取费用,但费用将直接支付给收件人。我们的问题是stripe从用户那里收取费用,我们希望它从我们这边收取费用

因此,我们需要通过平台充电

现在,当我直接收费测试代码时,它可以工作,但是当我通过平台将其更改为时,它会说:

No such token: tok_16lFgxDVBtbPPV
这是我直接收费的代码(这是有效的):

下面是我通过平台收费的代码:

  token = Stripe::Token.create( { customer: customer.stripe_customer_id }, stripe_account: @user.uid)
  Stripe::Charge.create({
    amount: total_amount,
    currency: 'usd',
    source: token,
    application_fee: platform_fee,
    destination: @user.uid
  })
问题是,通过平台收费时,代币的创建方式是否会有所不同


以下是易于参考的文档:

当您使用
token=Stripe::token.create({customer:customer.Stripe\u customer\u id},Stripe\u account:@user.uid)创建令牌时,
在用户的Stripe帐户中创建令牌。当您在用户帐户中创建费用时(如第一个示例中所示),这样做很好。但是,在第二个示例中,费用是在您的帐户中创建的。当费用在您的帐户中时,实际上不需要创建新的代币,因为您只需向客户收费并设置目的地即可

这应该做到:

 Stripe::Charge.create({
    amount: total_amount,
    currency: 'usd',
    customer: customer.stripe_customer_id,
    application_fee: platform_fee,
    destination: @user.uid
  })

使用
token=Stripe::token.create({customer:customer.Stripe\u customer\u id},Stripe\u account:@user.uid)创建令牌时
将在用户的Stripe帐户中创建令牌。当您在用户帐户中创建费用时(如第一个示例中所示),这样做很好。但是,在第二个示例中,费用是在您的帐户中创建的。当费用在您的帐户中时,实际上不需要创建新的代币,因为您只需向客户收费并设置目的地即可

这应该做到:

 Stripe::Charge.create({
    amount: total_amount,
    currency: 'usd',
    customer: customer.stripe_customer_id,
    application_fee: platform_fee,
    destination: @user.uid
  })

当令牌已被使用时,通常会发生此错误。stripe
标记在过期之前在生命周期中仅使用一次是的,但正如您所看到的,我每次都会生成一个新的标记,这就是我感到困惑的原因。当使用标记时,此错误经常发生。stripe
标记在过期之前一生中只使用一次是的,但是正如您所看到的,我每次都会生成一个新的标记,这就是为什么我感到困惑的原因