Stripe Checkout Plugin For WordPress

Stripe checkout plugin enables Stripe payment gateway on your WordPress site. It seamlessly integrates Stripe checkout functionality into your site and allows you to collect credit and debit card payments. Stripe checkout plugin offers SCA-ready (Strong Customer Authentication) checkout option with mobile-ready experience for your customers.

Why Stripe Checkout?

Strong Customer Authentication (SCA), a new rule came into effect on September 14, 2019, as part of PSD2 regulation in Europe, requires changes to how your European customers authenticate online payments. Card payments now require a different user experience, namely 3D Secure, in order to meet SCA requirements. Transactions that don’t follow the new authentication guidelines may be declined by your customers’ banks.

Stripe checkout plugin supports 3D Secure 2 in the new version of Checkout and the Payment Intents API. Both are capable of running 3D Secure 2 when supported by the cardholder’s bank and fall back to 3D Secure 1 otherwise. The new version of Checkout and the Payment Intents API also support Dynamic 3D Secure, which helps comply your site with the Strong Customer Authentication regulation in Europe. Use of Stripe’s legacy 3D Secure Sources API is no longer recommended and does not support 3D Secure 2.

WP Stripe Checkout Info

Plugin Name: WP Stripe Checkout
Version: 1.1.7
File Format: application/zip
Requires: WordPress 5.7
Rating: 4.2 based on 11 votes
See All Ratings/Submit Your Rating Here
Price: 0 USD

Requirements

  1. A self-hosted website running on a WordPress Optimized Environment.
  2. Support for the WordPress shortcode API.

Stripe Checkout Plugin Installation

  • Login to your WordPress admin dashboard
  • Go to Plugins->Add New
  • Enter WP Stripe Checkout in the search box
  • Once you find the plugin hit the install button

Option 2

  • Download the zip version of the plugin
  • Go to Plugins->Add New and switch to the Upload tab
  • Select the zip file on your computer
  • Upload and install it

Option 3

  • Download the zip file and extract it
  • Connect to your website via FTP (you can use a software like Filezilla to transfer files to your server) and browse to the “/wp-content/plugins” folder
  • Select the folder containing the plugin files on your computer and upload it
  • Once all the files have been uploaded to your web server you can activate the plugin from the Plugins menu (WordPress admin dashboard)

Stripe Checkout Plugin Configuration

Once you have installed the plugin you will be able to access the settings by navigating to “Stripe Checkout -> Settings”.

screenshot showing the setting menu of the Stripe checkout plugin

General Settings

In the general settings area, you will need to configure some options related to your Stripe merchant account.

screenshot of Stripe checkout settings

Click on the “Save Changes” button when you are done.

Email Settings

In the email settings area, you can choose to configure some email related settings.

Email Sender Options

In this section, you can specify a From Name and From Email Address that will be used by the plugin when sending an email. You can leave them empty to use the default.

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

Purchase Receipt Email

WP Stripe checkout plugin allows you to send a purchase receipt email to the customer after completion of a successful purchase. By default, this feature is disabled. In order to use this feature, you need to enable it in the settings.

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

You can customize the following options in the purchase receipt email,

Purchase Receipt Email Subject: The subject line for the purchase receipt email.

Purchase Receipt Email Type: The content type of the purchase receipt email (Plain Text/HTML).

Purchase Receipt Email Body: The main content of the purchase receipt email. You can use various tags in the email body to dynamically change its content when it is sent.

Sale Notification Email

WP Stripe checkout plugin can send a sale notification email to your chosen recipient after completion of a successful purchase. By default, this feature is disabled. In order to use this feature, you need to enable it in the settings.

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

You can customize the following options in the sale notification email,

Sale Notification Email Recipient: The email address that should receive a notification anytime a sale is made.

Sale Notification Email Subject: The subject line for the sale notification email.

Sale Notification Email Type: The content type of the sale notification email (Plain Text/HTML).

Sale Notification Email Body: The main content of the sale notification email. You can use various tags in the email body to dynamically change its content when it is sent.

