Need to accept Stripe payments on your WordPress site? Stripe is great because it’s easy to use, charges transparent fees, and is not named PayPal (ok – that last one is kind of a cheap shot – but PayPal doesn’t have the best reputation).
We’ve previously written a detailed guide on how to use Stripe with WooCommerce, but we’ve never written about how you can accept Stripe payments on a regular WordPress site.
Let’s change that!
I’ll give you a detailed tutorial on how to accept Stripe Payments using a free plugin. Then, I’ll recommend some premium options that can give you even more flexibility for what types of payments you collect and the additional information that you collect alongside the payment.
How To Accept Stripe Payments On WordPress For Free
If you just need to accept basic, one-time payments, the free version of WP Simple Pay should be good enough for your needs.
In the end, you’ll end up with a basic payment box that looks something like this:
Here’s how you can use the plugin to start accepting Stripe payments on your site:
Step 0: Make Sure Your Site Uses HTTPS
In order for you to accept Stripe payments on your site, Stripe requires that your site uses HTTPS (and rightfully so).
So before you can start using this plugin, you need to make sure your site is using HTTPS.
Once you’ve got that squared away, continue on.
Step 1: Install And Activate WP Simple Pay
To get started, install and activate the free WP SImple Pay plugin. It’s listed at WordPress.org, so you can do this straight from your WordPress dashboard:
Once you activate the plugin, you’ll see an indicator saying that your site is in Test Mode.
Here’s why that’s important:
In Test Mode, you can enter payments to make sure that your form is working. But those payments aren’t “real”.
Once you make sure everything is working, you can disable Test Mode and start collecting live transactions.
Step 2: Enter Stripe API Keys
Your API keys are what actually allow your WordPress site to connect to the Stripe service.
To set them up, go to Simple Pay Lite → Settings.
You’ll need to enter two pairs of API keys:
- One pair for test mode
- One pair for live mode
It might be a good idea to wait to enter the live API keys until you want to go live – just remember you’ll need to do it later:
You can find your API keys in the API tab of your Stripe account. You can switch back and forth between Live and Test by using the toggle:
Once you’ve added your API keys to the WP Simple Pay interface, make sure to save your changes.
Step 3: Configure Basic Settings
Next, explore the General and Payment Confirmation tabs to:
- Choose which pages on your site to use for successful or failed payments
- Select your currency
- Choose basic styles
- Customize the payment confirmation message that gets sent to people
Note that, in the Payment Confirmation tab, you’re allowed to use template tags to dynamically insert information. You can find a full list of these template tags underneath the text editor:
Step 4: Create A New Payment Form
Ok! Now you’re ready to finally create a frontend payment form. To do that, go to Simple Pay Lite → Add New.
In the free version of the plugin, there are three tabs that you’ll need to configure:
In the Payment Options tab, enter the payment amount you want to collect. You can also choose a custom payment success page, if desired:
In the On-Page Form Display tab, you can configure two text strings that appear on your payment form:
And in the Checkout Overlay Display tab, you can add additional information to the payment form and/or add/require additional functionality from shoppers.
For example, you could upload your own logo and additional verification for zip/postal code:
Once you’re done configuring your form, copy the shortcode and click Create:
Step 5: Insert Shortcode Where You Want Payment Form To Appear
Now, all you need to do is add the shortcode to the spot where you want the Stripe payment form to appear:
And you have your form on the frontend:
Step 6: Remember To Enable Live Mode When You’re Ready
When you’re happy with how everything looks and functions, make sure to go to Simple Pay Lite → Settings and Disable Test Mode to start collecting real payments:
Use WP Simple Pay Pro For Even More Features
The free version of WP Simple Pay is fine for basic one-time payments. But if you need more functionality, WP Simple Pay Pro lets you:
- Collect subscriptions and recurring payments
- Offer multiple payment options that customers can choose from
- Build a payment form to collect additional information alongside the payment
- Add custom fields to capture more data
- Offer coupon codes
WP Simple Pay Pro starts at just $49, though you need the $99 version for subscription payments.
Other Options To Accept Stripe Payments On WordPress
Here are some other good options to help you accept Stripe payments on WordPress:
The Stripe add-on is only available in the $199 Pro plan, though. While that’s a little bit cheaper than Gravity Forms, it’s still pretty expensive for a casual user.
Need help deciding between the two? We wrote a big Gravity Forms vs WPForms comparison.
Easy Digital Downloads
It has a dedicated Stripe Payment Gateway that costs $89.
I haven’t personally used this one, but it gets good reviews and seems to be well maintained.
From playing around with it, it seems like a more lightweight version of WP Simple Pay. Given that both are free, I would recommend just sticking with WP Simple Pay. But this seems like a solid second option if you want more choice.
Final Thoughts On Stripe Payments For WordPress
If you just need to accept simple one-time Stripe payments, I think WP Simple Pay makes it pretty easy to get started.
WP Simple Pay Pro builds on that with subscriptions, multiple payment options, and forms.
But if you really want to collect additional data alongside your payments, and maybe even automatically do stuff using that data with Webhooks or Zapier, then you might be better off going with one of the pricey forms plugins for maximum flexibility.
Have any questions about accepting Stripe payments on your WordPress site? Leave a comment and I’ll try to help out!