One-Time Purchases

I have a use case for a ghost site I’m creating that involves a one-time purchase. Instead of a monthly or yearly subscription, the user can buy a one-time tier and then have unlimited access to that tier, with no expiration date.

We sell a yearly membership for our content, however this content expires on Jan 1st. A new tier for next year needs to be purchased. We plan on discounting the membership as the year progresses ($100, $80, $60, etc.)

This functionality doesn’t currently exist in Ghost, so I went the custom code route and created a working solution. It’s still in development, but I wanted to get an idea if there is any other interest out there for this feature? I realize it’s not a major use-case, but I could see other uses for a feature like this.


Looks good! I’ve had clients interested in something like that. Currently, most of the folks I work with are on Ghost Pro, so a custom code solution isn’t going to work for them. (An alternative is to do a Stripe checkout and then use something like Zapier to create the user with a complimentary subscription.)

Thanks! Ya I was thinking if this has enough interest maybe the Ghost Dev team can help get this apart of the ghost codebase in the future…

Some work left to do:

  • Need to allow users to subscribe to multiple one-time tiers at once
  • One-time payments are done differently than subscriptions in Stripe, so a lot of the data ghost is using on the backend is currently associated with subscriptions only - modified code slightly to get one-time payments to emulate a never-ending subscription. Needs to be looked at further…
  • Other small UI changes

I’m thinking about this for myself at the moment and resolved to not try to use Ghost natively for this, as ‘multiple one-time tiers’ is for me equivalent to ‘products’, so I am leaning towards using simple Stripe links and then an automation system like Zapier or n8n to import members into Ghost and tag them with $product, and/or using a seperate database for metadata associated with members. Cool prototype though, curious how you changed the interface, I assume you’re running a fork?

Ya this is a fork (work in progress):

The idea is to auto-create those products in Stripe upon tier creation and then allow users to purchase access to each product. Working on adding new UI screens necessary to add another tier after you’re already subscribed to one.