Email Tags

The following email tags can be used in the email body to dynamically change its content when an email is sent,

{first_name} – The buyer’s first name.

{last_name} – The buyer’s last name.

{full_name} – The buyer’s full name.

{customer_email} – The buyer’s email address.

{txn_id} – The unique transaction ID for this purchase.

{product_name} – The name of the product purchased.

{currency_code} – The currency code used to make the payment.

{price} – The total price of the purchase.

How to Use Stripe Checkout

1. Enable Checkout in Your Stripe Account

Log in to your Stripe account and navigate to the Checkout settings (Settings > Stripe apps > CHECKOUT) from the Dashboard.

screenshot showing how to enable checkout from a stripe account dashboard

From here you can enable the client integration and customize the look and feel of your checkout page.

2. Create a Product

Navigate to the Products section in your Dashboard and create a new product (One time/Recurring).

screenshot showing how to create a product in a stripe account

When you create a product in the Dashboard, Stripe generates a price ID for it. Make sure to copy this price ID because you will need to use it in shortcode later.

screenshot showing how to copy product price id from stripe account

3. Add a Webhook Endpoint

Go to Developers > Webhooks > Add endpoint from your account dashboard and insert the URL shown in the plugin settings.

Select this event – checkout.session.completed and click Add endpoint. This is where Stripe will send a notification after a checkout payment is successful.

4. Add a Checkout Shortcode

Add the following shortcode to a post/page to create a one-time payment button.

[wp_stripe_checkout_v3 price="price_UY9NozbEy7T3PUlk"]

Replace the value of price with your product price ID.

In order to create a payment button for a recurring product set the “mode” parameter to “subscription” in the shortcode.

[wp_stripe_checkout_v3 price="price_UY9NozbEy7T3PUkU" mode="subscription"]

Shortcode Parameters

Stripe checkout shortcode currently supports the following parameters:

button_text

The text displayed inside the button (optional). The default is “Buy Now”.

[wp_stripe_checkout_v3 price="price_UY9NozbEy7T3PUlk" button_text="Pay Now"]

success_url

The URL to which Stripe will redirect upon completion of a successful payment (optional). The default is the Return URL specified in the settings.

[wp_stripe_checkout_v3 price="price_UY9NozbEy7T3PUlk" success_url="https://example.com/success"]

cancel_url

The URL to which Stripe will redirect when a payment is canceled (optional). The default is the home URL for your site.

[wp_stripe_checkout_v3 price="price_UY9NozbEy7T3PUlk" cancel_url="https://example.com/cancel"]

If the payment is successful the customer will be redirected to your chosen Return URL page.

locale

The locale that will be used to localize the display of Checkout (optional). The default is “auto” (Stripe detects the locale of the browser).

[wp_stripe_checkout_v3 price="price_UY9NozbEy7T3PUlk" locale="en"]

For a list of supported languages for checkout please check the Stripe support page here.

When you receive a new order you will be able to view it in the orders menu.

screenshot of stripe checkout orders menu

Legacy Stripe Checkout

This section is for the legacy version of checkout. It doesn’t meet the new requirements for authenticating online payments (known as SCA – Strong Customer Authentication) which came into effect on September 14, 2019, as part of PSD2 regulation in Europe.

Create a new post/page and add the following shortcode to create a Stripe checkout button.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" label="Buy Now"]

Shortcode Parameters

Legacy Stripe checkout shortcode currently supports the following parameters:

item_name

The name of the item you are selling (required).

description

A short description of your item (optional).

amount

The price of the item. It is also the amount shown to the user (required).

name

The name of your company or website (optional).

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" name="example.com" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99"]

label

The text that is shown on the payment button (optional).

image

A URL pointing to a square image of your brand or product(128x128px recommended). The recommended image types are .gif, .jpg, and .png (optional).

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" image="https://example.com/wp-content/uploads/checkout.png"]

locale

Specify auto to display Checkout in the user’s preferred language, if available (optional). English will be used by default.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" locale="auto"]

currency

