Hacker News new | ask | show | jobs
by eevo 1090 days ago
Here's our main problem with Stripe for what it's worth -

Stripe Subscriptions and Subscription Schedules are massively complicated and don't support our use case. Subscriptions support complex scenarios like proration and metered billing, but miss the mark on simple use cases.

All I want to do is ship products when people are charged, but I also want to move the next charge (or next several charges around) based on end user requests. This is accomplished in Stripe using their "trial" functionality - which is a hack because the Subscription isn't in "trial", the customer just wanted to move the next invoice. Putting the Subscription in "trial" screws up Stripe out of the box analytics because they don't get counted as active Subscriptions.

I'm not surprised you were driven to build your own Subscription platform, I wasn't around for the decision for us, but knowing what I know now, I probably would have built as well or looked at Chargebee or similar.

1 comments

Is effectively what you're wanting to do "snooze" a subscription? Given that you can schedule subscriptions to start at a later date, maybe a better (albeit still hacky) way to handle that scenario might involve canceling the active subscription and scheduling a new one to start at a later date? That way you can ship on any subscription renewal, but still track "snoozed" subscriptions within stripe itself?

Interestingly, we actually have the opposite problem—our subscription model (effectively a payment plan) is so specialized that no-one, stripe included, supports our requirements out of the box.

EDIT: I re-read your comment and saw that you mentioned wanting to track active subscriptions easily, so I'm not sure my suggestion really solves your problem. Maybe you could classify any scheduled subscriptions as active/paused, if you're not using them anywhere else in your billing system?

Yeah you're right, it's another hacky way to solve it. Also yes, invoice at either a later date, earlier date, or immediately.

Another hacky way my CX team has been solving moving the next invoice date around is to pause their subscriptions then unpause/bill now (Stripe supports bill now but not reschedule next out of the box) - they'll set calendar invites for themselves to unpause when the customer requested then blow through them in the morning in the Stripe UI. At least we've upgraded from that scenario to the current "trial hack" scenario. We can pull analytics and treat "trial" as active, it's just annoying that their dashboard analytics are hard baked to treat trial as inactive.

I really think what Stripe did was launch Subscription then get a bunch of customer requests, created Subscription Schedules which was supposed to be the layer of advanced functionality you opt in to if you really need it, but created a product that's too complicated and misses the mark.

Oh another fun note I'll leave you with - we never want proration (the price of the product is always the price, since we're shipping physical products). But the proration radio is always on. So a team member using the Stripe UI forgets to turn it off every few days or so and we charge the customer the wrong amount (and have to sidestep proration line items when shipping)