WPForms Documentation

Documentation, Reference Materials and Tutorials for WPForms

How to Install and Use the Stripe Addon with WPForms

Would you like to collect payments directly within your form? With our Stripe addon, you can provide an easy way for users to submit one-time payments, or even recurring/subscription payments, without ever leaving your site.

In this article, we’ll show you how to install and set up the Stripe addon with WPForms.

  1. Connect Stripe to Your WordPress Site
  2. Add Stripe to Your Forms
  3. (Optional) Set Up Conditional Logic for Payments
  4. Frequently Asked Questions
Requirements: You will need a Pro license level or higher to access the Stripe addon.

1. Connect Stripe to Your WordPress Site

Before we get started, be sure to install WPForms on your WordPress site. Then, you can go ahead and install and activate the Stripe addon.

Note: Stripe requires that your site has SSL (https) enabled on the page where you’re adding a live payment form, as this allows you to securely send credit card data to Stripe.

For information on how to set this up, please see WPBeginner’s guide to adding SSL and HTTPS in WordPress.

Once the Stripe addon is ready to go, you’ll need to open WPForms » Settings in the left menu of your WordPress site. From there, click on the Payments tab.

If you’d like to adjust the currency, go ahead and select the option you need from the Currency dropdown before proceeding.

Open Payments tab of WPForms settings

When you’re ready, scroll down to the Stripe section. These Stripe key fields will need to be filled out in order to connect your payment forms to your Stripe account.

Stripe key fields in WPForms payment settings

To find these keys, you’ll need to log into your Stripe account. Be sure to do this in a new tab or window, as we’ll be returning to those payment settings soon.

We’ll start by copying the test keys. Stripe’s test keys will be used if you test Stripe payments, which we recommend doing before adding your form to a live page.

After logging in, click Developers in Stripe’s left menu. Within the additional menu options that will appear underneath this, you’ll then need to click on API Keys.

Open API Keys page in Stripe account

Under the section titled API Keys, you should see a notice that reads, “Viewing test API keys, toggle to view live keys”. This means that the keys shown here are the test keys you’ll need to copy.

Test keys in Stripe account

When you return to your WPForms payment settings page to paste in these test keys, be careful to place them in the correct fields. The key names will help with this, as the key that begins with pk_test_ will go in the Test Publishable Key field and the key that begins with sk_test_ will go in the Test Secret Key field.

Copy test keys into WPForms settings

Next, we’ll need to copy the live keys, which will be used to collect actual payments when your form is displayed on your site. To find your live keys in Stripe, you’ll need to toggle the option that currently reads Viewing test data.

Toggle to view live keys in Stripe account

Note: In order to view your live keys, you’ll need to activate your Stripe account.

When you switch to the live keys, you’ll see a very similar screen. But you can quickly check that these are the keys you need by again looking to the beginning of each key. The Live Publishable Key will begin with pk_live_, and the Live Secret Key will begin with sk_live_.

Live keys in Stripe account

You’ll need to copy these live keys into your WPForms payment settings, as well. Then once all of the Stripe keys have been added to your payment settings, click Save Settings.

Copy Stripe keys into payment settings and save

2. Add Stripe to Your Forms

Now that you’ve connected Stripe to your WordPress site, you can start adding Stripe payments to your forms.

First, you’ll need to create a new form or edit an existing form.

In order for a form to work with Stripe, you’ll need at least two fields in your form:

  • An items field (Single Item, Multiple Items, or Dropdown Items)
  • A Credit Card field

For our example, we’ll create a simple order form that includes Name, Email, Dropdown Items, Total, and a Credit Card field.

Stripe order form example

Note: A Total field is not required for Stripe to work, however it’s often helpful for users to easily see how much they’ll be paying.

Once any fields you’d like have been added to the form builder, you’ll need to go to Payments » Stripe. From the Stripe panel, check the box labeled Enable Stripe payments.

Then you’ll be able to enter a short Payment Description, which will appear on the user’s credit card statement. Last, under Stripe Payment Receipt you can choose an Email field from the form where Stripe can send a receipt.

Enable Stripe payments in WPForms

For one-time payments, you’re all set! If you’d like to set up a recurring payment, please continue to the next section.

Recurring / Subscription Payments

You can easily set up a subscription payment within this same settings panel. Under the section titled Subscriptions, go ahead and check the box labeled Enable recurring subscription payments.

Enable recurring subscription payments in WPForms Stripe addon

Once you’ve checked this box, additional settings will appear.

Recurring subscription settings in WPForms Stripe addon

Here are the fields you’ll need to complete with more details:

  • Plan Name: You’ll need to enter a title for the subscription, such as “Donation to X”. This will appear within the Stripe transaction.
  • Recurring Period: You can choose how often the recurring payments should occur: Daily, Weekly, Monthly, Quarterly, Semi-Yearly, or Yearly.
  • Customer Email: Within this dropdown, select an Email field from your form where the customer can be contacted. This is required to create a subscription for a customer in Stripe.

3. (Optional) Set Up Conditional Logic for Payments

The Stripe addon settings also include the option to set up conditional logic. Conditional logic lets you create “smart forms” that automatically change the form based on a user’s selections.

