Как найти способ оплаты при запросе Braintree в Rails
Я пытаюсь запросить способ оплаты, связанный с Braintree::Customer
, Я хотел бы отобразить тип метода (-ов) оплаты, привязанного к учетной записи, и дополнительную информацию (последние 4 цифры номера карты, если это кредитная карта; электронная почта, если это учетная запись Paypal).
Я не могу найти документацию о том, как получить тип Braintree::PaymentMethod
объект (т. е. будь то кредитная карта или учетная запись Paypal).
Это важно, потому что мне нужно получить доступ к атрибутам, которые являются эксклюзивными для любого типа.
1 ответ
Решение
Поэтому я полностью забыл о нативных методах 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