Patrick Joyce

February 7, 2008


Ian and I are currently working on adding support for Authorize.Net CIM to ActiveMerchant. Things were going pretty well until we made a mistake and basically locked our test account.

CIM is a service that lets you store your customer’s credit card information on Authorize.Net’s secure servers. You provide a customer’s payment information, and they give you back a unique identifier for the customer. Then when you want to charge a customer or update their information you simply provide that unique identifier. The problem is, there is no way to lookup that identifier, and you can’t create duplicate profiles, so if you lose it you’re screwed. This shouldn’t be a big issue when running in production as we’ll take great care to store the ID in a database and to keep the database backed up, but it bit us in test. We broke one of our remote tests, didn’t delete the customer profile, and lost the customer profile ID. So now we can’t run any of our remote tests unless we change all of our test data (which we obviously don’t want to do)

And now for the point of this story. So Ian called their support line to see if they could reset our test account. The automated recording said that wait time was about 30 minutes, but if we left our number they would call us when a representative was available. Ian entered his number, and they told him to expect a call in approximately 52 minutes. We actually remarked on how good their customer service was because they were using virtual hold. I’ve ranted before about how making people wait on hold is disrespectful of their time before Unfortunately, they didn’t call in 52 minutes, in fact the never called us back. We weren’t outside of normal business hours; we called at 1:00 on a Tuesday.

Ian called again today at noon, was told to expect a call back in 58 minutes, and as of 3:15pm still hasn’t received a call back.

Providing mediocre service is bad. But to raise customer expectations and then fail to meet them is far worse. I’d have rather just waited on hold. Seth Godin wrote a good post about this last year that really hit the nail on the head.

More Articles on Software & Product Development

Agile With a Lowercase “a”
”Agile“ is an adjective. It is not a noun. It isn’t something you do, it is something you are.
How Do You End Up With A Great Product A Year From Now?
Nail the next two weeks. 26 times in a row.
Build it Twice
Resist the urge to abstract until you've learned what is general to a class of problems and what is specific to each problem.