Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A few more Stripe tips from running a SaaS for a year now:

- A discount coupon can either be applied at the customer, or the subscription object level. The first persists across subscriptions (even while cancelled in between), but the later takes precedence if both types of coupons are present.

- There can only be one single coupon in effect for a customer at a time, therefore I would caution against the article's suggestion to use coupons purely for price segmentation as you "use up" that capability which you might regret later on.

- When you sell a multiple of something, make the Stripe plan cost representative of one unit of the thing (the smallest unit you think you'd sell, like a single user), even if there's a pricing floor in effect (X units required). This makes it so much easier to allow users to upgrade by an arbitrary amount of units. Learned this the hard way.

- In general, use the quantities property of plans, instead of creating a ton of different plans. I see a lot of "5 user", "10 user", etc. plans in the open Baremetrics data, which seems like a bad idea to me.

- If there's a discount built into your annual plan, just make that the base price of the annual plan. This frees up the coupon slot as per above for volume discounts or whatever.

- Annual plan pro-rating default behavior is broken in my opinion. If the plan type or quantity changes during the subscription period, the customer will pay for this only with the next invoice, which can be up to a year later. This is almost certainly not what you want, or what the customer expects. Instead, you have to manually (programmatically) create an invoice and trigger a payment to "sweep up" the price delta for the new plan. Ideally this could be done by Stripe on a monthly basis (it has to be delayed, you don't want to do it immediately since the customer might make more changes in a short period of time and you don't want to bombard them with receipts).

- http://www.ultrahook.com/ is great for testing & developing the Stripe webhooks locally

- It's a very rich ecosystem. I use 3rd party services that save me considerable time over building it myself for Stripe dunning, analytics and even professional looking receipts (customization, PDF rendering, VAT info, bulk downloads etc.), help desk integration etc.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: