One-time payments, digital products, and lifetime access.

Article author
Duncan Hamra
  • Updated

One-time prices are perfect for selling digital products, offering lifetime access to a product or service, and charging customers without generating a subscription.

It's important to note that they work differently than recurring plans. Here are a few things essential things you need to know: 

Create a One-time Price


Launch the Checkout

Use data-ms-price:add="PRICE_ID" to A) prompt new users to create an account & checkout and B) launch the checkout for logged-in members.  

  • You cannot use data-ms-price:update with one-time payments. You can only add a one-time plan. 
  • Cancellations must take place inside of the Stripe Customer Portal (tutorial). But members usually won't need to "cancel" a one-time plan. 

Repeat Purchases

Unlike recurring plans, it's possible for a member to purchase the same one-time plan multiple times. If you want to prevent members from paying you multiple times, you can use gated content to hide the button from members who already have it. 


Receipts and invoices

For whatever reason, Stripe decided to generate receipts instead of invoices for one-time payments. We still need to A) give you a way to display receipts in your own UI and B) add a "plans" tab to the profile modal which can display receipts for one-time payments. Please leave a comment if this is something you need. 

Lifetime Access

If a member signs up for a recurring subscription and then wants to "pay once to upgrade for lifetime access" their recurring subscription will not be canceled automatically.

You'll need to either: A) Prompt them to cancel their existing subscription. B) Manually cancel their recurring subscription. C) Or programmatically cancel their recurring subscription. 

Was this article helpful?



Please sign in to leave a comment.