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)
归档时间: |
|
查看次数: |
7643 次 |
最近记录: |