更新客户时不会更新Braintree默认付款方式

更新客户时不会更新Braintree默认付款方式,braintree,Braintree,我在UI中使用BrainTree drop,并生成一个客户端令牌,如下所示: token = Braintree::ClientToken.generate(customer_id: some_id, options: {make_default: true }) 然后通过以下方式更新客户: Braintree::Customer.update( some_id, payment_method_nonce: options[:payment_method_nonce] ) 但是,

我在UI中使用BrainTree drop,并生成一个客户端令牌,如下所示:

token = Braintree::ClientToken.generate(customer_id: some_id, options: {make_default: true })
然后通过以下方式更新客户:

Braintree::Customer.update(
    some_id,
  payment_method_nonce: options[:payment_method_nonce]
)
但是,所选信用卡未设置为默认信用卡,因为检查
customer。默认支付方法
始终返回同一张卡。那么,在更新客户时,是否有更新默认付款方式的线索

编辑

经过一些调查,似乎当我添加新的付款方式时,它被设置为默认付款方式,但是当选择保存的付款方式时,它没有被设置为默认付款方式

我最终使用了以下代码:

Braintree::PaymentMethod.create(
  customer_id: some_id,
  payment_method_nonce: options[:payment_method_nonce],
  options: {
    make_default: true
  }
)
充分披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系

这是正确的-您配置的下拉式UI将使新创建的付款方式成为默认方式,但不会对客户为特定交易选择的现有付款方式执行相同的操作

为了获得您想要的结果,我建议使用更新付款方式,如中所示:

充分披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系

这是正确的-您配置的下拉式UI将使新创建的付款方式成为默认方式,但不会对客户为特定交易选择的现有付款方式执行相同的操作

为了获得您想要的结果,我建议使用更新付款方式,如中所示:


谢谢,但是我不是直接向客户收费,而是保存卡供以后使用,我编辑了帖子以包含我用于实现此目的的最终代码,请告知我是否有更好的方法。谢谢,但是我不是直接向客户收费,而是保存卡供以后使用,我编辑了这篇文章以包含我用来实现这一点的最终代码,请告诉我是否有更好的方法。
result = Braintree::PaymentMethod.update(
  "the_token",
  :options => {
    :make_default => true
  }
)