4 Free WordPress Plugins for Accepting Stripe Payments

Stripe is currently one of the most popular payment gateways for processing both one-time and recurring subscription payments. Its robust, scalable, and flexible integration options have attracted a lot of developers into building elegant solutions for various businesses.  Whether it’s an e-commerce store, an on-demand marketplace or a subscription based service, Stripe’s APIs can help you build the best possible product very efficiently. And so in this article I will show you 4 free plugins that can be used to accept Stripe payments on a WordPress powered website.

1. WooCommerce Stripe Payment Gateway

WooCommerce Stripe Payment Gateway is an extension of the popular WooCommerce plugins for accepting Stripe payments. For new users, this extension is automatically installed if the Stripe payment option is selected in the initial setup wizard. When this payment method is enabled, you can accept Visa, MasterCard, American Express, Discover, JCB, Diners Club, SEPA, Sofort, iDeal, Giropay, Alipay and more directly on your WooCommerce store. It also supports Apple Pay for mobile and desktop.

WooCommerce Stripe Settings

In order to configure your Stripe payment gateway settings in WooCommerce, go to WooCommerce > Settings >Payments and then click Stripe under Payment methods.

screenshot of WooCommerce Stripe payment gateway settings

Currently these options are available in the WooCommerce Stripe settings.

Enable/Disable

An option to enable or disable the stripe payment option in WooCommerce.

Title

The title which the user sees during checkout.

Description

The description which the user sees during checkout.

Webhook Endpoints

The webhook endpoint for your site that you need to add to your Stripe account settings. This will enable you to receive notifications on the charge statuses.

Test Mode

An option to enable test mode. This will place the Stripe payment gateway in test mode using test API keys.

Test Publishable Key

Your Stripe publishable key to run a transaction in test mode.

Test Secret Key

Your Stripe secret key to run a transaction in test mode.

Live Publishable Key

Your Stripe publishable key to run a transaction in live mode.

Live Secret Key

Your Stripe secret key to run a transaction in live mode.

Inline Credit Card Form

This allows you to choose the styles you want to show for your credit card form. When unchecked the credit card form will display separate credit card number field, expiry date field and cvc field.

Statement Descriptor

The description that will appear on your customer’s statement in capital letters.

Capture

An option that controls whether or not to capture the charge immediately. When unchecked, the charge issues an authorization and will need to be captured later. Uncaptured charges expire in 7 days.

3D Secure

Some payment methods have 3D Secure feature. This is an extra security layer for your store. Choose how to handle payments when 3D Secure is recommended. Enabling would require customers to use 3D Secure when recommended.

Stripe Modal Checkout

An option to enable Stripe modal checkout. When enabled, this option shows a “pay” button and modal credit card form on the checkout, instead of credit card fields directly on the page.

Stripe Checkout Image

If Stripe Modal Checkout is enabled, you can optionally enter the URL to a 128x128px image of your brand or product.

Stripe Checkout Description

If Stripe Modal Checkout is enabled, you can use this field to shows a description of your store in the payment form.

Payment Request Buttons

If enabled, users will be able to pay using Apple Pay or Chrome Payment Request if supported by the browser.

Payment Request Button Type

The type of payment request button you would like to show.

Payment Request Button Theme

The theme for the payment request button you would like to show.

Payment Request Button Height

The height you would like the payment request button to be in pixels.

Saved Cards

If this option is enabled, users will be able to pay with a saved card during checkout. Card details are saved on Stripe servers, not on your store.

Logging

When enabled, debug messages will be saved to the WooCommerce System Status log.

WooCommerce Stripe Checkout

Once you have have a product in the shopping cart, you can click on the Proceed to Checkout button to go to the checkout page.

screenshot showing a demo of the WooCommerce checkout page

When the Credit Card (Stripe) option is selected, the customer will be able to enter their credit card details. If you have the Saved Cards option enabled in the Stripe settings, the customer can choose to save the payment information to their account during checkout. This means they will be able to pay with this card in future purchases without having to enter the details.

