How to Add Optional Payment to Your WordPress Forms

Do you want your visitors to be able to choose to donate to your nonprofit as they’re filling out a form? Using conditional logic, you can hide fields unless the user chooses a certain option. In this article, we’ll walk you through how to add optional payment to your WordPress form.

Adding Form Fields

The first thing you need to do is install and activate the WPForms plugin. Here’s a step by step guide on how to install a WordPress plugin.

Also, you’ll need to have a form created. See our tutorial on How to Create a Simple Contact Form as an example to get started. You can use any kind of form, but for this tutorial we’ll be using a contact form.

The default contact form comes with Name, Email, and Comment or Message fields. We need to add the Multiple Choice, Credit Card, and Single Item fields to the form.

Customizing Form Fields

The Multiple Choice field comes with three choices but you only need two choices for optional payment. You can simply remove the third choice by clicking on the field in the right panel to edit and then deleting the third choice in the left panel.

optional payments

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

Since you’ll going to be asking your visitors if they would like to donate, it’ll be a good idea to change the labels for the multiple choice. You can do so by simply clicking on the multiple choice field in the right panel to edit and changing the labels in the left panel.

donation fields label

The Single Item field needs to be set to User Defined so users can enter in their own donation amount. You can do this by configuring the advanced settings for the Single Item field.

user defined

If you need help customizing the donation amounts, you can read this article on how to create a donation form with multiple amounts.

Enabling Conditional Logic

To add optional payment to your form you first need to enable conditional logic on the payment field.

You can enable it by clicking the field, then expanding the Conditionals  section. From there, click the Enable Conditional Logic checkbox.

Next, you’ll want to set up the logic so that the credit card field only shows when the user selects Yes, I’d like to donate.

Optional Payment Settings

So if someone doesn’t want to donate, the Stripe field won’t show up.

Now we need to tell Stripe not to try to process the payment if the visitor doesn’t want to donate.

To do that, click the Payments icon on the left of the form builder. Let’s use Stripe in this example.

Payment tab in form builder

Click on Stripe, then go ahead and click the Enable conditional logic checkbox in the right hand pane. Underneath, create a rule that says Don’t process if the user selects No, thanks.

Enable conditional stripe payment

Now, even if the user types a value into the donation field, the form won’t charge their card if they’ve selected No, thanks.

WPForms integrates with PayPal, Authorize.Net, or Stripe for accepting payments. You can even use set up your form to allow users to choose a payment method.

After you are done configuring the order form settings, click Save to store your changes and your form is ready to be published on your site.

In Conclusion

That’s it! You’ve just added optional payment to your WordPress form.

Want to accept payment for the online orders? Check out how to process payments with your WordPress order forms.

If you’re looking to save even more time processing online orders, you can check out our tutorial on how to create a client booking form that connects with your calendar software.

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

