accept recurring payments on your wordpress forms

How to Accept Stripe Recurring Payments on Your WordPress Forms

Are you wondering how to accept recurring payments on your WordPress forms? Generating revenue is often a website owner’s number one goal, and achieving that goal is whole lot easier when you can accept continual payments from repeat customers.

In this article, we’ll show you how WPForms makes accepting recurring payments on your WordPress forms simple with Stripe so you can focus on more important aspects of building your business.

Why Accept Recurring Payments on Your WordPress Forms?

You might be asking yourself why recurring payment functionality is important to have on your WordPress forms. Well, when it comes to generating revenue, forming solid relationships with long-term customers is the key to your success and offering smart payment methods is part of that.

And, it just so happens that being able to accept recurring payments on your WordPress forms helps you achieve that success because:

  • It costs 5x more to acquire a new customer than it does to maintain an existing customer. By giving existing customers the option to pay you on a regular basis for products or services, you save money and make money online with ease so you can have increased revenue.
  • Repeat business through recurring payments help forge better, longer-lasting relationships with your target audience.
  • You can collect steady income when you accept recurring payments for things like monthly products, subscriptions, and memberships (easily build a membership site using one of the best WordPress membership plugins in the market)
  • Enabling recurring payment functionality gives your business room to scale.
  • Stripe lets you use different tax rates on individual line items or on whole invoices
  • Accepting payments on Stripe takes less effort on your part, and makes things easier on your customers too.
  • Stripe’s Automatic Card Updater works directly with card networks to update payment details with new card numbers or expiry dates.
  • Use their Smart Retry Logic to minimize failed payments.
  • Require payment on your file upload forms to make it easier to get payments and documents together.
  • Can build customized subscription logic and pricing models.
  • Apply their 3D secure automatically when SCA (Secure Card Authorization) is required.

Whether you have an online donation form, a user registration form to access locked content, or a simple order form that sells physical or even digital products, WPForms has you covered if you want to accept recurring payments.

So, let’s take a look at how to enable recurring payment functionality on your WordPress forms using WPForms and Stripe.

WPForms is the best WordPress Form Builder plugin. Get it for free!

How to Accept Stripe Recurring Payments on Your WordPress Forms

Here’s a list of steps we’ll walk through in this article.

  1. Create a New WordPress Form
  2. Customize Your WordPress Form Fields
  3. Configure Your Payment Settings

Step 1: Create a New WordPress Form

The first thing you’ll need to do is install and activate the WPForms plugin. For more details, see this step by step guide on how to install a plugin in WordPress.

WPForms allows you to accept recurring payments on your forms using your Stripe account. That’s why the next step is to install and activate the Stripe addon.

To do this, go to WPForms » Addon and find the one labeled Stripe addon.

stripe addon

Next, go to WPForms » Add New to create a new form.

For our example, we’ll create an online donation form that gives people the option to make a one-time donation or donate on a recurring basis. For help with this step, check out our tutorial on creating a nonprofit donation form in WordPress.

This is what our donation form looks like before customizing any of the form fields.

donation form without customization

Step 2: Customize Your WordPress Form Fields

You can add additional fields to your form by dragging them from the left hand panel to the right hand panel.

Then, click on the field to make any changes. You can also click on a form field and drag it to rearrange the order on your donation form.

In order to accept recurring payments using Stripe, you’ll have to add at the very least these two form fields for your form to work right:

  1. An items field such as Single Item, Multiple Items, or Dropdown Items
  2. A Credit Card field

You can also add a Total form field so customers know exactly how much they’re being charged when they submit your form.

recurring payment form fields on donation form

As you can see, we added a dropdown menu so people can choose whether they want to donate on a recurring basis or make a one-time payment, as well as a field for selecting how much people want to donate, a Total field, and the Credit Card field.

If you need some help designing your form, check out these common complaints about payment forms so you can improve your chance of getting conversions.

When your form looks the way you want it to, click Save.

Step 3: Configure Your Payment Settings

When your form is ready, go to Payments » Stripe to configure the payment settings so your form can accept payments from people using the Stripe payment gateway.

Next, click the checkbox labeled Enable Stripe payments, give your payment a description, and select Email as the Stripe Payment Receipt.

stripe settings

If you were only accepting one-time donation from people, you would be all set. The next step would be to add your donation form to your website.

However, you want to set up recurring donations so you have to continue customizing.

To do this, scroll down a bit more on the Stripe settings panel and click the checkbox labeled Enable recurring subscription payments under the Subscriptions section.

enable recurring payments

