首页 > 解决方案 > Stripe::Customer.create 未将付款方式附加到客户

问题描述

我正在创建一个设置意图并从中接收付款方式的 ID。然后我使用以下代码创建客户

customer = Stripe::Customer.create({
      email: current_user.email,
      description: "Customer for subscription",
      payment_method: params[:payment_method]
    })

它正在返回以下响应

{
  "id": "cus_IZmhg4VhIwFUBI",
  "object": "customer",
  "address": null,
  "balance": 0,
  "created": 1608037176,
  "currency": null,
  "default_source": null,
  "delinquent": false,
  "description": "Customer for subscription",
  "discount": null,
  "email": "customer@example.com",
  "invoice_prefix": "76BF0C5E",
  "invoice_settings": {
    "custom_fields": null,
    "default_payment_method": null,
    "footer": null
  },
  "livemode": false,
  "metadata": {
  },
  "name": null,
  "next_invoice_sequence": 1,
  "phone": null,
  "preferred_locales": [

  ],
  "shipping": null,
  "tax_exempt": "none"
}

问题是,它没有将付款方式附加到客户,当我尝试使用客户对象创建订阅时,它返回以下错误:

Stripe::InvalidRequestError(此客户没有附加支付来源或默认支付方式。):

但是当我查看仪表板时,付款方式已经附在客户身上

标签: ruby-on-railsstripe-payments

解决方案


payment_method附上,您可以为客户列出它们。然后,您需要invoice_settings.default_payment_method为客户显式设置 ,这将用于创建订阅。


推荐阅读