Recurring Payments in WordPress

How to Accept Recurring Payments in WordPress (Easy Method)

Do you want an easy way to set up WordPress recurring payments?

Recurring payments really help to scale up your sales or donations. You get predictable income without spending time chasing up payments.

In this article, we’ll show you how to set up recurring payments in WordPress. You can add a payment field to any form on your site and collect the money through your favorite payment provider.

Create Your Recurring Payment Form Now

How Do I Set Up a Recurring Payment on WordPress?

The easiest way to set up recurring payments is with WPForms. You can easily add a Stripe credit card field to any form and then specify when you want the payment to recur.

Recurring payments are an awesome way to improve your cashflow with:

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

WPForms is the best recurring payment plugin for WordPress. It lets you easily add subscription payments to any form on your website, even if you don’t know anything about APIs or code.


When your visitor submits the form, WPForms will trigger the first payment. From there, the payment provider will then take over and bill that customer on the schedule you chose in the form settings.

If you choose WPForms Pro as a recurring payments plugin, you’ll also unlock all of the other awesome addons that come with it. For example, you can:

In this tutorial, we’ll show you how to set up recurring payment forms without a separate eCommerce checkout.

How to Accept Recurring Payments in WordPress

You can watch the video above for a walkthrough of how to use recurring payments in WPForms. If you prefer reading instructions, we’ve written out this tutorial below.

Step 1: Install the WPForms Plugin

First, install and activate the WPForms plugin. If you need help, see this step-by-step guide on how to install a WordPress plugin.

The WPForms pricing page

After you’ve completed plugin activation, you’ll want to install the WPForms addon for the payment service you want to use.  WPForms is a an excellent WordPress payment plugin and supports several integrations that allow recurring payments:

Note: The PayPal Commerce addon only accepts recurring payments through PayPal. It can’t process recurring credit card payments.

Go to WPForms » Addons to install the addon you need for recurring payments.

WPForms addons menu

On the Addons page, scroll down to the Stripe addon, the PayPal Commerce addon, or the Authorize.Net addon and click the button to install it.

Don’t forget to Activate it here too.

For our example, we’ll be using the Stripe addon.

Install the WPForms Stripe addon for recurring payments

WPForms doubles as a powerful WordPress Stripe plugin because it lets you accept payments via credit cards, Google Pay, and Apple Pay with its Stripe addon.

Once we’ve installed the addon, we’ll need to connect our Stripe account in the main WPForms settings area. This is super easy and you’ll only have to do it once.

You can check out the documentation for your preferred payment addon if you need help:

Now we’re ready to make your recurring payment form in WordPress.

Step 2: Create Your Recurring Payment Form

In this example, we’ll create a donation form that takes a recurring monthly payment. The steps are basically the same for any kind of order form or subscription form.

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

Add new WordPress form

Type in a name for your form at the top. We’ll call our form Recurring Donation.

Naming a form

Next, you can pick one of the 500+ templates WPForms includes. There are several donation templates to choose from, and you can use any of them to take recurring payments. For our example, we’ll use the regular Donation Form template.

WPForms donation templates

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

The WPForms Donation Form template

You can drag fields over from the left-hand panel to add them to your form. And if you want to customize a field, just click on it and edit the settings.

Editing field options for a donation form

Go ahead and tweak your form until it works the way you want. For help with this, check out our full tutorial on creating a nonprofit donation form in WordPress.

Step 3: Customize Your Payment Form Fields

Now it’s time to add the payment fields for recurring donations in WordPress. WPForms makes this super easy. You’ll need to have:

  1. At least one ‘items’ field (Single Item, Multiple Items, or Dropdown Items)
  2. A Stripe Credit Card, PayPal Commerce, or Authorize.Net field (depending on which integration you chose)

And that’s it.

On our donation form, we already have a Donation Amount field, which is a Single Item field. To add the credit card field, we can drag it onto our form from the Payment Fields section.

Adding a Stripe Credit Card field to a form

Believe it or not, that’s all you need to do! Now your form has a credit card field for payments.

In the next step, you can use conditional logic in your Stripe payment settings to tell WPForms whether to process a one-time payment or a recurring payment.

Great! All we need to do now is set up Stripe on your recurring payment form.

Step 4: Connect Your Payment Provider to Your Form

Now let’s edit your form settings so that each entry creates a new subscription payment. In the form builder, click Payments to start.

Opening the form builder Payments settings

Next, click Stripe to open up the payment settings for your form. (If you’re using PayPal Commerce or Authorize.Net, you can click that here instead.)

Enabling Stripe payments for sponsored posts in WPForms

On the right-hand side, you’ll see the payment settings in the form builder. Let’s toggle on the option labeled Enable Stripe payments.

Enabling Stripe payments

Add a Payment Description and select the Email field for the Stripe Payment Receipt here.

Configuring Stripe payment settings

Next, let’s scroll down to Subscriptions and toggle on the option labeled Enable recurring subscription payments.

Enabling Stripe recurring payments

The settings underneath will apply to the recurring payments through Stripe:

  • Plan Name: Type in a descriptive name that your customer will recognize.
  • Recurring Period: Use the dropdown to choose how often people will be billed: weekly, monthly, yearly, etc.
  • Customer Email: Select the customer’s email address for the recurring payment notification emails.

Configuring the settings for Stripe recurring payments

All set? Click Save.

Step 5: Let Users Choose Between One-Time or Recurring Payments (Optional)

If you want, you can let users choose if they want to make a one-time payment or recurring payment through the same form. This is totally optional but can be a good way to increase your revenue.

To do this, you’ll want to add a dropdown field to your form with 2 different choices: one-time or recurring.

Creating a Dropdown field to let users choose between one-time and recurring payments

Then go back to Payments » Stripe. Under the Subscriptions settings, toggle on the Enable Conditional Logic option.

Enabling conditional logic for recurring payments with Stripe

Then set up the dropdowns to read, Process this payment as recurring if Would you like to make a recurring donation? is Yes, I’ll donate monthly.

Setting up a conditional logic rule for recurring Stripe payments

Now the payments made through this form will only be charged monthly if the user selects that option from the dropdown. Don’t forget to save your changes!

Step 6: Publish Your Recurring Payment Form

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.

Now you can publish your form!

To start, hit the Embed button at the top of the form builder.

Embed form

Click Create New Page in the popup that appears.

Embed in new page

And finally, type in a name for your new WordPress page and click Let’s Go.

Embedding a donation form on a new page

Check that your page is ready to go live, then hit the blue Publish button.

Publish recurring payments form in WordPress

Now you’re ready to start taking payments for your subscription plans, services, or donations.

To see your recurring payment form’s entries, go to WPForms » Entries and click on the form’s name. On the next screen, you’ll be able to search entries by keyword or using the customer’s payment details.

For example, you can search for a donor’s unique subscriber ID to see their entry.

Searching entries for a recurring payment form using the subscriber ID

If your customer wants to change or cancel their monthly plan, you’ll find the payment amendment or cancellation option in your payment processing account.

Create Your Recurring Payment Form Now

Next, Grow Your Online Store

And that’s it! Now you can take recurring card payments in WordPress without any hassle. While we’ve used Stripe in this example, you can easily set up recurring payments by setting up a PayPal-enabled WordPress contact form.

If you decide to upgrade to a full eCommerce store, this article on how to start an online store will be super helpful. We included some important benefits of WooCommerce vs Shopify.

Finally, if you want to accept recurring donations for your charity, be sure to check out all the ways WPForms can help your nonprofit, including the WPForms nonprofit discount.

Ready to build your form? Get started today with the easiest WordPress form builder plugin. WPForms Pro includes the Stripe addon and offers a 14-day money-back guarantee.

