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
Requirements
- A self-hosted website running on a WordPress Optimized Environment.
- 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”.
General Settings
In the general settings area, you will need to configure some options related to your Stripe merchant account.
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.
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.
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.
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.
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).
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.
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.
When you receive a new order you will be able to view it in the 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.
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.
Are recurring products supported yet ?
Hey, can we make customize pricing for checkout? Customer just come set the price and do the transaction ?
@Umar, That’s not possible at the moment.
This plugin is great!
Any support for shipping-address=”false” in the future?
(I couldn’t get it to work with v3)
@Scott, This is not possible with the v3 API.
Quando estará disponível no Brasil?
@Daniel, Please contact Stripe to see when it will be available in Brazil.
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
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.
🙂
does it allow for Bacs Direct Debit payments in the UK ?
Is it possible to open button or checkout page in a new tab? Thanks!
@Sapotdisenyo, Unfortunately that’s not possible at the moment.
Thanks Noor noted that, how about changing the back button of the stripe checkout page to previous page?
Is there a way to do URL instead of shortcode? Elementor buttons don’t accept shortcode. Thanks.
Is it compatible with Stripe chargeback protection?
@Jose, Is it enabled in your account? If you’re not sure please contact Stripe for more information.
Is it possible to pre-authorise a payment? Like a “Damages Deposit” for a hotel
I don’t find the option
Thanks a lot
@Jose, Unfortunately that’s not possible at the moment.
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
@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.
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
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!
Further to Eliza’s question, is there anyway to have the shortcode URL to insert in a button in Elementor?
@Sarah, There is no URL unfortunately. The button is generated dynamically using Stripe’s API.
Hi, can you please guide me where to get sku keys because I didn’t find them from dashboard.
@Muhammad, Try price=”Price ID” instead.
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
@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.
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!
@Fabio, Unfortunately the plugin has no control over the Stripe payment page at the moment.
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?
@Ross, Variation is not possible at the moment.
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
@kellogs, This parameter is only for the legacy checkout shortcode.
Hi,
Is it possible to change url of the back button?
Thx
@Pierre, You can only specify a Success URL and a Cancel URL.
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
@Ioana, Unfortunately the plugin doesn’t offer an option for this at the moment.