在 Rails 中查询 Braintree 时如何查找付款方式类型

How to find payment method type when querying Braintree in Rails

我正在尝试查询与 Braintree::Customer 关联的付款方式。我想显示附加到帐户的付款方式的类型和附加信息(如果是信用卡,则为卡号的最后 4 位数字;如果是 Paypal 帐户,则为电子邮件)。

我找不到任何关于如何检索 Braintree::PaymentMethod 对象类型(即它是信用卡还是 Paypal 帐户)的文档。

这很重要,因为我需要访问这两种类型独有的属性。

所以我完全忘记了 Ruby 的本地方法以及如何比较对象...

您可以使用.class方法进行简单比较

例如

if Braintree::PaymentMethod.find(token).class == Braintree::PayPalAccount
   payment_type = 'Paypal'
elsif Braintree::PaymentMethod.find(token).class == Braintree::CreditCard
   payment_type = 'Credit Card'
end