The currency of the item (optional). If not specified it will read the currency from the settings.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" currency="USD"]

billing-address

Specify whether Checkout should collect the user’s billing address (optional). The default is false.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" billing-address="true"]

This will collect the following billing address details from a user:

  • Billing Name
  • Billing Address Line1
  • Billing Address Zip
  • Billing Address State
  • Billing Address City
  • Billing Address Country

shipping-address

Specify whether Checkout should collect the user’s shipping address (optional). The default is false.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" shipping-address="true"]

This will collect the following shipping address details from a user:

  • Shipping Name
  • Shipping Address Line1
  • Shipping Address Zip
  • Shipping Address State
  • Shipping Address City
  • Shipping Address Country

panel-label

The label of the payment button in the Checkout form (optional). Checkout does not translate custom labels to the user’s preferred language.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" panel-label="Pay Now $59.99"]

allow-remember-me

Specify whether to exclude the option to “Remember Me” for future purchases (optional). The default is true.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" allow-remember-me="false"]

bitcoin

Specify whether Checkout form should accept Bitcoin (optional). The default is false.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" bitcoin="true"]

success_url

Specify whether the customer should be redirected to a different URL upon completion of a successful payment. The default is the Return URL specified in the settings.

[wp_stripe_checkout item_name="Champion Men's Jersey T-Shirt" description="Short-sleeve t-shirt in athletic fit featuring ribbed crew neckline and logo at chest" amount="59.99" success_url="https://example.com/success"]

When a user clicks on the pay button, a window will pop up where they can enter their credit card info and complete the payment.

screenshot of stripe checkout demo

Stripe Email Receipt

Stripe can automatically send a receipt to your customer via email after completion of a purchase. All that is required for this option is the email address of the customer at checkout. The plugin will collect the email address entered in the simple pay form and notify Stripe so a receipt is automatically sent to the customer upon purchase.

screenshot of a stripe receipt sent to the customer via email upon purchase
Disclosure: This page may contain affiliate links. If you follow one of those affiliate links and purchase something it will provide me with a little bit of a commission. This costs you nothing extra but helps maintain my site, free plugins, and themes. So I thank you for your support.

