更新客户时不会更新Braintree默认付款方式
我在UI中使用BrainTree drop,并生成一个客户端令牌,如下所示:更新客户时不会更新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] ) 但是,
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
}
)