Last I checked PayPal requires the credit card type be specified (and
probably wants it to be a valid type - Visa, AMEX, etc.). If you know
that this field does not need to be provided, or can be some invalid
value, or perhaps have a suggested patch for identifying the different
card types based on other data input let me know otherwise I think we
may just want to close this as invalid for the PayPal module. Thoughts?

> Last I checked PayPal requires the credit card type be specified (and
> probably wants it to be a valid type - Visa, AMEX, etc.). If you
> know that this field does not need to be provided, or can be some
> invalid value, or perhaps have a suggested patch for identifying the
> different card types based on other data input

Business::CreditCard will provide a card's type based on the number.
I can certainly understand if you don't have the time or inclination to
write, test and release the changes right now or anytime soon (or
ever); I can't promise I can do it soon either. But maybe we could
leave the bug open, just in case someone else wants to take a crack at
it before we get to it?
Show quoted text

> let me know otherwise I think we may just want to close this as
> invalid for the PayPal module. Thoughts?

I don't think inconsistency with the common interface should just be
closed as invalid because it isn't trivial to fix. If there's any way
at all to make this gateway behave consistently with other B:OP
modules, then I think we should.
If we absolutely cannot do that (are there transactions where we need
to pass the card type but aren't normally supplied with the card
number?), then more drastic changes are probably required to the base
class:
- Standardize on a list of card names (Business::CreditCard names?
something else?)
- Get some sort of introspection going so the module can declare that
it needs full card types.
- Change B:OP recommended best practices to have you pass a card type
if you're not passing a number
- Help from B:OP to pass "CC" to modules that only understand that, and
full card names to modules that need that, without requiring usage
changes for end-users