Over at Wufoo, we provide payment integration with Google Checkout, Paypal and Authorize.net to allow our users to accept money when their forms are submitted. If I were to ask you to rank the services provided by these companies based on the company’s reputation, popularity, commitment to usability, programming skill, and whether they have a tradition of openness, you would probably guess that Google would come out the winner. Unfortunately, you’d be wrong.

After months of working with all three APIs, I can tell you that Google isn’t the worst because their hard-to-read examples are made up of thousands of lines of code spread across multiple files. It’s not the worst because they do a terrible job of separating structure from logic. It’s also not the worst because they’ve made their notification API very difficult to test. I can deal with those issues. I can deal with them, because they put the burden on the developer and once the developer figures out what’s going on, the integration pretty much goes on cruise control once it’s all set up. Also, I can give those issues a pass because PayPal and Authorize.net have plenty of code and integration suckage of their own. No, the worst thing about Google Checkout isn’t that it’s hard just to get the thing working (everyone makes it hard), it’s that they cannot take 5 minutes to display decent error messages to our customers when mistakes are made.

For example, let’s say one of our customers accidentally enters the wrong Google userID and password when they’re integrating with Google Checkout. Here’s the error message Google shows them:

Oops! An error occurred while processing your request.

Now, let’s say one of our customers created their Google Checkout account in England, but accidentally specifies dollars instead of pounds as the currency to process the transaction. This is what the customer sees then:

Oops! An error occurred while processing your request.

And no, you’re not seeing double. Both error messages, which are useless, are exactly the same. PayPal, on the other hand, shows you this for an invalid email address:

We cannot process this transaction because there is a problem with the PayPal email address supplied by the seller. Please contact the seller to resolve the problem.

And Authorize.net displays the following for bad login credentials:

The following errors have occurred. (13) The merchant login ID or password is invalid or the account is inactive.

The problem is that when a customer sees an error message that means absolutely nothing, they can’t help themselves. They’re basically forced to email us for technical support since Google’s own technical support isn’t exactly stellar. Since the error messages don’t mean any more to us than to them, we’re pretty much just as clueless as our users, which makes debugging extremely tough and tedious. The result is a lot of frustration on our end, and more importantly, on our customer’s end.

Because it presents a thorn in the Wufoo experience, I wrote Google about 4 months ago detailing the issue, thinking maybe they just didn’t know how inconvenient it was for developers and their users. I received the following canned response :

Google Checkout does not currently provide the ability to display friendlier error messages, though this feature may be introduced at some point in the future. We’ll be taking your thoughts into account as we move forward with our product development.

C’mon Google! I understand that Checkout isn’t your cash cow, but please give it the love it deserves. We plan on adding a lot more payment options to Wufoo down the road, which will help our customers and the payment processors all make money, but it’s really hard to justify adding more support for a payment processor that hurts us more than it helps.

HTML Form Builder
Chris Campbell

Google Checkout : How to Not Write Error Messages by Chris Campbell

This entry was posted 2 years ago and was filed under Notebooks.
Comments are currently closed.


  1. Dan Waldron · 2 years ago

    I just stopped by your blog and thought I would say hello. I like your site design. Looking forward to reading more down the road.

  2. Zak · 2 years ago

    Google sucks !

  3. Ben Perry · 2 years ago

    Nice to see a new article after what…4 months. I agree… google’s error msg’s are the sorta thing you’d expect from a beginner programmer not the large powerhouse that google’s seen as.

  4. Kendall · 2 years ago

    I think I’ve noticed this from Google at times. That’s the problem of having so many beta web applications, they never get that polished feel to them. I know giving meaningful error messages can definitely take more code, but it’s so worth it to the user.

  5. Pete · 2 years ago

    In addition the ‘Ooops!’ cutesy language for ‘we fucked up’ is one of my pet peeves. I don’t know who started it but everyone is copying it and it annoys me no end - there should be more information in error messages, and less patronizing already fustrated users

  6. Chris Campbell · 2 years ago

    Yeah, Ben, it’s been way too long and we plan on getting back on schedule now.

  7. Ian Muir · 2 years ago

    I have this issue with Google on just about every integration with their tools.

    At least it provides some errors now. The first time I was working with Google Maps, it kept changing Manchester, NH to Manchester, UK without providing any notice that it didn’t recognize the location. In the end, I doubt Google really cares, their brand is so established that our clients ask for us to use their stuff even when we say it’s a bad idea. Developers being pissed off doesn’t affect their bottom line.

  8. Ryan Campbell · 2 years ago

    I don’t have much of an issue with personality in error messages as Pete pointed out. Maybe because we do that with Wufoo, but I think personality is fine as long as the user is still notified of important information. For example, if Google put:

    Oops! It looks like the merchant key you used does not match your username.

    I would prefer a conversational sentence like that to one that says:

    (13) merchant key does not match username

  9. Mark Prostor · 2 years ago

    Hiya …. I was reading over your implementation of “WorkoutTracker” and your implementation into Google Map. I am trying to do a similar thing with maps that I am currently creating showing bird migration paths from South America to the Arctic. I have some questions regarding your code. Could you possible email me back to discuss?


    Mark P.

  10. Dave Q · 2 years ago

    We all better learn to write ‘error’ messages instead of horror messages :) Thanks for this reminder post, Chris!

  11. Ben Perry · 2 years ago

    Good to hear Chris. I only stumbled upon your site a few months back and loved everything I read. But thought it may have died with the lack of recent posts. I look forward to reading more. Oh and a status update on Tree House Magazine would be nice.

  12. Chris Campbell · 2 years ago

    Mark, I’m sorry, but I just don’t have the time to look at specific projects. It might be worth looking at or asking the Google Maps group over at http://groups.google.com/group/Google-Maps-API.

    Ben, we’ve pretty much been 100% dedicated to Wufoo for a while now, but we recently hired some new employees, and that has helped lighten the load. We’re not yet not sure what is going to happen to Treehouse, but we have been throwing around ideas, and we’ll make a post on Particletree if anything happens with it.

  13. Niyaz PK · 2 years ago

    Good to know that you are alive again !!! Google just does not care anymore. Atleast not as they did before.

  14. Richard Burton · 2 years ago

    I can’t help but wonder whether this post has anything to do with my recent support request to get Google Checkout to accept £ sterling. All I can say is that the Wufoo team were incredible at dealing with my obviously time-consuming support request. Just another reason why I’ve effectively become a Wufoo-evangelist :) Thanks guys.