Tonight's coding escapade was a bag of mixed nuts - bad thing was one of our customers had to deal with errors on our live site and we honestly couldn't figuret out why, great thing was Stripe was right there for us holding our hand along the way until they helped us figure out the problem and then solve it.
It started when one of our customers told us he was consistently getting an error trying to process his transaction on Internet Explorer. We tested it on Chrome and it was fine. Then on Firefox and it wasn't fine. So we couldn't blame ol' Microsoft for this one. We put some flags in our code to be thrown if certain things acted up and we discovered that our Stripe Token just wasn't being generated.
Thus, naturally, I assumed it was something Stripe had done. I went to them and they walked me through debugging the Stripe portion of my code. After almost an hour we figured out that Stripe was working just fine... my code just wasn't even reaching the Stripe portion in I.E. or Firefox due to some crappy JS things I did. Then we spent the next hour or so debugging the rest of my code. Stripe helped me figure out the best place to but JS alert's etc and eventually we discovered the error was fairly simple.
Chrome let's you call elements in DOM by simply using the id of the element. So with an input with the id 'first_name' in chrome I can do:
var f_name = first_name.value;
But in almost every other browser you just have to do something like this (if you use JQuery):
var f_name = $("#first_name").val();
So we figured that out, and I had to make several changes and got to deploy the new code in production so tomorrow noone has to run into any of these issues.
But the big thing was how much help Stripe provided me. They could have easily figured out it wasn't their fault, and gone away. But instead they patiently booted up their VM just to test my site in I.E. and helped me walk through debugging and find the problem. I am super impressed and will forever be a cheerleader for Stripe (even though they DO charge quite a rate for transactions...).
They took customer service and brought it up to a whole other level for others to aspire to. I've always known that I want to make my customers as happy as possible, but now I know just what it takes to do that. Good job Stripe.
Oh and here's a rage/happy comic: