条纹客户:未定义的方法`payment_method`

时间:2019-07-15 15:54:47

标签: ruby stripe-payments

我正在研究Stripe的更新。我们使用了Stripe的费用对象,但它与3DSecure不兼容,因此我迁移到了PaymentIntent API。

问题在于,当我创建一个Stripe客户时,我想按照文档https://stripe.com/docs/api/customers/create#create_customer-payment_method

中的说明附加付款方式。

在控制台中,我可以执行以下操作:

customer = Stripe::Customer.create(email: user.email)
customer.payment_method = 12345
customer.payment_method
=> 12345

第一个奇怪的行为:

customer = Stripe::Customer.create(email: user.email)
customer.payment_method
=> NoMethodError (undefined method `payment_method' for #<Stripe::Customer:0x00007fd894fda560>)

customer.payment_method引发NoMethodError而不是nil(如果没有值)。

无论如何。在控制台中,我可以创建一个Stripe客户,然后附加一个payment_method。

但是当我尝试使用此代码的服务时:

  def self.update_source(customer, payment_method_id)
    customer.payment_method = payment_method_id
    customer.save
  end

我得到一个错误:

17:42:26 server.1 | (Status 400) (Request req_4aDqavkYeg5q3m) Received unknown parameter: payment_method_id excluded from capture: Not configured to send/capture in environment 'development'
17:42:26 server.1 |
17:42:26 server.1 | Stripe::InvalidRequestError (Received unknown parameter: payment_method_id):

我不知道为什么代码可以在控制台中运行,但不能从我的服务中运行。我使用的是Stripe gem的最新版本…

有什么主意吗?

0 个答案:

没有答案