如果尝试通过 connected account向客户记录(具有关联的信用卡)收费,我收到错误声明,"没有此类客户:cus_xxxx&# 34; - 即使使用"已连接的" ,向同一个客户付费也能正常工作。帐户(通过平台帐户充值时)。
例如,考虑以下Ruby代码,假设我们有一个" connected"标识为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
例外,其中包括"没有这样的客户"上面提到的错误。但是,如果我们只是尝试在平台上运行它,那么相同的费用将会很好。帐户(没有stripe_account
参数,没有application_fee
)...
Stripe::Charge.create({ amount: 150, currency: 'usd', customer: customer.id }
答案 0 :(得分:7)
对于某些(令人困惑且有点奇怪)的原因,您必须在对#34;共享客户"提出指控时添加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的错误消息("没有这样的客户")是一个错误,而且这个额外步骤(生成令牌)只需要& #34; Stripe Connect"指责令人困惑的怪癖。