

When the Intern Writes the Billing System - tghw
http://tghw.com/blog/when-the-intern-writes-the-billing-system

======
mhp
In 2005, what was the variable pricing billing system that we could have used
instead?

It's easy to look at Stripe and Braintree today and say 'Ha! Those Fog Creek
dummies! They should have used one of these awesome companies with great APIs
instead of writing it from scratch.' Guess who existed then? Not Braintree
(founded 2007), not Stripe (founded recently). Even authorize.net only did
(and still does AFAIK) subscription billing for something like a gym
membership where you bill the same amount every month, not variable amounts
like we do. Chase Paymentech was the horrible processor you had to use, and
their crummy APIs were and still are atrocious. When you opened a merchant
account, the bank had to come visit your office to make sure you were real and
that you had posted the 'we accept Visa/MC' stickers on the window even though
you never even did face to face transactions. It was a different time.

So yeah, today if you are starting a company, don't roll your own. But don't
look back on the code you wrote in 2005 to accomplish something that couldn't
be accomplished any other way, and wonder why you did it that way. You didn't
have any other choice.

The only choice now is, do we stop spending time building better products, and
instead rewrite our billing system to work with one of the modern gateways, to
get us in the exact same spot we are today? (No.) Do we rewrite our system to
take advantage of modern credit card vaults so we don't have to worry about a
Linode? (Yes, did that years ago). Cost vs. benefit.

------
icedchai
I wrote my own billing system in 2003. I used TrustCommerce as the provider.
They actually had decent APIs even back then.

------
samspenc
Why not use Recurly, BrainTree or something similar?

~~~
mhp
recurly founded 2009. Braintree founded 2007. When this code had to be
written? 2005.

~~~
samspenc
Yup, understood. Sorry for loss of context; I was asking about Linode!