You will also have to configure the following:

  • Plan Name: this is the title of the subscription and will appear on the Stripe transaction.
  • Recurring Period: choose billing models for how often people will be able to make recurring payments. For instance, a billing period could be weekly, monthly, yearly, etc.
  • Customer Email: by selecting Email from the dropdown menu, WPForms will be able to send a notification to the customer once they submit their form. Being able to contact people via the email they input on the form is required for Stripe recurring functionality to work.

Lastly, you’ll need to set the conditional logic rules since you give people the option to make recurring donations or a one-time donation.

To do this, first select the checkbox Enable conditional logic.

Then, to make things super simple, configure the rule to say: Process payment as recurring if Dropdown is Monthly.

recurring payment conditional logic rule

This way, any time someone wants to make recurring donations to your organization, their payment will process automatically according to the time interval you offered on your form.

Click Save.

Before adding your donation form to your website, make sure to test it to make sure everything processes correctly. For help with this, we have documentation walking you through how to test Stripe payments before accepting actual payments.

Final Thoughts

And there you have it! You now know how to accept recurring payments on your WordPress forms using the WPForms Stripe addon.

If you’re ready to start accepting recurring payments, make sure to check out our article on how to reduce order form abandonment so you can grow your sales, and donations, and maintain your success.

So, what are you waiting for? Get started with the most powerful WordPress forms plugin today.

