card-io / card.io-Android-SDK

card.io provides fast, easy credit card scanning in mobile apps
Other
1.99k stars 532 forks source link

Optional postal code #34

Open klaw23 opened 9 years ago

klaw23 commented 9 years ago

Can you add support for an optional postal code? Some of our international users don't have or know theirs (and the banks don't require it).

braebot commented 9 years ago

To be clear, you'd like to see the standard entry screen with the ability to enter the postal code, but allow the user to proceed if the postal code is not entered, correct? This seems reasonably straightforward, and could be specified with another extra.

Just so I ask, why don't you just hide the postal code entry field with EXTRA_REQUIRE_POSTAL_CODE if not required?

klaw23 commented 9 years ago

Yeah, something like EXTRA_OPTIONAL_POSTAL_CODE sounds perfect.

Good question though. We don't actually know up front whether the bank is going to use the postal code to validate the transaction or ignore it until we process the charge. There seems to be some correlation to which country they're in, but I think it's ultimately up to the individual bank.

As an example, our last related customer support request was from a user in Colombia who didn't know their postal code. I believe they technically have them, but they're not used as often as in the US.

tomwhipple commented 9 years ago

The intent of the postal code here is to request the postal code associated with the credit card's billing info, since some card processors can use that info for a validity/anti-fraud check. But ultimately it's a business decision to either accept higher a higher chargeback rate, or require the code to reduce it. If it's optional, fraudsters will simply not enter it, so all you'll do is inconvenience legitimate users.

Therefore I don't think we'll make this change.

klaw23 commented 9 years ago

Payments with paypal and stripe are still hit-or-miss in some countries. We often have to work with customers to troubleshoot payments with their banks and our payment processors, and collecting more data is helpful. That said, just because countries have a postal code though, doesn't mean users should be expected to know it like in the US. We currently are telling users to enter an arbitrary string as their postal code to get past the card.io form if they don't know it.

Paypal's credit card UI makes the postal code optional when you select Colombia as your country (likely for this reason): US: https://www.dropbox.com/s/2yhwoghfjeau36t/Screenshot%202014-12-01%2013.11.27.png?dl=0 Colombia: https://www.dropbox.com/s/v8ll5eewlcwlc95/Screenshot%202014-12-01%2013.07.35.png?dl=0

It seems reasonable that card.io would allow the same behavior.

tomwhipple commented 9 years ago

Hmm. Fair point.

Although we won't know the user's country without explicitly asking or trying to infer it from the locale. It would be pretty easy to do the latter yourself. We might consider the former, but we won't be able to get to it immediately.

klaw23 commented 9 years ago

Having country specific logic seems to be outside the scope of the card.io project as I understand it. If clients had the ability to make the postal code field optional, then they could implement paypal-like logic themselves on a per-country basis.