If this article helped you out, please follow us on Facebook and Twitter for more free WordPress tutorials and guides.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


  1. I purchased WP Forms Pro to create a membership application form for a non-profit association. There are several classes of membership, each with unique pricing and offered in a choice of annual (one-time) or monthly (recurring) payment plans. I have used conditional logic to achieve the relevant pricing total based on the user’s selections. Now I need the payment integration. We want to use PayPal, not Stripe. The tutorial here only shows how to do it with the Stripe add-on. is there a way to do it with PayPal instead? Thanks.

  2. I am looking for a plugin which does
    take subscriptions with recurring payments
    restrict content
    payments should be multi currency. Dollars, Euros, Rupees etc. based on country they are living in.
    Please help me achieve this.

    1. Hi Prasanna! Our forms would be able to process recurring payments, but what currency is charged to your customers would be dependent upon your payment processing (PayPal/Stripe/Authorize.Net) account’s settings. We do not have any features for restricting content. From what you’ve described it sounds like you’re looking for a full featured membership type of plugin such as Memberpress.

      I hope this helps to clarify 🙂 If you have any further questions, please submit a support ticket if you have an active WPForms license.
      If you don’t have an active license, we provide limited complimentary support in the WPForms Lite support forum.

    1. Hi there– Currently, we do not have a built-in way to let users select the recurring payments with the annual and monthly options. 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.


      1. Thanks. So is there a work around for this through some sort of conditional logic? Such as ask “Choose: Annual or Monthly or Non-recurring” And if Monthly is selected a new form is show? Any other creative ways? Thanks!

      2. The best workaround at the moment would be to have one form set up to let users select their monthly recurring period and another form for the annual recurring period. Then after they submit the form to select their recurring period, the user would then be redirected to the form with Stripe enabled for that recurring period.

        In case it helps, here’s our guide on setting up conditional redirects with more details.

        Hope this helps!

      3. I’ve built just about everything with these forms, including full membership sites (with a little php functions help on page access permissions). There is almost always a work around. I have this same problem and the work around was to have the user complete the main form and then then redirect to a monthly, twice a year, or annual payment page based on their selection. Change the submit button to “Next” or “On To Payment” or whatever and it loads like it’s just the next step from the user’s perspective. Con: You have to check that they submitted both the registration and payment, but honestly I think we all check that we got the payment anyway, so it doesn’t really add that much work.

      4. Hey Gordon- Thank you so much for sharing your workaround and feedback on it!

        We appreciate it 🙂

  3. İs there any option to let user knows end date for this recurring payments….i mean there should be an option when end date of recurring payments should be.

    1. Hi Aqib- Currently, we do not have the option to notify the end date of the recurring payments. 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.


  4. can we add end date in payment form i want to create monthly recurring form for donation i want to give end date to visitor he can select the ending month of a payment. Please help me out

    1. Hi Imran! I apologize, but currently it isn’t possible to set an “end date” for when the monthly recurring payments would stop. You would need to manually terminate the recurring payment from your Stripe account. 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.

      I hope this helps to clarify 🙂 If you have any further questions about this, please contact us if you have an active subscription. If you do not, don’t hesitate to drop us some questions in our support forums.

      1. Don’t suppose this is possible as of today March 4th, 2022? I would really like to be able to set up installment plans of 2-4 equal payments using WPForms and Square as my payment processor.

      2. Hey Cody, I apologize this is not possible at the moment. Unfortunately, we don’t have an ETA on when this feature will be implemented. However, I’ve noted your interest in this feature and added your email to our list to receive updates about this feature.


  5. if i want first payment amount different than recurring payment than it is possible?
    for example:

    first time 99 USD then after 199 USD for each month.

    is it possible with this plugin?

    1. Hi Pm. thanks for reaching out to us.

      Currently, we do not have a built-in way to allow users to pay a different amount on recurring payments. 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.

      Thanks and have a good one!

      1. Hey Will – I am sorry that this has not been implemented yet. However, 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.

        Thanks and have a good one!

  6. Does anything on the “Roadmap for the future” actually get implemented? It seems like an automated response when the feature isn’t available.

    I also, like many of these comments need a way to “end” payments or set up an installment/payment plan that is limited to only 2, 3, or 4 equal payments and that’s it (no continued monthly or yearly charges).

    This article mentions “Installment/Payment” plans at the top but it is misleading as this isn’t possible.

    Can this solution be custom coded by a developer? Does WP Forms allow for that?

    1. Hey Cody, I apologize as we don’t have an ETA regarding our feature request implementation. Please know that we have it marked as a Feature request already and our concerned team does consider the feature reqquests based on various criteria to introduce a feature request.

      For custom installment payment collection, you’ll need to integrate it using custom codes, we suggest using codeable or WPBuff.

      I hope this helps!

  7. Is there any other payment integration which can process recurring payments excluding stripe. We had some issues with stripe where some one time transactions we charged as recurring and they weren’t helpful to resolve it.

    I wish I could do recurring payments with Paypal or Square

    1. Hey Natasha, I am sorry we don’t have an inbuilt feature within WPForms to cancel a recurring payment and as a workaround is to manually cancel the purchaser’s subscription after their last payment by removing memberships manually. To do so, please follow these steps.

      Having said that, in order to make sure we answer your question as thoroughly as possible and avoid any confusion, could you please contact our team?

      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.


      1. Hey Josh, I am sorry that this has not been implemented yet. However, 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.

        Thanks and have a good one!

  8. can you modify the plugin to accept by-weekly payments on a recurring basis? Currently it’s only has weekly, monthly, etc.

    1. Hello Cristian,

      Currently, we don’t have the feature to accept by-weekly recurring payments. I do agree it would be super helpful, and I’ll add this to our feature request tracker so that it’s on the radar of our developers.

      To collect installment payments with specific customization requirements, you can integrate them by using custom codes. We recommend using services such as Codeable or WPBuff to assist with this integration.

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.