190 thoughts on “Stripe Checkout Plugin For WordPress”

  1. Are recurring products supported yet ?

    Reply
  2. Hey, can we make customize pricing for checkout? Customer just come set the price and do the transaction ?

    Reply
    • @Umar, That’s not possible at the moment.

      Reply
  3. This plugin is great!

    Any support for shipping-address=”false” in the future?

    (I couldn’t get it to work with v3)

    Reply
    • @Scott, This is not possible with the v3 API.

      Reply
  4. Quando estará disponível no Brasil?

    Reply
    • @Daniel, Please contact Stripe to see when it will be available in Brazil.

      Reply
  5. My buy now button looks like its from 1999….how can I customize it other than just the label? Can I assign it to a custom button?

    I’m using Thrive architect

    Reply
    • I can’t see when you posted this comment, so I don’t know if my reply will help you now but here’s what I did to resolve this issue:
      1. Design your own buttons
      2. once you create your products and tested them, create your LIVE products.
      3. copy your LIVE price ID codes and place the codes into the button shortcode provided by this plugin developer.
      4. The shortcode, for reference: [wp_stripe_checkout_v3 price="price_1HlFpYHmn1A2N22AFLyM4e9L" mode="subscription"]
      5. View your page and click on the shortcoded button.
      6. That button will bring you to your stripe product purchase page.
      7. Copy the URL and program YOUR designed button to go to that URL.

      🙂

      Reply
  6. does it allow for Bacs Direct Debit payments in the UK ?

    Reply
  7. Is it possible to open button or checkout page in a new tab? Thanks!

    Reply
    • @Sapotdisenyo, Unfortunately that’s not possible at the moment.

      Reply
      • Thanks Noor noted that, how about changing the back button of the stripe checkout page to previous page?

        Reply
  8. Is there a way to do URL instead of shortcode? Elementor buttons don’t accept shortcode. Thanks.

    Reply
  9. Is it compatible with Stripe chargeback protection?

    Reply
    • @Jose, Is it enabled in your account? If you’re not sure please contact Stripe for more information.

      Reply
  10. Is it possible to pre-authorise a payment? Like a “Damages Deposit” for a hotel

    I don’t find the option

    Thanks a lot

    Reply
    • @Jose, Unfortunately that’s not possible at the moment.

      Reply
  11. Hi Noor
    First of all, thank you for this addon. I’m translator and using Facebook Messenger to sell translation services with the help of chat bot ( Manychat ) . I want my customers pay on a page that pops up inside the chat experience by using Stripe Checkout and your plugin. Is it possible?
    are There links payment from Stripe Checkout like Paypal. Me ?
    Thanks

    Reply
    • @Mourad, Do you have a website page that you can link to your customer? If not I don’t think it’s possible. As far as I know Stripe doesn’t offer any paypal.me type link either.

      Reply
      • i don’t have a website page. my goal is to keep the customer on messenger as long as possible. but after your reply, i have to do it if i want to use Stripe Chekout. Thank you

        Reply
  12. Appreciate this plug-in!

    Is there a way to pass the Customer (Cardholder) Name to Stripe rather than just their email address?

    And is there any way to have Stripe remember the Customer’s CC Information?

    Lastly, on the plug-in’s Orders screen, is there a way to show the Product Name rather than just the Order # without using the Extended View which shows way too much info?

    Thanks!

    Reply
  13. Further to Eliza’s question, is there anyway to have the shortcode URL to insert in a button in Elementor?

    Reply
    • @Sarah, There is no URL unfortunately. The button is generated dynamically using Stripe’s API.

      Reply
  14. Hi, can you please guide me where to get sku keys because I didn’t find them from dashboard.

    Reply
    • @Muhammad, Try price=”Price ID” instead.

      Reply
  15. Hi, I only have one article. At the moment it will only be a price in test mode it works well, but when I try to go to live mode, it marks an error. please help

    Reply
    • @jessica, Have you created a product in live mode? As far as I know products created in test mode don’t work when you go live.

      Reply
  16. Hi,

    Firstly congratulations for the plugin, it’s awesome!
    Now, how can I capture the company name or even the customer name on the checkout form?
    The only name field I’m seeing is the cardholder’s name.

    That way if my customers use a “non-branded” email address and a Card with someone else’s name, how will I know which company/customer actually subscribed for my website?

    Is it possible to add the Customer Name field on the checkout page?

    Thanks!

    Reply
    • @Fabio, Unfortunately the plugin has no control over the Stripe payment page at the moment.

      Reply
  17. Hello, it is possible to have the checkout experience offer a dropdown for the user to select from different options with different prices?

    I have a service with 3 different prices for different use cases, and I want the user to be able to select which price variation they would like to purchase?

    Is this possible or do I have to create a different buy now button for each price variation?

    Reply
    • @Ross, Variation is not possible at the moment.

      Reply
  18. Hi,

    Nice plugin!
    I am new to Stripe; Any idea why the checkout page only collects billing address and not shipping address? Using shipping-address=”true” inside the shortcode.

    [wp_stripe_checkout_v3 price="price_____________" shipping-address="true" button_text="Pay Now"]

    Can i customize the appearance of the “Pay now” button ? And maybe the large gray rectangle surrounding it too

    Thank you

    Reply
    • @kellogs, This parameter is only for the legacy checkout shortcode.

      Reply
  19. Hi,
    Is it possible to change url of the back button?
    Thx

    Reply
    • @Pierre, You can only specify a Success URL and a Cancel URL.

      Reply
  20. If the customer paid for a $99.00 USD / year recurring subscription and wants to upgrade to a $199.00 USD / year recurring subscription how do we make this possible using the plugin.
    Stripe seem to allow subscriptions upgrade https://stripe.com/docs/billing/subscriptions/upgrade-downgrade

    Reply
    • @Ioana, Unfortunately the plugin doesn’t offer an option for this at the moment.

      Reply

Leave a Comment