screenshot showing the Stripe credit card options on the WooCommerce checkout page

Once your customer has a card saved in their account, they can easily reuse it in future purchases like the following.

screenshot showing how a customer can pay with a saved card on the WooCommerce checkout using Stripe payment gateway

If you have the Stripe Modal Checkout option enabled in the settings, the payment information is collected in a modal credit card form during checkout. This is how it appears instead of the embedded credit card fields.

screenshot showing a Stripe modal credit card form on the WooCommerce checkout page

2. WP Simple Pay

WP Simple Pay plugin makes accepting payments with Stripe simpler. It allows you to accept credit card payments on your WordPress site in an embedded payment form. It’s similar to the one that we saw in WooCommerce when you have the Stripe Modal Checkout option enabled.

WP Simple Pay Settings

There are three tabs in the WP Simple Pay plugin settings. The Stripe Keys tab is where you need to enter the API keys for your Stripe account.

screenshot of WP Simple Pay Stripe keys settings

The General tab contains some settings that are already configured by default.

screenshot showing the general settings of the WP Simple Pay plugin

Payment Success Page

The page to which customers are sent after completing a payment.

Payment Failure Page

The page to which customers are sent after a failed payment.

Stripe Checkout Locale

An option to set the language for the checkout page. You can specify auto-detect to display Stripe Checkout in the user’s preferred language, if available. English will be used by default.

Currency

The default currency for your buttons.

Currency Position

The position at which the currency symbol will be placed. Available options are – Left, Right, Left with Space and Right with Space.

Separators

When this is enabled, the plugin will use a comma when formatting decimal amounts and a period to separate thousands. For example, amounts will be formatted as “1.234,56” instead of “1,234.56”.

Payment Button Style

The style of the payment button. The default is Stripe blue. You can also select None so the button styles are inherited from your theme.

Default Plugin Styles

An option to disable all payment form styles (CSS files) included with WP Simple Pay.

WP Simple Pay Payment Form

In order to create a button you need to create a new payment form first. Go to Simple Pay Lite > Add New to create a new form.

screenshot showing the payment options for a new form in WP Simple Pay plugin

In the Payment Options menu you have options to specify a one-time amount for this button and a Payment Success Page.

screenshot showing the on-page form display settings of a payment form in WP Simple Pay plugin

In the On-Page Form Display menu you have options to specify a Payment Button Text and a Payment Button Processing Text.

screenshot showing the checkout overlay display settings of a payment form in WP Simple Pay plugin

In the Checkout Overlay Display menu you can customize the following.

Company Name

The name of the company that will appear on the payment form.

Item Description

A description of the product that you are selling via this payment form.

Logo/Image URL

A square image of your brand or product to show on the overlay.

Enable Remember Me

Add a remember me checkbox in the payment form.

Checkout Button Text

Text used for the final checkout button on the overlay.

Verify Zip/Postal code

An option to automatically verify the zip or postal code entered in the payment form.

Enable Billing Address

This option enables collection of the billing address from the customer during checkout.

Enable Shipping Address

This option enables collection of the shipping address from the customer during checkout.

When you create a new payment form, a shortcode is generated for it. You can find it by navigating to Simple Pay Lite > Payment Forms.

screenshot showing the payment forms menu in WP Simple Pay plugin

Now all you need to do is create/edit a page and insert the shortcode into it. This should create a payment button for you when you view it.

screenshot showing the credit card form of the WP Simple Pay plugin during checkout

Here the button that I have embedded says “PAY WITH CARD”. When I click on the button the credit card form appears.

3. Stripe Payments

Stripe Payments is a powerful plugin for accepting credit card payments via the Stripe payment gateway. It’s a feature-rich plugin that offers almost everything you need to get started with Stripe.

Stripe Payments Settings

Stripe Payments settings page comes in three different tabs. The general settings tab contains options related to your Stripe merchant account.

screenshot showing the general settings of the Stripe Payments plugin

Checkout Result Page URL

The page to which a customer will be redirected after completion of a payment.

Products Page URL

The page where all of your products will be listed in a grid display.

