Why are payment forms so complicated?
blog.siftscience.com
blog.siftscience.com
A much better system would be if you could get a temporary number where the merchant can withdraw exactly the amount you need to pay and no more. No charge-backs possible. That's not a problem since the reason we need charge-backs is to patch up the fact that people can randomly take money from you just by knowing the credit card number, which you need to send around to make payments.
Even better is this. At checkout the merchant's site would redirect you to yourbank.com/makepayment?amount=X&target=themerchantsaccount. There you would log in (if you were not already logged in) and click confirm, and the bank would send the money to the merchant. Very user friendly and secure, and no chargebacks. In the Netherlands we have such a system, it's called iDEAL and pretty much all dutch e-commerce uses this. The nice thing is that if your bank is secure, it's secure. You are not relying on thousands of individual merchants implementing security correctly, and you are not relying on the merchant not being evil.
Or bitcoin of course.
But, your point in general regarding the fact that divulging your info for one simple payment can expose you so horrendously is very true. Same with other info, like your SSN.
Too much of our current approach to "security" is based on protecting access to informarion, which is the core problem. In my business, we work with a number of retailers, large and small. It is breath-taking how exposed and naive some of these guys are. And, they are handling personal info for millions of people.
In general, we should have learned long ago that it is impossible to secure the data in all cases, so we need systems and processes that assume the data will fall into the wrong hands.
Of course, this is easy to do in a small country with less than 10 banks, which all trust one another.
> Card, PIN 1234 -> bank -> access John Smith's account -> access "1234" setting (max transaction of $50 otherwise declined).
> Cart, PIN 2345 -> bank -> John Smith -> 2345 is only valid on weekdays
I originally thought of it as a way for parents to loan kids their cards, give them a temporary PIN to use.
Might make more sense to adapt it into the CVV system (or a new system), where each specific CVV would correspond to a setting you determine. They can be created by you quickly and securely with a bunch of constraints.
But then I realised I had no idea how CCs worked, and assumed I'd either have to get a bank on board, or a CC company to implement it, and gave up.
I live in the UK and want to have stuff shipped to family in the US. I've had vendors of all sizes turn away my business because either they didn't like my IP or wouldn't let international addresses order at all.
Amazon(.com) has literally earned themselves thousands in additional sales because they happily accepted my UK payment to a US address without fuss or hassle.
You might say this is a niche situation but money is money, and I've had lot's of small vendors lose out because they were "US only!"
I now also have a "flower guy" because they're the only one in the city who will do international flower orders...
PS - Specific example, NewEgg, wanted to buy a several hundred dollar laptop - couldn't. Used Amazon instead.
On the internet, everything is measurable, and fraudsters leave behind tracks they’re not even aware of. What IP address is the user coming from?
edit: oh, you probably mean 'why do you think (random business) refusal is IP based'.
The problems are:
(1) This will never work for a single vendor (unless it's a massive vendor like Amazon, and they're already doing it). It's something the bank has to do so it can tie together all the information about you.
(2) Banks have proven to be totally useless at online security in the past, and I don't see that changing any time soon.
(3) Google-style security can be a bit annoying when you really are logging in from an internet cafe in a foreign country.
(I don't work for Threatmetrix- but I do use their product as provided via Cybersource.)
We don't do things like two-factor auth -- in general, we believe in minimizing friction. It's a better user experience, and if you can prevent fraud without burdening the user, why not?
We have more information with some examples of signals our system uses here: https://siftscience.com/large-scale-machine-learning
Merchant-side fraud prevention schemes are not security. They are heuristics for reducing the number of bad transactions that the vendor has to handle.
Algorithms should be air-tight. Yes, the best way to ensure that they are is to make them public. Heuristics by definition are not airtight. The best way to get utility from them is to keep their nature hidden from parties trying to abuse the system.
It's the same thing with, say, shoplifting. If you own a thrift store, and you see someone come in with a heavy coat, you might think nothing of it. But if that person acts suspiciously and holds his hands in his pockets, you may inquire as to whether that person is shoplifting. Of course, people do walk around suspiciously with hands in the pockets of big coats who are not shoplifting, but false positives like that are removed when the human element steps in at the last stage.
That doesn't seem very defensible.
And remember that the goal isn't to absolutely eliminate fraud, it's to reduce it to the point where it has negligible impact on profitability.
Except that enables people to gain information about your fraud detection system.
Seriously, they blocked the entirety of Linode's IPv6 range and there's absolutely nothing you can do about it.
Well, you can submit a false flag report, but Google customer support for suspected bots isn't great.
Amazon has a UK presence so it's only natural they accept payments from there. But it's very myopic to insist all other vendors do the same since many don't have the resources to pursue fraud cases overseas. They barely manage to get through locally.
I used to work at a fashion house that didn't ship outside the U.S. simply due to our AVS not being able to valiate addresses outside the 50 states. Losing thousands of dollars to fraud during a bleak economy isn't how people stay in business.
Amazon UK has nothing to do with the transaction. It is all through Amazon (US/.Com).
Edit: Let me clarify further...
U.S. Businesses rent services here that let their AVS take advantage of anti-fraud measures. Many of these services don't even bother looking at the shipping address, but do look at the billing to make sure the card number matches the account holder information. These services often times have no information on overseas card holders so they have no means to verify whether the actual card holder made the purchase.
Now you also have some vendors who make sure the billing address == shipping address as that's a cheap way to prevent fraud (or at least reduce it). That's not what I was talking about.
If someone uses a stolen credit card with a working address then the AVS has done nothing to mitigate the fraud, if they use a non-working address then it bounces up-stream and the AVS has done nothing, and if there is no fraud then the AVS has done nothing...
So explain to me exactly what the AVS's point is? And how it saves companies money? Isn't it up to the bank to decide what is and is not a valid address for usage with the card?
All you're doing is hitting real customers (including international ones).
http://en.wikipedia.org/wiki/Address_Verification_System
AVS doesn't work all that well outside the U.S. (Amex declines it outright) And services that do work outside are often value added (read: expensive) and for businesses that primarily cater to U.S. customers, isn't worth the price. AVS isn't just a "bank service". It's only available to merchants that use a gateway that supports it (same for CVV/2) : https://support.mivamerchant.com/supportsuite/index.php?/Kno...
And of those gateways, some don't support AVS outside mainland U.S. or only partially.
Those businesses aren't "losing money" by not catering to you. On the contrary, they're saving quite a bit by focusing on local customers.
If the causes us to miss out on a few sales it is small price to pay compared to getting hit with chargebacks.
Also AVS works fine in the UK as well as the US.
I use a PO box as my billing address. I never have anything shipped to my billing address. Also, my PO box shows up nowhere in my wallet, so, if it gets stolen, at least the thief won't have a valid billing address to use with my cards. And merchants who check billing address will decline his order when it comes through with my driver's license address.
I've never had a problem with an online merchant using the tactic you advocate. However, if I did, I would be royally pissed and bad-mouth the vendor online. Far from reducing fraud, your tactic would serve to increase it!
If you tried to order from one of those companies and failed their check, sure, they might lose your order, but it's a game of probabilities and you're making yourself a statistical outlier.
As for going on-line and bad-mouthing a vendor who uses this technique to reduce fraud, that's between you and your conscience, but if you in any way claimed that they were insecure and cost them business, don't be surprised if it becomes between you and their lawyers.
As a side note, the most heavy handed and dumb fraud detection processes I ever saw where fom very small shops who would for instance try to hand mail or phone you to have you fax them some doc.
It's a real PITA, but since someone taje time to communicate with you in a people to people level, usually I wouldn't just cancel, and try to make it work out.
Knowledge of the billing address is a means of authentication, as is knowledge of the expiration date and the CVV2. A different billing address enhances security, since a typical thief would be expecting the billing address to match whatever fleeting knowledge of the customer he gleaned during the theft. I've done many transactions using a PO box billing address and a street shipping address, all without a problem.
> As for going on-line and bad-mouthing a vendor who uses this technique to reduce fraud, that's between you and your conscience, but if you in any way claimed that they were insecure and cost them business, don't be surprised if it becomes between you and their lawyers.
My conscience says, you inconvenience me, I tell others!
As they say in Texas, Bring It On. In the United States of America, truth is an absolute defense! That means, even if you go out of business because your story was told, you've got no case unless you can prove the story teller lied deliberately while knowing the truth.
Right, but requiring that physical products are only ever sent to an address that is known to be associated directly with the card holder, at least the first time when you don't "know" the card holder yet, reduces the likely gain from fraud to near zero for third parties. That is a far more effective deterrent than any minor hurdle in the authentication process.
As they say in Texas, Bring It On. In the United States of America, truth is an absolute defense!
And which truth would that be? If you caused serious damage to a business by claiming this practice made them less secure, I expect they would have no difficulty at all lining up expert witnesses who say they have a very different idea of what makes things more secure. They would have the added advantage that this is a field where lots of people look very carefully at real numbers, so they could probably bring a mountain of statistical data in support of their position.
I use dirt-cheap VPS servers to tunnel web traffic over SSH socks proxies. Why? For fun. Because I can. To thwart ISP packet inspection and Google profiling my IP. To screw up IP-based ad targeting. Whatever.
I often sign up for a new VPS service while relaying from another one. I will often make it through the entire sign-up process, going through the PayPal info and everything, only to be told something like, "Your new account has been suspended due to suspicion of fraud." This only happens when I'm using a proxy. So they must be doing geo-IP lookups and flagging IP space that is a certain variance from your billing address.
I don't know how many VPS providers have lost my business due to this practice.
1. Has the credit card been used by any other account holder? 2. Has the shipping address been used by any other account holder? 3. Has the phone number been used by any other account holder? 4. Has the billing address been used by any other account holder?
If any of those are true a warning or info notice is shown depending on the situation. For example, if the shipping address is used by multiple accounts an info notice is shown as there are plenty of times the same address would be used by multiple accounts (freight forwarder, sending parts to a repair shop, etc...). It reminds the order processor to check it out and verify the order is legit.
If the billing, credit card or phone number match it throws a warning as that is far less likely to happen legitimately - which is what you experienced. We don't automatically decline like Newegg did to you, but we do investigate the order thoroughly and if we aren't comfortable with it we will decline or require funds be sent via a verified papal account or wire transfer.
We use a lot of other methods for checking fraud; IP, AVS, etc... but these really simple checks have been really helpful because we get hit by the same people over and over again. They try the same card with multiple accounts or use the same shipping address on multiple accounts, etc...
If an order has been marked as fraud and any of those checks above hit then the new order is automatically marked as fraud too.
The goals the larger retailers have here are to reduce the number of manual approvals (things like phone follow ups) needed without compromising the fraud rate, not to turn down transactions, so there's a lot of competition for more intelligent detection.
I just finished a simple gift certificate purchase page[1] for a client where I attempted to cut out all unnecessary details; the client's immediate response? "Looks good, but can we add some more fields like name, address, and security code to make it look more 'official'".
Edit: I don't necessarily disagree with their intuition; I think some consumers might actually be suspicious of a sparse payment form but I don't have any hard data.
Turns out that modern browsers (e.g. Safari/Chrome) encrypt CC data on disk, and that it's entirely PCI compliant to turn on autocomplete. The only field we don't do so (and that the browser doesn't store) is the CVC field.
Another tip is adding 'pattern="\d*"' to number/cvc/expiry inputs. That'll bring up a numeric keyboard in mobile browsers.
Lastly we've open sourced a library that'll do a lot of the client side validation and credit card number formatting for you: https://github.com/stripe/jquery.payment
By the way, getting everything up and running with Stripe was a dream, it's an amazing product. Great work.
On Wave Invoices [1] we try to make it ridiculously easy for people to get paid. As such, we have a very select number of fields that are mandatory and don't require things like address, country, province, phone number, etc.
Here is an example: http://i.imgur.com/yqSUMNb.png
The payment amount is already filled in - set to the full amount of the invoice in question. The rest is relatively easy to fill out.
We use the awesome jquery.payment [2] and Stripe.js [3] on this form so you get formatted input - like on the credit card number and expiry date - and inline validation.
[1] https://www.waveapps.com/invoicing/
There's a whole bunch of other valid reasons too. If there's a problem, it's nice being able to actually contact your customer. Most businesses need to be able to produce receipts, with some data needed to even count as a receipt ("you were charged X on Y" via email -- which you may not have anyway -- usually doesn't cut it).
And I'd love to see the data on this, but if someone has gotten to the point where they've decided to purchase and are presented with fields that are pretty standard just about everywhere else, I suspect abandonment rate is rather low. The pros just seem to outweigh the cons on this minimalism debate.
I'd say it depends on the situation.
If you're shopping for something specific, say for a new hard drive or monitor or something, chances are you've been looking around for awhile and once you're in the checkout process, you've made up your mind to commit to that product. A few extra fields for payment data probably won't deter you.
But on the opposite side of the spectrum, if someone is going to impulse buy, each field you force them to fill out gives them a few more seconds to decide "Eh, I don't really need this..." and abandon. In those cases, you want payments as frictionless as possible. I know I've done some impulse buys a few times after being drawn in via an email campaign or something--and subsequently decided to just forget about making the purchase.
We do have one difference though (which I would call a simplication): For the expiration date, we just have input boxes for the person to enter it instead of a dropdown. Select boxes are great if a) You can pick a sane default and b) you don't have many options. For a CC form, both of these fail. You cannot set the default with anything better than random accuracy, and each box probably has at least 10 options. Additionally, the expiration date box says "2 - February". I have a lot of credit cards, and none of them say the name of the month on it, only the number. Why waste the space?
The user just typed in their 16-digit credit card number, just pop them right into the expiration date input boxes for them to type in their month and year free-form. Don't make them put the credit card down, pick up the mouse, then have to navigate select boxes with tiny print.
Use a lot (more then your sample size) of different credit cards and you'll see some only have 'FEB' or others 'February' and no numerical month at all. Others have the year as '14' or '2014'. It would have been better if the card issuers decided on a standard quite some time ago.
This might seem really petty, but I'm always a little annoyed when I have to mentally convert the number on my credit card into a month. It always takes a moment to remember that 04 is March, or whatever. It's much easier just to type the value.
When the user types 'Juny' did he mean June or July.
The longer drop down option of '07 - JULY' shows all the combinations that I've seen printed on cards with the least potential of failure.
I do believe your reply has validated my point with the error it contains.
In the expiry drop-down, we have all possible permutations:
1, 2, 3, ... 12; 01, 02, 03, ... 12; jan, feb, dec
and for the year 13, 14, ... 22 and 2013, 2014, ... 2022
Basically, I addressed my own pet peeve of never knowing what format the drop-down contents would be in and therefore never being able to select it via the keyboard correctly.
What I would really like would be some way of having all those permutations, but when the user actually clicks the drop-down (instead of keying in the stub) only one of those sets is displayed.
(Bad first-hand experience looking for work-arounds.)
Also, if I type Tex and then click on the next field, it just drops my selection.
Not trying to kvetch, just feedback =p
No thief in their right mind would want to steel a Software as a Service product like ours since you can't really resell it. If they were reselling it we'd quickly find out about it and disable the account.
If we were selling hardware or an item that a thief could turn around and resell without any trace, we'd have to worry quite a bit more about fraud.
I'd hate for somebody who is running a SaaS company to read this and implement some insane IP/Tor/blah fraud detection scheme when the nature of their product/transactions doesn't necessitate it.
Notably, you should never ask for "credit card type"; the credit card number already tells you that. I like the forms that just ask for a credit card number and then show the computed card type's logo once you've filled it in.
You can also automatically compute the city and state from the zip code, but that requires you to ask for the zip code first, which does break user expectations somewhat.
And please, don't ask for "First Name" and "Last Name" unless you specifically need them separated for some reason; just ask for "Name".
Combining first/last name into a name field and auto-detecting card type were easy wins for the shopper, but in user testing, we found that detecting city/state from a zip code had some potential issues.
First, the format of the form without city/state surprised some users. One user said something like "where do I put my city and state?" They ended up appending it to the street name. Then they filled in the zip code and saw that it fetched the city/state and then realized how it worked then went back to delete it from the street name field.
Also, in the U.S., some zip codes can return multiple cities and states. Our solution was to populate a pull down of the possible values for both fields.
It turns out there are small towns/cities that we didn't return from a zip lookup, so city had to be editable for these users. We added a "Let me type it in" option on the bottom of the city pulldown for those users, who are hopefully the minority.
Having to build an additional "let me type it in" option seems like it increases the complexity and confusion. One of the banks I use asks for the zip first and then populates the city and state text fields on the lines below. This also has the benefit of working if Javascript is disabled.
I switched to using MinFraud automatic fraud detection. Unfortunately, their system requires that the customer provide their country, city, and postal code. They run over a dozen different checks from IP address, proxy detection, distance from IP to provided ZIP code, etc. I haven't had a single chargeback since I started using it.
For me, my product sells for $8 and a charge back is $15. For me it ended up worth while to implement the larger payment form in exchange for eliminating chargebacks.
I really wish that payments could be made simpler, but that would require that processors do much more vigorous fraud checks and they don't have a financial incentive to do so (they make their normal fees from fraudulent transactions that aren't caught).
DON'T RELY ON ZIP CODE ALONE
For one, you don't know the different formats of zip codes around the world
Second: not all countries have Zip Codes. Like Ireland, for example.
See here: http://www.google.ie/about/jobs/locations/dublin/ "Dublin 4" is the "Zip code"
About the issue of matching addresses, it seems that the payment processors can't do a fuzzy matching (not sure why), so if your address is "P Sherman 42 Wallaby Way Sydney" and you typed "42 P Sherman Wallaby Way Sydney" you're denied the transaction
I implemented a full form asking for all their information and toss out everything during processing. It's a very silly thing but it makes customers feel better about the checkout process for some unknown reason to me...
As an example, in the implosion following the dot-com boom, it was almost impossible for denizens of many Eastern European and African countries to buy things online because the incidence of fraud attributed to their country was high enough that the fraud officers at many online retailers wouldn't chance it. I have a friend who lived in Romania who had a credit card that used my address in the US and frequently required me to ship stuff for him because no companies would ship directly to him. He loves the modern era of fraud evaluation, because while his country is weighted negatively, his use of a respected international bank, an IP address in the same area as his billing address and purchase history with many online companies has greatly reduced his level of hassle due to false positives alleging that he's a fraudster.
When I sell a product online, I need to charge sales tax if the customer lives in Canada, a different tax if the customer lives in my province, or no tax if the customer lives in another country. Therefore, I'm forced to ask for the customer's address just for this.
That said, I can probably still avoid asking for a lot of the info but this requirement still increases the minimum set.
If someone steals your social security number they can open accounts in your name. To stop it you have to call one of the credit bureaus and they will put an "alert" on your account together with a phone number. What most creditors do when they see this alert is call that phone number and make sure it's really you opening the account.
Really? Why isn't that just the default? Are you opening credit accounts so often you are majorly inconvenienced to make sure someone verifies it's you by calling the number you selected?
Similarly with credit cards. They could just text your phone to confirm that you really are about to purchase something. You could turn this off EXPLICITLY, and turn it back on when you lose your credit card.
If everyone used "Verified By Visa" or PayPal oauth-type portals for payment, this wouldn't happen. When your bank password is compromised, you can just change it. To do this, you simply ask them to send you an authentication code at a previously supplied email address -- two factor authentication. But now it's too late, because anyone who accepts your credit card can steal it, and use it a year later.
For that matter, why do we use Social Security Numbers and Credit Card Numbers for such important things? It's a relic of terrible one-factor authentication. That signature stripe was probably supposed to be used to match your signature that you sign the receipt with. Well, no one does that.
All you have to do is go on the site, purchase something using two lines, and they text you on your phone. You can turn it off explicitly. Then the law and the liabilities can change with such merchants. Of course, this will take years.
In our experience, you can stop most fraud without putting up roadblocks for your users. Every site is different, but to give an example, we were able detect 90% of fraud for a site with a huge fraud problem without requiring any extra verification from the users.
The really key penalty to avoid is what is called an "excessive chargeback program," which usually triggers for chargeback rates that exceed 1%. You initially get a warning, and if you can't get your chargeback rate down, your payment processor has the right to shut you off. If you're in an excessive chargeback program, then I'd definitely recommend "playing it safe."
But otherwise, I think slimming down your payment form and carefully measuring the effect on fraud is almost always a smart business move.
No, you don't. You need more information about the transaction then that. What if your profit margin is 1%? Then you've come out even, because chargebacks cost you the full cost of an item, but an extra conversion only nets you the profit on that sale.
Note: I assumed that the 0.1% and 50% to 60% were both percentages of potential sales, because it made the math easier. Otherwise, you have 20% x 1%=2% more profit and .2% x 120%-.1%=.14% more loss from chargebacks, so you have come out slightly ahead.
Of course, ideally every citizen would be able to sign anything with a public-private key pair, counter-signed by the state.
It's especially bad since just about no websites I ever buy anything from use VbV / SecurePay. That means that I don't remember the authentication secrets off the top of my head, so unless I'm at home will likely abort the extremely rare transactions that really require it. I've maybe needed VbV once in the last year, and had to try 3 cards before I found one that I could use on the spot.
I think I abandoned every such purchase on reflex because it just screamed phishing attempt each time.
Extremely high friction indeed. Most merchants these days give me the option to skip it. Thank you.
It's thoroughly stupid and broken.
State-verified identity for payments is your ideal case?
Have you heard of Wikileaks?
On top of that, there is no published date, but it does mention May 2007 being in the future. Six years is an eternity in the ecommerce space, and I have a feeling people are more familiar with what the CVV code is and where it is located today.
Fine, here's the thing, if the person can't find the CVV in the card, I don't want his business. Period
This is how the purchasing experience looks like with Bitcoin which, for merchants, solves the fraud problem. Hence buyers do not need to give any billing information.
How is 'xxx' determined?
Looks like a great place to install malware that overtops the sites QR with its own and sends the payment off to the wrong place.
1. Given postal code, asking for city and state is pretty much useless. There is a unique mapping from postal code -> city, state. Maxmind used to have free db, but you can download it from geonames here: http://download.geonames.org/export/zip/
2. You don't need to ask for card type given card number. Again, simple regex. Reference: http://stackoverflow.com/questions/72768/how-do-you-detect-c...
3. Only American Express supports name verification. Most other banks don't. So, asking name is pretty much useless. If you already have the customer name in you database, use that to fill them in.
4. Things like 'Company' are just not needed.
5. Phone verification is again something supported by very few banks.
That just cut down 7 fields with no compromise on fraud.
Also, any good payment processor will let you store card information (in a secure manner adhering to standards set by Visa, a.k.a being PCI complaint). So, you could just display the last four of the card along with card type and charge them at a later point of time (think Amazon checkout).
So, payment forms need not be nearly as bad as the one pointed out in OP. But, sometime bad design choices and legacy thinking comes in way.
I work for Balanced Payments. When we were PoundPay (previous avatar of our product), we used to serve the payment frame via iframe. Our form looked like this: http://imgur.com/wF2Z2qZ
It encapsulates lot of points I discussed earlier.
There have been times when I have had to put the wrong city in my address because of zip code enforcement. Fortunately, the post office does a pretty good job delivering anyway.
Seems to me that the form itself is just one small corner of a larger battlefield and the real trick to using it effectively is threefold.
For users, it's about creating a user experience that is comforting and normal enough to gain user confidence and easy/frictionless enough to make the transactions painless.
For merchants it's about information gathering and screening. It's about being able to collect information about the user's payment card and comparing it to what you already know about the prospective buyer and depending on the your size and fraud levels, the form may also be a point where you make it more difficult to programmatically try cards (i.e. randomized form fields, rate limiting, err... captcha).
The mapping isn't unique. I think the best you can do is restrict your pulldown to the possible choices. Even then, sometimes there are small cities and towns that you don't expect.
We're thinking of actually open sourcing this iframe - it took a lot of work and analytics to get it to where it should be and we think the community could benefit.
Let us know if there's interest. Create an issue on https://github.com/balanced/balanced-api/issues/ and we'll see how to prioritize it.
This view is US-centric. Others have pointed out that there are cases even in the US where this may cause confusion.
But for me, the bigger problem is that asking for state is counter-productive. The state and country are the same thing for me. Some sites force users to put something in the state field, whatever country. Other sites explicitly check the country and reject input if there is a state specified for a country that doesn't have them. You never know. Most of the time it fortunately makes no difference. But it's a slight annoyance.
That aside, customer data here is not only used for simply 'making the payment' as the writer says. This is a huge over-simplification of the problem, the payment gateway for the transaction to detect AVS and CVV is a /last ditch effort/ to catch fraud. The other fields could be used for other services that detect fraud such as ID Analytics, Experian, etc. and ultimately help mitigate credit and fraud risk for the company.
That's quite similar to 'Verified by Visa' model, where the client has to accept the payment on Visa's website.
Recurring billing (e.g. monthly payments) could be authorized once.
If a customer's computer gets hacked and the access to the online bank gets compromised, then that situation should be dealth completely by the bank (in the same way it's being dealth even now).
Merchants and online stores shouldn't have to worry about preventing fraud, that should be centralized and dealt by banks
For most global businesses accepting credit cards is better, since a significant portion of customers prefer cards for various reasons, including the ability to chargeback if they have a disagreement with the merchant.
And wire transfers aren't a good option in many countries due to their cost - while they should cost a few cents or less (an order of magnitude less than CC processors charge), in many countries, including USA, wire transfers are rather expensive.
The way they're doing things at the moment is driving people to pay via PayPal, because PayPal requires--hey look!--a single string which they call a "password".
It may be an extra layer of protection related to getting the credit card number via seeing or taking a picture of the front of the card, having it on the back helps improve security from that aspect.
That means in theory, if the merchant's credit card database gets hacked, the fraudsters will get access to the credit card numbers but not the CVV.
In practice, the rules aren't obeyed as strictly as they might, so you can easily find credit cards with CVV on the black market.
I don't really care if someone mandates that digits 1-4 can be sent via email, digits 5-10 can be stored unencrypted, digits 11-16 must be encrypted, and digits 17-20 can never be stored at all. They're still just digits/bits of information, and I have to provide all of them almost all the time anyway.
The one exception is when a retailer has saved my credit card number, in which case they might ask me for the CVV only. But I'd rather that they didn't save the card number at all! I have to look up the CVV and copy and paste it into their form every time anyway--so they may as well require the whole thing every time.
That's why the number is raised on the card.
But those machines are for point of sale purchases only and should NOT get enough information for the card to be used over the phone/internet. Otherwise you'd have tons of carbon sheets that could be used to defraud people.
Also as the other poster said, harder to photograph using a card capture device attached to an ATM/cashpoint.
Extremely frustrating for purchasers and sellers to need to provide and collect all of that information simply to accept a payment. Far too much friction.
Often people will deduct VAT at the point of sale for businesses as a convenience, but it's not mandatory or required.
- Eliminate the concept of a shopping cart if you just sell one product
- Don't force buyers to create an account
- Don't ask for the same information twice like shipping and billing address (if you collect billing address, you shouldn't)
- Combine first and last name into one field: name
- Auto-complete address based on ZIP
- Trust messaging
Baymard has great recommendations based on their extensive studies: http://baymard.com/checkout-usability
If you don't want chargebacks, accept digital cash in addition to credit cards. Give your customers a discount for digital cash, and charge your price + (estimated cost of chargebacks/sales) for a given period. BitPay / Coinbase are probably your best options for accepting non-reversible digital cash.
"AVS verifies the numeric portions of a cardholder's billing address. For example, if the address is 101 Main Street, Highland, CA 92346, in the United States, AVS will check 101 and 92346. Sometimes AVS checks additional digits such as an apartment number, other times it does not..."
They might call it 'full address', still it's just the numeric part.
Look here: http://en.wikipedia.org/wiki/Address_Verification_System