If you like this article, then please follow us on Facebook and Twitter for more free WordPress tutorials.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


    1. Hi Sharukh,

      We don’t currently have integration with Instamojo, but we’ve added that to our feature request list for future consideration. Thanks for the suggestion 🙂

      1. Hey Anurodh – Currently WPForms does not have Razorpay integration. I have created a feature request so that the dev team can consider it for our future roadmap. Thanks for the suggestion!

    1. Hi Kevin – We don’t currently have an option for this integration, and are focusing on our current payment options (Stripe and PayPal). But I’ve noted this on our feature request list for consideration down the road 🙂

  1. How can I export information on paypal form.
    I need the status field information.
    What other transaction fields related to paypal can I get access to export or use in wpforms
    Iike transaction #, Paid amount, or the field status -completed or pending, anything…

    Trying to build report with exported information, I export now and no status field.
    Thank you

    1. Hi Eric,

      I apologize for any trouble with this, and the reason that we don’t include this information in CSV exports is that it’s generated dynamically (pulled from PayPal so that you see the latest/most correct info). I can understand why this and the other PayPal-related data would be useful to export, though, and I’ve added that to our feature request to be considered down the road.

      If we can assist in any other way, please get in touch!

  2. Is this possible to integrate payment gateway other than PayPal or stripe in wpforms? In india both the gateways are not popular.

    1. Hi Prashann,

      We currently only have payment integrations with Stripe and PayPal, and aren’t planning to expand this in the near future. But if you could please share any options that you were hoping for over in our feature request form, that will help us to keep additional ideas in mind down the road.

      Thanks! 🙂

      1. I agree with him both this option does not work with India and I am also looking for some better option integration with WP forms that we can use for india for payment please let me know if you have something come up in that matter

      2. Hi Beena,

        We really appreciate your feedback and while I’m sorry we currently don’t have any other payment integration options available I’ll go ahead and forward your comment as a feature request to our team for them to consider as they plan future updates to WPForms.


    1. Hi Ali,

      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. Hi Desmond,

      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. Hi Lucas,

      Currently we don’t have the ability to include coupon codes in our forms. We do have a possible workaround to set this up as shown in this screencast.

      But essentially, you can add two Multiple Items fields — one with normal pricing and one with discounted pricing and also add a Single Line Text field to accept a coupon code. The last step is to create conditionals for each of the item fields. To do this, click on one of those fields and open its Field Options screen. From there, open the Conditionals section and checked ‘Enable Conditional Logic’.

      For the full price items, the logic should resemble this screenshot. This tells this field to be hidden if the correct coupon code is entered.

      The discounted item’s conditional logic should be set to display when that same ‘coupon code’ is entered.

      I hope this helps! 🙂

  3. Please Add Paystack Payment Gateway. I unable to complete my form submission PayPal and Strip don’t work in my Country..
    Please help!

    1. Hi SamuelChuck,

      At this time we only support Stripe and Paypal Standard, and will be concentrating on those two payment providers. I’ll make note of your suggestions so we can review it later as we continue to plan out our roadmap for the future. We appreciate the suggestion!

    2. name sake, i’m facing the same issue. i want to be using paystack to collect subscription payment where customers will have to log in before they can view any content on vip

      1. Hey Samuel- We don’t currently have an option for this integration, and are focusing on our current payment options (Stripe, PayPal and But I’ve noted this on our feature request list for consideration down the road 🙂

  4. Hi am Dan
    Just want to know can I use the wf plugin to design Electricity bill payment and transportation bill payment system? Am new as a CMS user.

    1. Hi Daniel! You can absolutely create a simple payment form with WPForms. We have a great article on our website about this here. Hope this helps!
      Have a good one 🙂

  5. As far as I can tell, this doesn’t actually work with Stripe. I’m a WPForms Pro user and have tried to set this up, but if you try and submit a form that has a total value of $0 then you get an error from Strip saying “invalid amount”.

    1. Hi Daniel.
      This should work if you will use Conditional logic under Payments > Stripe settings in the form builder.
      For example, you can set it up there so the Stripe payment won’t be processed if an Item with “0” price is chosen, or based on the choice in a Checkbox, Multiple Choice, Dropdown, etc field. This way you can simply disable Stripe payment in your form if the payment conditions are not being met.
      I hope this helps.
      Have a good one 🙂

      1. You’re right. That does work. But that’s a pretty crucial step in the process that is entirely missing from this tutorial! Without that step, it doesn’t work. The tutorial mentions using conditional logic to display the payment form, but doesn’t mention the need for the additional steps on the Payment tab. It’s not intuitive that you would need to do this. As far as I’m concerned, if there’s no way to enter a credit card in the form, why would it be trying to process a payment?

      2. Hi Daniel,
        thanks for taking the time to write to us about this. I will forward this to the post author so they can possibly make some edits to more clarify the process.
        And regarding your question, the system will still think that the Payment should be processed if it is not disabled conditionally.
        I apologize for any inconvenience!
        Have a good one 🙂

  6. Hello I want to Fix onetime life time membership and two yearly memberships on stripe, need help in setup. thanks

    1. Hi Ghulam!
      We have a great tutorial on our site on how to install and use our Stripe addon, with the explanation of both One time and recurring subscription options.
      However, if you would like to fix something outside of WPForms functionality, I would recommend contacting the Stripe support team directly.
      I hope this helps.
      Have a good one 🙂

  7. If the option is “No, I don’t want to donate,” can I still make the Stripe payment required? In other words, on my form, I have four options (Tier 1, Tier 2, Tier 3–all which cost– and Tier 4–which is free). I want the Stripe payment to be required for every answer except the last one. I conditionally set it up to hide the payment fields if the user selects Tier 4, but the form won’t process because the Stripe payment is still required (even though the cost is $0). Can you tell me what I am doing incorrectly? Thanks so much!

  8. We are looking to have a “payment”page where customers enter their name, invoice number and payment. Since each payment will be a different amount, this “user defined” option works perfect. Thanks.

    1. Hey Steve – Great to hear that the user-defined option was able to help you achieve your requirement!

      Have a good one 🙂

    1. Hey Wajid – This is actually dependent on the service provider that you are using. WPForms just sends the card data to your integrated payment service provider(Stripe, Authorize.Net etc) and they will handle all such country-specific regulations at their end. In general, recurring payments can’t be done with debit cards in India but to get the confirmation on this, I would suggest contacting the support team of your integrated provider.

      I hope this helps!

    1. Hey Cesar – Thanks for reaching out! This is already in our feature request list. I have gone ahead and added your vote to the feature request so that the dev team can consider this for the future.

      Thanks 🙂

  9. ADD Paystack Gateway. Africans are more used to Paystack than STRIPE and PAYPAL. Adding Paystack will make your form solution African Friendly.
    We need Paystack on WPFORMS in Africa.

    1. Hey Abolade- I am sorry as Currently we don’t have an option for Paystack integration, and we are focusing on our current payment options (Stripe, PayPal and But I’ve noted this on our feature request list for consideration down the road.

      Thanks, and have a good one 🙂

    1. Hi Younis! If you’re looking to add a currency that isn’t currently included with WPForms (such as Indian Rupee), you can follow this Developer’s Doc as a guide to add your own custom currencies.

      I hope this helps!

      If you require further assistance, 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.

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.