And don’t forget, if you like this article, then please follow us on Facebook and Twitter.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


  1. This is great 🙂

    Is there a way to charge a different first amount from the recurring amount?
    e.g. a 25% off coupon is applied to the purchase of the first billing cycle.


    1. Hi Geoff,

      We don’t have a way to do this right now, but I’ve made a note on our feature request list so we can keep it on our radar! Thanks for the suggestion 🙂

  2. Can we Setup Paypal for Recursive Payments instead of Stripe? Paypal is real simple. So i would like if it can be done with paypal.

    1. Hi Syed,

      We don’t have a way to do this with PayPal right now, but I’ve made a note on our feature request list so we can keep it on our radar! Thanks for the suggestion 🙂

      1. Hi Pieter!
        Currently, only with our Stripe addon, you can set up recurring payments in WPForms. This feature for the PayPal addon is still in consideration.
        I apologize for any confusion!
        Have a good one 🙂

  3. Great feature! Is there a way to run recurring payments ONLY for 30 days, 60 days, 90 days, etc? Ranter than, ongoing? AND, is there a way for the user to cancel an ongoing payment via wpform? Thanks!

    1. Hi Web Guy,

      We don’t have a way to do this right now, but I’ve made a note on our feature request list so we can keep it on our radar! Thanks for the suggestion 🙂

      1. Any updates on this feature? It should be easy to add as it is definately possible with Stripe API

      2. Hey Michael – I am afraid, it is still not available. I can’t provide any exact ETA on when it will be implemented but I have gone ahead and added your vote to the feature request. I am sorry for the inconvenience.

  4. I would add too, that if you are accepting recurring payments, you must tik both, “Enable Stripe payments” and “Enable recurring subscription payments” or it will not work! Took me a few tests before I realized that!

    1. Hi Web Guy,

      Thanks for your suggestion! I’ll go ahead and forward your feedback to our team to review so we can update our article.

      Thanks! 🙂

  5. I’d like to add a +1 for the feature request on ending the recurring payment after a predefined time period, plus the ability to only make a portion of the total cost recurring… I’d like to charge a signup fee and then have a monthly tuition payment for the entire length of a class (usually four months) and have it end on a certain date. I can do this with WooCommerce, but capturing additional content (and having output in a report) is such a hassle!

    1. Hi Daniel,

      No problem! I’ll go ahead and forward your comments to our team to keep in mind as they plan out future updates for the plugin. We really appreciate your feedback! 🙂

  6. +2 on ending subscription payments. I’d like to be able to charge half up front and then the other half in some period of time, like half now, half in 30 days.

    1. Hi Brad,

      Thanks for your feedback. While we don’t have this feature available now, I’ll go ahead and forward it as a feature request to our team to consider as they plan out future updates to the plugin.

      We appreciate the suggestion!

  7. Hi – Great feature. Is there is a smart way to offer four different recurring periods for different amounts. In other words, could a donee select $10, $25 or $50 and then also select to make payments monthly, quarterly, Semi-yearly, or Yearly? If not yet, I would like to request this be added to the wishlist/roadmap.

    1. Hi Scott,

      Right now the forms can only be set up so that they process one type of recurring payment at a time (so in other words, you can’t apply conditional logic to tell the form to process the payment as monthly if the user selected monthly, yearly if they selected yearly, etc.) but I do agree that would be helpful! I’ll add your suggestion to our feature request so our development team can keep this in mind as they continue to update the plugin.

      Thanks! 🙂

      1. Hey Hatim – Yes, you can select the frequency of recurring payment like Daily, Weekly, Monthly, Quarterly, Semi-Yearly, or Yearly but a single connection to Stripe will use only one frequency. In order to give users the options to choose the frequency, you will need to use the conditional logic, and based on conditional logic, you can choose which process(either a single time payment or a recurring subscription) you want to execute.

        For more help on this, I would suggest contacting the support team here!

        Thanks 🙂

  8. Hi there. +3 for the “Ending subscription payments” function. Would be very helpful. We could allow customer to pay in 2 / 3 / 5 times instead of asking them to pay the full price at once. Too bad.
    Did anyone find another way to do that?

    1. Hi Guillaume!

      Currently, we do not have a built-in option to add the possibility for users to pay X times only. I do agree it would be super helpful, though. I’ve made a note of the feature request and we’ll keep it on our radar as we plan out our roadmap for the future.

      Have a good one 🙂

  9. Hi, I really need a start date for the recurring to begin to allow for a free trial period, how can I do that please? Seems there should at least be this option as standard.

    1. Hi Sandra!
      Currently, we don’t have a built-in option in WPForms to set up a delayed start date for the recurring payments to provide trial/demo period for users before they will pay. I do agree it would be super helpful, though. I’ve made a note of the feature request and we’ll keep it on our radar as we plan out our roadmap for the future.
      Thank you for the suggestion and I apologize for any confusion!
      Have a good one 🙂

  10. Looking for an alternative to Formidable forms. Since the “trial” period for them works, but sends a “payment confirmation” trigger when it authorizes…

    It is admittedly broken by them and they do not know when they will get around to fixing it, so I was looking for other alternatives, obviously, I came here first, since this is way more expensive, only to find out that:

    1. No trial period
    2. No cancel (default and functioning on competition)
    3. No split payments (to be fair, neither does Formidable)

    I will def switch once this is available.

    1. Hi Michael.
      Thanks for your feedback!
      1. we prefer that users have full experience of our product, without limits. This is why we proudly offer a 14-day guarantee instead of the trial period. All purchases are fully protected by our 100% No-Risk Double-Guarantee so you are fully protected and can try it and then we can refund you in case you’ll decide that WPForms is not a good fit for you.
      2. you can cancel your subscription any time, this will disable the auto-renew option in your WPforms account so your license won’t renew for another year. And if you are in our 14-days refund window, we will provide you with a full refund by your request.
      3. this is something that we can’t offer at the moment. All our license levels are yearly subscriptions.
      I apologize for any confusion!
      Havea good one 🙂

  11. 1) Is there a way to do recurring payment where the first payment also includes a one-time deposit? 2) is there a way to delay or schedule start of the first payment?

    1. Hi Ritesh.
      Currently, we do not have a built-in option to have the first payment different than the next recurring payments. Also, we don’t have a feature to delay the payment. The first payment will be done directly when you submit the form. I do agree it would be super helpful, though. I’ve made a note of the feature request and we’ll keep it on our radar as we plan out our roadmap for the future.
      Have a good one 🙂

  12. Does WP forms give the ability to view all subscribers and current status? I’m using Gravity Forms with the Stripe add on + the free GravityStripe plugin and I have a list of all subscribers, when their subscription started, amount, etc. Subscribers can also cancel on their own and see their subscription info. Is this built into Wpforms?

    You can check out that plugin here – [URL Removed]

    1. Hey David – In the entries area of WPForms, you can see the details like transaction id, subscription id, customer id, etc. To cancel the subscription (which can be done by site admin only), you just need to click the subscription id which takes you to Stipe dashboard and Subscription needs to be canceled from there. Please refer to this article for more details like this.

      For any further help, please drop us a line in support so we can assist. If you have a WPForms license, you have access to our email support, so please submit a support ticket. Otherwise, we provide limited complimentary support in the WPForms Lite support forum.

      Thanks 🙂

  13. Is there a way to allow for recurring payments with a time limit… for example a monthly payment for 3 months?

    1. Hey Jessica – I am afraid that feature is not available yet, We have that in our feature request list though, I have gone ahead and added and your vote to the feature request so that dev team can consider this while deciding on new features to be implemented. I am sorry for the inconvenience.

  14. I have several products (subscriptions, monthly recurring payment) defined in Stripe. The user/customer needs to be able to subscribe to one or more of these, and will typically subscribe to 3-5 products. It is therefore important that the user/customer goes through the process of payment just once as opposed to once per product. Is this possible with wpforms?

    1. Hey Mike- In order to make sure we answer your question as thoroughly as possible, could you please contact our team with some additional details about what you’re looking to do?

      Thanks! 🙂

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.