Attempting to make a purchase from a website using Paypal, I got the following message.
You will have to come back and confirm your bank in order to use it to make payments. In the mean time, please enter a credit card to continue.
Sounds nice and helpful, right? Like I can log on to PayPal's site and they'll have a friendly "Confirm your bank account" dialog or something.
Nope. "Coming back" to PayPal's site accomplished nothing useful. My "wallet" showed the checking account I've had associated with my PayPal account since the late '90s, plus two expired debit cards, both linked to that checking account. I noticed my billing address was out of date, so I changed that. No help.
I googled the first sentence of the error message, hoping to find a PayPal help page explaining how to confirm a bank account. Instead, I discovered that PayPal runs a whole online community for people who can't figure out what's going on with their account. This error has been confusing people since at least 2012. Fortunately, some user speculatively interpreted "confirm your bank" as "add a credit card"
, which made the bank-related error message go away. Maybe their system only has a single E_BANK_STATUS_ISSUE error.
When checking out, there was an explanatory message that the debit card I'd just associated with my account would be used if there were insufficient funds in my checking account. But since the debit card is backed by the checking account, that's not a very robust risk mitigation strategy.
User interface lessons:
- Make sure your error message contains enough information for a user to take useful action.
- If your backend can't distinguish between two error conditions that require different resolution steps, send a feature request to the backend team to add a new status code.
- When a user flow involves "Give us money," make sure you do extensive user testing, covering many possible error conditions. How people fail to use your product is some of the most important knowledge you can gather.