We've just launched several new features that'll make working with subscriptions even easier:

New New billing intervals

We’ve added support for arbitrary billing intervals. Up to now, subscriptions were limited to being billed on a monthly or yearly basis; now, you can bill with whatever frequency you like. Lots of you have requested this one, so we hope today marks the end of painful workarounds for custom intervals.

Just pass an interval_count along with the regular interval when you're creating a plan. For example, to charge your customers every 3 months, create a plan with an interval of 'month' and interval_count of 3. Read more in the docs.

New Subscription quantities (per-seat pricing)

For those of you who have per-user or other quantity-based subscription pricing, we've added an optional quantity parameter that you can specify when you create or update a customer's subscription.

Prorating kicks in as usual when you change the quantity of a subscription unless you pass prorate as false. By default, the quantity is 1. If you update a subscription without changing the plan ID, the quantity of the old subscription will be inherited. If you update a subscription to a new plan, the quantity will either default again to 1 or be set to any explicit quantity parameter you send.

New Invoice paying

Stripe automatically takes care of paying new invoices and retrying failed ones. Even so, you sometimes want to retry an unpaid invoice on your own schedule, and the new pay_invoice API call lets you do that.

This feature, previously available only in the dashboard, grants you more control over when and how you retry payment on your customers' invoices. For example, you could use the call to ensure all old invoices are paid before allowing a customer to take a particular action on your site, or you could create an interface for your customers to manually reattempt their own invoices.

New Invoice closing and opening

You can now update an invoice in order to mark it as open or closed. Sometimes you're feeling magnanimous and want to mark an invoice as no longer owed to you even though it hasn't yet been successfully paid. If you mark an invoice closed, Stripe will no longer automatically reattempt payment on it; in fact, a closed invoice can never be paid at all unless it's reopened again.