如何更新属于 Stripe 关联账户的客户?

How to update a customer belonging to a connected account in Stripe?

我正在构建一个 Rails 5.2 应用程序。在这个应用程序中,我集成了 Stripe Connect。 我目前正在构建一项功能,我的客户可以在其中注册他们的客户订阅。前端是Angular11.

用户输入付款数据后,我需要将此付款方式附加到创建的客户,但我也做不到。

当我使用此代码时,它说找不到客户(即使我使用了正确的 ID)。我想这是因为我将客户创建到关联帐户。

问题是我无法将 stripe_account ID 设置为代码。

customer = Stripe::Customer.update(
  params[:customer],
  invoice_settings: { 
    default_payment_method: params[:payment_method_id] 
   }

)

如果我尝试这个,它说 stripe_account 参数无效。

"(Status 400) (Request req_sByQlJONJi0oHt) Received unknown parameter: stripe_account"

customer = Stripe::Customer.update(
      params[:customer],
      invoice_settings: { 
        default_payment_method: params[:payment_method_id] 
       }, stripe_account: params[:account]
   )

基本上,我如何更新属于关联帐户的客户?

update 定义如下所示:

def update(id, params = {}, opts = {})

所以在你的例子中,stripe_account 是在 params 参数而不是 opts 参数中传递的。将参数括在方括号中 ({}).

customer = Stripe::Customer.update(params[:customer], 
                                     {invoice_settings: {default_payment_method: params[:payment_method_id]}}, 
                                     {stripe_account: params[:account]})