Stripe Would Be Perfect If...
liamkaufman.com
liamkaufman.com
However, my perspective is that Stripe sits one level lower on the infrastructure map than a service like Recurly (http://recurly.com) which is designed to abstract the pain of subscription management away from app developers. I use Stripe first and foremost as a best-in-class one-time payment processor. There's nothing stopping me from building a subscription management solution on top of Stripe; I'd just be re-inventing the wheel.
Stripe's subscriptions strike me as a good compromise between nothing at all and something that becomes more sophisticated over time. If they try to stamp out all of those edge cases, they will inevitably break someone else's application that relies on a slightly different interpretation of "the way things are supposed to be".
I sincerely hope that Stripe continues to say No to feature requests far into the future. Where does PDF invoice generation (with HTML templates of course) fit into "the simplest thing that works"? When Stripe notifies you of a sale, generate your own invoice. Maybe even consider open-sourcing that code. Adding it to Stripe is not the best thing to do.
Stripe offers a low-level API and a higher level API and framework can be built on top of that. So what we really need are some high-quality django/rails modules that deal with all the mundane bookkeeping. Then you can easily fork the module to make adjustments where needed.
> In total there are 4 different tax rates and then no taxes for international customers, for a total of 5 different tax levels. We currently have 3 monthly plans, and their 3 yearly equivalents. This means that we had to create (3 + 3) x 5 = 30 plans within Stripe.
This is definitely not ideal.
Agreed with everyone that asking Stripe to take care of figuring out the tax rates is far too much, but being able to say "Subscribe customer X to plan Y," which already exists, "and in addition add a Z fee to each charge." Z could be a percentage or an absolute value.
Maybe Z is tax. Maybe Z is shipping for a monthly package subscription.
Now Understoodit can keep their 3 + 3 plans. +1 to this.
People are sure piling on OP for mentioning taxes -- I think you are all interpreting his request as "Stripe, please add tax calculation" but he's only asking for an additional charges field so he can track his subscriptions + taxes instead of his subscriptions with taxes.
I'm glad that Stripe keeps their hands off my invoices. You could argue that Stripe could just let me turn that feature off, but Stripe understands that their customers are 100% responsible for the end-user experience, and I respect their decision not to get involved in that at all.
Stripe makes receiving payments incredibly easy; easier than it has ever been before. Yet, somehow you complain that you need to deal with edge cases? There will always be edge cases... if your biggest issue in dealing with payments is handling taxes then I would say you are doing alright.
Would it be a useful feature? Sure. Is it worth taking the time to write about? Hell no.
Multiply that by your regional settings and you got some nice bloat.
He's not complaining, he's giving feedback and his wishlist.
(Unless there's some law about not charging consumers in different provinces a different pre-tax cost, or some province charges so much tax that to make other provinces eat a share of that cost would be unreasonable.)
If I understood your suggestion correctly people dealing with these problems should do like we do here in Brazil: use the taxes to compose the final price so if I have a product that I want to sell for, let´s say, 10USD and will cost me an average 10% in taxes I would advertise it for 11USD and just deal with the taxes problem internally in my app and not by creating N different plans on the payment processor.
Sales tax varies from 5% to 15.5%, but only 11% of the country by population (Alberta and the territories) are at 5%, and majority are at 12 to 15%.
Changing the interface to a payment processing gateway, including all of the support documentation and code/security audits, is not easy.
If everyone that wanted something from you prefaced their request with "I don't see why they can't"... you'd probably get annoyed, too.
The most fun was when an area in Texas passed one of these laws taxing parking near airports (even if that parking is offered by a hotel or some other established business... if it has shuttle service to the airport, it must be taxed) but all the various people offering parking through our site didn't want to comply with the law, so they wanted us to not charge the tax to customers! Worse, the business types wanted to actually cater to these scofflaws. I refused to implement it though, because that's just stupid. We'll collect the tax, if the clients don't want to actually pay the municipality, that's their business... but we do have to keep track of who charges it, how much, when those rates change, etc... it's a a bit of a pain, and even the services dedicated to tracking this kind of stuff are not comprehensive.
I love Stripe. They do one thing well, better than anyone else I have used. It's not perfect for everyone, but anytime someone tries to be perfect for everyone they stop being perfect for anyone.
Stripe provides hooks that allow you to easily send your own invoices--that's a developer friendly feature that maintains flexibility (everyone will want invoices to work differently).
Stripe is a payment processor. If you want invoicing, use (FreshBooks|Xero|Blinksale|etc).
"It would be nice if" is often the death of good product design.
Consume a stripe webhook / send an email:
http://dl.dropbox.com/u/2454/Slingshot/Pictures/Customer.io-...
Nicely formatted:
http://dl.dropbox.com/u/2454/Slingshot/Pictures/Customer.io-...
...And the fact that Stripe doesn't generate and email out PDF invoices FOR YOU? Common now.