当客户存在时,没有这样的客户:cus_7QLGXg0dkUYWmK(Stripe :: InvalidRequestError)

raj*_*raj 6 ruby-on-rails stripe-payments stripe-connect

我正在一个名为foodsy的电子商务市场工作.我是stripe connect为了这个目的而使用的.使用连接帐户创建stripe-connect-omniauth.foodsy有几个客户.Sku在rails控制器中创建的订单

 Stripe.api_key = "sk_test_o9YlLXk88Df4N2dmsdQtPEqZ"
    Stripe::Order.create(
      {:currency => 'usd',
      :items => [
        {
          :type => 'sku',
          :parent => "sku_7QKrhZJcqcuWBN"
        }
      ] },
    {  :stripe_account => "acct_17BTxDCioT3wKMvR" }
    )
Run Code Online (Sandbox Code Playgroud)

它创建一个id为的订单 or_17BUNHCioT3wKMvREWdDBagG.

食品平台上的客户购买,

order=Stripe::Order.retrieve("or_17BUNHCioT3wKMvREWdDBagG",stripe_account: "acct_17BTxDCioT3wKMvR")
order.pay(customer: "cus_7QLGXg0dkUYWmK")
Run Code Online (Sandbox Code Playgroud)

但是这段代码会返回错误 No such customer: cus_7QLGXg0dkUYWmK (Stripe::InvalidRequestError).

客户存在,因为我可以在仪表板上看到他,源属性设置在条带上.那么为什么会出错呢?

Ywa*_*ain 10

问题是客户存在于平台的帐户中,但不存在于您尝试创建费用的已连接帐户上.

您需要将平台帐户中的客户共享到已连接的帐户:

# Create a token from the customer on the platform account
token = Stripe::Token.create(
  {:customer => "cus_7QLGXg0dkUYWmK"},
  {:stripe_account => "acct_17BTxDCioT3wKMvR"}
)

# Retrieve the order on the connected account and pay it using the token
order = Stripe::Order.retrieve("or_17BUNHCioT3wKMvREWdDBagG",
  stripe_account: "acct_17BTxDCioT3wKMvR"
)
order.pay(source: token.id)
Run Code Online (Sandbox Code Playgroud)


Sab*_*bel 8

如果您使用错误的 APiKey,也可能会发生这种情况