gpt4 book ai didi

ruby - Stripe 连接 : Charging an existing customer against a "connected" (Standalone) account

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:38 24 4
gpt4 key购买 nike

如果试图通过 connected account 向客户记录(具有关联的信用卡)收费,我得到一个错误声明,“没有这样的客户:cus_xxxx”——尽管当使用“已连接”帐户(通过平台账号)。

例如,考虑以下 Ruby 代码,假设我们有一个 ID 为 acct_ABC123 的“已连接”(独立)帐户:

# Use the (secret) API key for the "platform" or base account.
Stripe.api_key = 'sk_[...]'

customer = Stripe::Customer.create(email: 'customer@example.com')

# Associate a credit-card with the customer.
token = # Generate a token (e.g., using Stripe Checkout).
customer.sources.create(source: token)

# Attempt to charge the card via the connected account...
Stripe::Charge.create({ amount: 150, currency: 'usd', customer: customer.id,
application_fee: 25 }, stripe_account: 'acct_ABC123')

最后一行导致 Stripe::InvalidRequestError 异常,出现上面提到的“No such customer”错误。但是,如果我们只是尝试在“平台”帐户上运行它(没有 stripe_account 参数,也没有 application_fee),同样的费用也可以通过...

Stripe::Charge.create({ amount: 150, currency: 'usd', customer: customer.id }

最佳答案

出于某些(令人困惑和有点奇怪的)原因,您必须添加 creating a new token 的中间步骤向“共享客户”(将通过一个或多个关联账户收费的客户)收费时。因此,假设我们已经创建了带有关联信用卡的 customer(根据问题),工作代码最终看起来像这样......

token = Stripe::Token.create({ customer: customer.id },
{ stripe_account: 'acct_ABC123' })
Stripe::Charge.create({ amount: 150, currency: 'usd', source: token.id,
application_fee: 25 }, stripe_account: 'acct_ABC123')

顺便说一句,我认为 Stripe 的错误消息(“没有这样的客户”)是一个错误,而这个额外的步骤(生成 token )仅对“Stripe Connect”是一个令人困惑的怪癖。

关于ruby - Stripe 连接 : Charging an existing customer against a "connected" (Standalone) account,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44076290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com