Currency

The currency of your store.

Currency Symbol

The currency symbol of your store.

Button Text

The text that will appear in a payment button.

Do Not Save Card Data on Stripe

If this is enabled no customer object will be created in your Stripe account with the card token when processing a payment.

Turn Off Remember me Option

If this is enabled, no “Remember me” checkbox will appear on the payment form.

Validate ZIP Code

If this enabled, Stripe will validate the zip code entered in the payment form.

Stripe Checkout Language

The language that will be used in the payment form.

Stripe Credentials

Enter your Stripe publishable and secret keys here. You can choose to run a transaction in live/test mode.

Enable Debug Logging

An option to enable debug logging. This is very useful for troubleshooting post payment failures.

A debug log link that can be shared with someone (for troubleshooting) who doesn’t have administrative access to your site.

The email settings page allows you to configure the emails that are sent to the buyer and the seller after a transaction.

screenshot showing the email settings of the Stripe Payments plugin

Send Receipt Email From Stripe

If this option is enabled, Stripe will send an email receipt to your customer after they make a successful payment.

Send Emails to Buyer After Purchase

If this is enabled, Stripe Payments plugin will send an email to the buyer with the sale details after a purchase. If digital goods are purchased then the email will contain the download links for the purchased products.

From Email Address

The name and the email address that will be used to send the email to the buyer.

Buyer Email Subject

The subject of the email that will be sent to the buyer.

Buyer Email Body

The body of the email that will be sent to the buyer.

Send Emails to Seller After Purchase

If this is enabled, the plugin will send an email to the seller with the sale details after a purchase.

Notification Email Address

The email address where the seller will be notified of product sales.

Seller Email Subject

The subject of the email that will be sent to the seller.

Seller Email Body

The body of the email that will be sent to the seller.

Send Email On Payment Failure

If this is enabled, the plugin will send a notification email whenever an error occurs processing a payment.

Send Error Email To

The email address where this error email will be sent.

The advanced settings tab allows you to configure some advanced options for your store.

screenshot showing the advanced settings of the Stripe Payments plugin

Currency Position

An option to control the position of the currency symbol (e.g. left, right).

Decimal Separator

This option sets the decimal separator of the displayed price.

Thousand Separator

This option sets the thousand separator of the displayed price.

Number of Decimals

This option sets the number of decimal points shown in the displayed price.

Apply Separators Settings To Customer Input

If this is enabled, separator settings will apply to customer input as well.

Enable For All Buttons and Products

If this option is enabled, custom field settings will apply to all buttons and products by default.

Field Name

A name for the field. It will be displayed in order info and emails.

Field Description

This will be displayed for users to let them know what is required from them.

Text Field Description Location

The location of the field description (e.g. Placeholder, Below Input).

Position

The position of the custom field (e.g. Above Button, Below Button).

Field Type

The type of the custom field (e.g. Text, Checkbox).

Mandatory

If this option is enabled, makes the field mandatory (a user can’t proceed with the payment before it’s filled out).

Enable Terms and Conditions

This will show a terms and Conditions checkbox with your payment button. This feature is useful if you want customers to accept certain terms and conditions or privacy policy before making a payment.

Checkbox Text

The text that will be displayed on checkbox. This field accepts HTML code so it’s possible for you to put a link to your terms and conditions page.

Store Customer’s IP Address

If this option is enabled, customer’s IP address from which TOS were accepted will be stored in order info.

Position

The position of the TOS checkbox (e.g. Above Button, Below Button).

Disable Buttons Before Javascript Loads

If this is enabled, a payment button will not be clickable until all the required Javascript libraries of that page are loaded. This can prevent a “Invalid Stripe Token” error on some sites.

Stripe Payments Product Configuration

After you have saved the settings you can create a new product by navigating to Stripe Payments > Add New Product.

screenshot showing how to create a product in the Stripe Payments plugin

Product Title

You can enter a title for your product just like a post/page title.

Description

This field allows you to enter a long description of your product.

Short Description

This field allows you to enter a short description of your product.

Price

