Как найти способ оплаты при запросе 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
Другие вопросы по тегам