There are many ways you can use conditional logic with Stripe payments, for example:

Note: For more general information on using smart logic in your forms, be sure to check out our introduction to conditional logic.

As an example, we’ll set up the last option from that list and let users choose whether to submit a one-time or recurring donation.

To get started, we’ll create a simple donation form. This will need to include either a Dropdown or Multiple Choice field that will let users choose whether they’d like to submit a one-time donation or set up recurring donation.

In our form, we’ll let users choose between two payment options: One-time and Monthly.

Let user choose one time or recurring payment

Next, we can return to our Stripe settings under Payments » Stripe. We’ve already followed the steps in the previous section to configure the basic settings, so now we need to set up logic for our recurring payment options.

First, we’ll set up the monthly recurring payment option. For this option the Recurring Period needs to be set to Monthly.

Then, we can scroll to the bottom of the settings (under the Subscriptions section) and check the box labeled Enable conditional logic.

Enable conditional logic for subscription payment

This will display additional fields where you can set up any conditional rules. For our example, we’ll set up a conditional rule that states:

Process payment as recurring if Donation Type is Monthly.

Configure conditional logic for recurring payment

This is all that’s needed to set up a conditional recurring payment!

Note: Before launching your payment form, we recommend testing Stripe payments.

Frequently Asked Questions

How do I test Stripe payments in my forms?

The best way to test out your forms is to submit an entry and follow the same steps as your users. We recommend setting up Stripe’s Test Mode before adding your form to a live page, which allows you to test transactions before accepting actual payments.

How can I see if a payment is set up as a recurring subscription?

The easiest way to quickly see that a payment is recurring is to go to WPForms » Entries. Be sure you have the correct form selected in the upper left corner.

All entries for the form will be listed here. The Status column will include a dollar icon if a payment was made. If the payment is recurring, you’ll also see a circular arrow icon under the Total column.

WPForms entries overview page for Stripe payments

How do I view purchase/subcription details in Stripe?

To easily access payment details in Stripe, go ahead and open an individual entry. In the right sidebar, you’ll see a section titled Payment Details. Here, you can see basic information or click the blue link to view details within Stripe.

For one-time purchases, you’ll see a single blue link (under Transaction ID).

View payment details for an entry

For subscriptions, you’ll see three blue links in this same sidebar location (Transaction ID, Subscription ID, and Customer ID). Each link will take you to the relevant details page in your Stripe account.

Stripe payment details for an individual entry in WPForms

How can I cancel a subscription for a customer?

To cancel a subscription, you’ll need to open the individual entry and then look to the Payment Details section in the right sidebar. From here, you can click the Subscription ID link to open subscription details for this customer in Stripe.

At the top of this page in Stripe, you can click the Cancel Subscription button.

Cancel subscription in Stripe

That’s it! You can now set up one-time and subscription payments for your forms with the WPForms Stripe addon.

Now that you’ve set up an order form, would you like to start boosting sales? Be sure to check out our tutorial on optimizing your order forms to learn how.

Changelog

2.0.2 (2018-11-27)

  • Added: Include addon information when connecting to Stripe API.

2.0.1 (2018-09-05)

  • Fixed: Stripe API error

2.0.0 (2018-09-04)

  • Important: The addon structure has been improved and refactored. If you are extending the plugin by accessing the class instance, an update to your code will be required before upgrading (use `wpforms_stripe()`).
  • Added: Recurring subscription payments! 💥🎉
  • Changed: Improved metadata sent with charge details.
  • Removed: wpforms_stripe_instance function and WPForms_Stripe::instance().

1.1.3 (2018-05-14)

  • Changed: Enable Credit Card field when addon is activated; as of WPForms 1.4.6 the credit card field is now disabled/hidden unless explicitly enabled.

1.1.2 (2018-04-05)

  • Changed: Improved enforcement of Stripe processing with required credit card fields.

1.1.1 (2017-08-24)

  • Changed: Remove JS functionality adopted in core plugin

1.1.0 (2017-08-01)

  • Changed: Use settings API for WPForms v1.3.9.

1.0.9 (2017-06-13)

  • Changed: Improved performance when checking for credit card fields in the form builder

1.0.8 (2017-03-30)

  • Changed: Updated Stripe API PHP library
  • Changed: Improved Stripe class instance accessibility

1.0.7 (2017-01-17)

  • Changed: Check for charge object before firing transaction completed hook

1.0.6 (2016-12-08)

  • Added: Support for Dropdown Items payment field
  • Added: New action for completed transactions, wpforms_stripe_process_complete
  • Added: New filter stored credit card information, wpforms_stripe_creditcard_value

1.0.5 (2016-10-07)

  • Fixed: Javascript processing method to avoid conflicts with core duplicate submit prevention feature

1.0.4 (2016-08-25)

  • Added: Expanded support for additional currencies
  • Fixed: Localization issues/bugs

1.0.3 (2016-07-07)

  • Added: Conditional logic for payments
  • Changed: Improved error logging

1.0.2 (2016-06-23)

  • Changed: Prevent plugin from running if WPForms Pro is not activated

1.0.1 (2016-04-01)

  • Fixed: PHP notices with some configurations

1.0.0 (2016-03-28)

  • Initial release.