The price of this product.

Currency

The currency that will be used for making a payment of this product. You can either apply a different currency or use the one specified in the settings.

Variations

Create variations for this product (e.g. Size, Color).

Allow users to specify quantity

If this is enabled, users will be able to enter a price that they want to pay.

Set Quantity

You can enter a set quantity for this product.

Enable stock control

If this is enabled, you can specify the number of copies available for this product. Each time there is a purchase the value of the available quantity will decrease. When the stock reaches zero, an “Out of stock” message will be displayed instead of the buy button.

Quantity Available

This field allows you to specify the quantity available for this product.

Download URL

The URL of the product (if you’re selling this as a digital item).

Product Thumbnail

A thumbnail image for the product.

Don’t use product thumbnail in Stripe pop-up

If this is enabled, the thumbnail image will not be shown in the credit card form.

Collect Address on Checkout

If this is enabled, the credit card form will also collect the address of the customer during checkout. You can collect only billing address or both billing and shipping addresses.

Shipping Cost

The cost of shipping (if you are selling this as a tangible product).

Tax (%)

The amount of tax (in percentage) that will be added to the product price during checkout.

Thank You Page URL

The URL to which a customer will be redirected after completion of a successful purchase. You can leave it blank to use the default one specified in the settings.

Button Text

The text that will be displayed on the payment button. You can leave it blank to use the one specified in the settings.

Button CSS Class

CSS class that will be assigned to the button. This is useful for styling purposes.

Show Button Only

If this is enabled, only the payment button will be displayed without any additional product info.

Coupon Settings

You can select how Coupons should be handled for this product. Available options are – Use Global Setting, Enabled and Disabled.

Custom Field

This section allows you to add a custom field to the product.

Stripe Payments Products

Once a product is configured, you can find it under Stripe Payments > Products.

screenshot showing the products menu of the Stripe Payments plugin

The shortcode for this product is also displayed in the table.

Stripe Payments Buy Now Button

Now have you have a shortcode for the product, all you need to do is create/edit a page and insert the shortcode into it. When the page is rendered the shortcode will show a Buy Now button.

screenshot showing a buy now button created using the Stripe Payments plugin

When a visitor clicks on the Buy Now button the plugin will show a credit card form in a popup.

screenshot showing a credit card form generated using the Stripe Payments plugin

4. WP Stripe Checkout

WP Stripe Checkout is a lightweight yet powerful plugin for quickly accepting Stripe payments on your WordPress site. This plugin provides all the basic functionalities for successfully processing credit card payments on your website.

WP Stripe Checkout Settings

The setup is really easy. After you have installed the plugin you need to go to the General settings to quickly save your Stripe API Keys.

screenshot of Stripe checkout settings

You also have options to specify the default Currency Code for your payment buttons and a Return URL to which a customer will be redirected after completion of a successful purchase.

The Emails tab allows you configure some email related options.

screenshot showing the email sender options in the stripe checkout plugin settings

From Name

The name that will be used when sending an email.

From Email Address

The email address that will be used when sending an email.

A purchase receipt email is sent to a customer after a transaction. The default email body should be good for most sites. However, you can customize it as well as the dynamic variables in it (known as email tags).

screenshot showing the purchase receipt email related options in the stripe checkout plugin settings

The sale notification email can be sent to a recipient of your choice after a transaction. Just like the purchase receipt email it can be customized as well as the email tags in it.

screenshot showing the sale notification email related options in the stripe checkout plugin settings

WP Stripe Checkout Payment

Once you have save the settings, you can create/edit a page and insert a Stripe shortcode in it. The shortcode creates a Pay Now button which will open the credit card form when clicked.

screenshot of stripe checkout demo

After completion of the purchase, the customer will receive an email and the seller will receive a notification email. The sale will also get updated in the orders menu (Stripe Checkout > All Orders).

screenshot of stripe checkout orders menu

So which one of these plugins are you going to try first? Are you using any other free Stripe plugin for accepting credit card payments in WordPress? Feel free share your thoughts in the comments.

Leave a Comment