我正在一个名为foodsy的电子商务市场工作。我正在使用stripe connect
。已使用stripe-connect-omniauth
创建已关联的帐户。 foodsy有几个客户。通过
Sku
的订单
Stripe.api_key = "sk_test_o9YlLXk88Df4N2dmsdQtPEqZ"
Stripe::Order.create(
{:currency => 'usd',
:items => [
{
:type => 'sku',
:parent => "sku_7QKrhZJcqcuWBN"
}
] },
{ :stripe_account => "acct_17BTxDCioT3wKMvR" }
)
它会创建一个ID为or_17BUNHCioT3wKMvREWdDBagG
的订单。
存在于食品平台上的顾客购买它,
order=Stripe::Order.retrieve("or_17BUNHCioT3wKMvREWdDBagG",stripe_account: "acct_17BTxDCioT3wKMvR")
order.pay(customer: "cus_7QLGXg0dkUYWmK")
但是此代码返回错误No such customer: cus_7QLGXg0dkUYWmK (Stripe::InvalidRequestError).
客户存在,因为我可以在仪表板上看到他,并且源属性设置在条带上。那么为什么会出错呢?
答案 0 :(得分:8)
问题是客户存在于平台的帐户中,而不是您尝试创建费用的关联帐户。
您需要从平台帐户share the customer到关联帐户:
# 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)
答案 1 :(得分:2)
如果您使用了错误的APiKey,也会发生这种情况