Stripe Payments


The Stripe Payments plugin allows you to accept credit card payments via Stripe payment gateway on your WordPress site easily.

It has a simple shortcode that lets you put Stripe “Buy Now” buttons anywhere on your site for a product or service. You can accept donation via Stripe also.

One click payment via Stripe with a remember me feature. Responsive design so it is compatible with all devices and browsers.

Your customers will be redirected to the “Checkout Result” page after the credit card payment. This page shows them the details of the transaction (the item that they just paid for).

The transaction info is also captured in the orders menu of the plugin. You can view all the payments you received from your WordPress admin dashboard.

Setup and Usage Video

Checkout Demo Video


  • Quick installation and setup.
  • Easily take payment for a service from your site via Stripe.
  • Sell files, digital goods or downloads using your Stripe merchant account.
  • Sell music, video, ebook, PDF or any other digital media files.
  • The ultimate plugin to create simple Stripe payment buttons.
  • Create buy buttons for your products or services on the fly and embed it anywhere on your site using a user-friendly shortcode.
  • Ability to add multiple “Buy Now” buttons to a post/page.
  • Allow users to automatically download the digital file after the purchase is complete.
  • View purchase orders from your WordPress admin dashboard.
  • Accept donation on your WordPress site for a cause.
  • Create a stripe payment button widget and add it to your sidebar.
  • Ability to collect billing and shipping address of the customer.
  • Ability to specify a logo or thumbnail image for the item that will get shown in the stripe payment window.
  • Ability to customize the Stripe buy now button text from the shortcode.
  • Ability to customize the Stripe buy now button appearance using custom CSS code.
  • Ability to specify a custom description for the item/product (this info is captured with the order).
  • Option to configure a notification email to be sent to the buyer and seller after the purchase.
  • There is an option to allow the customer to enter a custom price amount for your product or service (customer pays what they want).
  • Option to accept custom donation amount via Stripe payment gateway.
  • Option to collect tax for your products (if applicable).
  • Option to collect shipping for your tangible products.
  • Option to save the card data on Stripe.
  • Ability to have custom thank you page on a per product basis.
  • Ability to customize the message on the thank you page using tags.
  • Ability to customize the price display with currency symbol.
  • Option to send receipt email to your customers from Stripe for each transaction.
  • Option to collect a custom input from your customers for products (useful if you are selling products that need special instructions from the customers).
  • Stock control option. You can limit the number of quantity available for a product.
  • Option to enable Alipay payments. So your customers can pay using their Alipay accounts.
  • Option to enable Terms and Conditions that your customers have to accept before they can make a purchase.
  • Ability to configure variable products. You can charge different amount for different options of the product.

The setup is very easy. Once you have installed the plugin, all you need to do is enter your Stripe API credentials in the plugin settings and your website will be ready to accept credit card payments.

You can run it in test mode by specifying test API keys in the plugin settings.

Shortcode Parameters/Attributes

There are two ways you can use this plugin to create a “Buy Now” or “Pay” button to accept payment.

Option 1) Create a product in the admin dashboard of this plugin then use a shortcode to put a buy button for that product.

Check this tutorial for step by step instructions.

Option 2) You can specify the item details in a shortcode to dynamically create a Stripe payment button.

Check this tutorial for step by step instructions.

Detailed Documentation

For detailed documentation and instructions please check the WordPress Stripe Payments Plugin documentation page.


  • Stripe Plugin Settings
  • Stripe Plugin Payment Page
  • Stripe Plugin Orders Menu


Using The WordPress Dashboard

  1. Navigate to “Plugins->Add New” from your dashboard
  2. Search for ‘stripe payments’
  3. Click ‘Install Now’
  4. Activate the plugin

Uploading via WordPress Dashboard

  1. Navigate to the “Add New” in the plugins dashboard
  2. Navigate to the “Upload” area
  3. Select from your computer
  4. Click “Install Now”
  5. Activate the plugin in the Plugin dashboard

Using FTP

  1. Download
  2. Extract the stripe-payments directory on your computer
  3. Upload the stripe-payments directory to the /wp-content/plugins/ directory
  4. Activate it from the Plugins dashboard


Can I have multiple payment buttons on a single page?

Yes, you can have any number of buttons on a single page.

Can I use it in a WordPress Widgets?

Yes, you can.

Can I specify quantity of the item?

Yes, you can configure it in the product configuration interface.

Can I change the button label?

Yes, you can specify the “button_text” attribute in the shortcode to customize it.

Will the customers receive an email after purchase?

Yes, you can configure the email settings options in the settings menu of the plugin.

Is it possible to get notified if payment failed for some reason?

Yes. Go to Stripe Payments > Settings, Email Settings tab and check “Send Email On Payment Failure” option.

Can It be tested before going live?

Yes, please visit Stripe Payments > Settings screen for options.


Great Superb Plugin & Team

The plugin is an absolute treat! Also, reached out to customer support for guidance on compatibility with other plugins and was blown away by the level of help received. Outstanding.

simple yet flexible

a nice plugin that can get you going with Stripe out of the box, or lets you get somewhat more complicated if need be. the products layout is also very intuitive. thanks!

Read all 22 reviews

Contributors & Developers

“Stripe Payments” is open source software. The following people have contributed to this plugin.


“Stripe Payments” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Stripe Payments” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Price and shipping cost is being converted to appropriate format on product edit page.
  • Fixed some buttons were not clickable when TOS enabled.


  • Added {tax}, {tax_amt}, {currency} and {shipping_amt} checkout page customization tags. More tags can be found here.
  • Added {item_name} and {item_quantity} email tags.
  • Added position settings options for custom field and TOS. You can display those below payment button now.


  • Fixed incompatability with older PHP versions (prior to 5.4).
  • Added SOFORT and Post Payment Actions addons to the list.
  • Made more strings available for translations, regenerated .pot file.


  • Fixed blank payment results page was displayed under some circumstances if customized [accept_stripe_payment_checkout] shortcode was used.
  • Added ability to allow coupon usage only for specific products.
  • Added option to store customer’s IP address in order info.
  • Plugin tries to create and use small product thumbnail for Stripe pop-up if available. This removes noticeable pop-up window lag when large image is being used.


  • Fixed improper tax value calculation under some circumstances.
  • Fixed session_start() error that occurs on some configurations after customer made a payment.
  • Removed some of the CSS styles from the coupon field. So the style of the coupon field fits better with the theme you are using.


  • Fixed zero amount was displayed on products with custom amount.
  • Fixed products table display when viewed from mobile.
  • Products table is now properly displaying large images for newly created or updated products.
  • Added CSS to add some spacing after the variation label.


  • Added product variations feature. Documentation here –
  • Added ability to offer 100% discount coupon. Plugin won’t produce “Invalid positive integer” error if it is used.
  • Fixed rare bug when customer wasn’t redirected to results page on error if “Send Email On Payment Failure” option is not enabled.
  • Billing name (if available) is now properly passed to MailChimp, AWeber, ConvertKit etc. addons if payment is made via Advanced Payment Methods addon.
  • Added the necessary changes for the convertkit addon.


  • Added “Debug Log Shareable Link” to share debug log without having to share WP Dashboard credentials.
  • Added error message on product edit page if price is below or above Stripe’s allowed min/max for selected currency.
  • Installed add-ons are now marked on Add-ons page and have Settings button displayed.
  • Compressed images to decrease plugin package size.
  • Fixed coupon discount was visually applied on all products on page, not just the one where coupon was entered.
  • Added spinner after “Apply” coupon button is clicked to indicate that coupon is being checked.


  • Coupon discount is now applied to the product price, not the total amount.
  • Coupon input is no longer displayed for custom amount products.
  • Added Dropbox support for Secure Downloads addon (requires addon version 1.1.7+).
  • Added WP eMember plugin integration options.


  • Added Russian Ruble (RUB) currency.
  • Fixed Secure Downloads addon was showing real download URL for products.
  • Fixed per-product thank you page setting was ignored when payment error occurs.
  • Added {paid_amount_curr} custom checkout result page merge tag. It displays formatted amount with currency code (example: $12.99).

  • Fixed per-product coupons settings were set to “Disabled” in some circumstances (thanks to abelfinance for reporting).


  • Added Coupons functionality. Coupons for subscriptions are not supported at the moment, we’re working on it.
  • Added {charge_date} checkout result merge tag.
  • Advanced Payment Methods addon is now properly collecting Billing and\or shipping addresses.
  • Clicking on “Shortcode” input on product page now selects the shortcode.


  • Added “Validate ZIP code” option. In order for this to work, corresponding option should be enabled in your Stripe Dashboard as well.
  • Added support for Custom Messages addon. You can use it to customize various text messages displayed by the plugin.
  • Added {customer_name} email merge tag.


  • Fixed “You passed an empty string for referrer” error which was caused by recent changes in Stripe API.
  • Added option to apply decimal separator settings to customer input as well.


  • Added option to add mandatory “I accept the Terms and Conditions” checkbox. Should help to comply with the EU GDPR. Go to Settings -> Advanced Settings tab to configure it as per your needs.
  • Fixed zero-decimal currencies tax value was calculated improperly.
  • More text available for translation. You can help in translating the plugin to your language here
  • Inline CSS is now minified.
  • Some addons-related changes.


  • Added some debug logging message after the notification email is sent by the plugin. This will be useful for troubleshooting email related issue.
  • Added Alipay payment option as a free addon –


  • Added basic products stock control functionality.
  • Added option to select custom text field description location (placeholder or below input).
  • Added links to documentation and add-ons on Settings page.


  • Fixed “Invalid Stripe token” error in Safari on iPad (thanks to temparcweb for reporting and helping to debug).
  • Fixed IE11 incompatibility (thanks to temparcweb).
  • Additional information is put into debug log and error email if error occurs.
  • Customer no longer redirected to download URL if error occurs during payment process.


  • Fixed “Invalid positive integer” error when price is set to 0 in [accept_stripe_payment name] shortcode.


  • Added some more hooks for better addons support.


  • Tax and shipping info is now displayed in standard checkout result page, emails and order info (if applicable).
  • New email tags added: {tax}, {tax_amt}, {shipping_amt}.
  • Added proper check for minimum amount for following currencies: DKK (2.50-kr.), GPB (£0.30), HKD ($4.00), JPY (¥50), MXN ($10), NOK (3.00-kr.), SEK (3.00-kr.).
  • Fixed products page was displaying incorrect number of products per row.
  • Fixed product template was improperly displaying price if quantity was greater than 1.
  • Fixed tax and shipping being improperly calculated when custom quantity was enabled.
  • Various small bugfixes and improvements.


  • New shortcode parameter added: compat_mode=”1″. Useful if you get “Invalid Stripe Token” error if using visual page builders.
  • Added additional email tags: {item_price}, {item_price_curr}, {currency}, {currency_code}.
  • Added {purchase_amt_curr} email tag to display formatted amount with currency symbol.
  • Fixed {purchase_amt} email tag wasn’t showing total purchase amount (was showing item price instead). Also made {purchase_amt} to be formatted according to Price Display Settings.


  • Fixed variable price was improperly handled for products in some cases.
  • Added option to make payment buttons not clickable until Javascript libraries are loaded on page view. This prevents “Invalid Stripe Token” errors on some configurations.
  • You can customize currency symbol on settings page now.
  • Prioritized button_text parameter for product shortcode (useful if you want to have several buttons with different text for same product).
  • {custom_field} tag is now supported on custom Thank You page.
  • Custom field name and value are now added to Stripe metadata.

  • Fixed minor bug related to product quantity.


  • “Send Error Email To” field now accepts coma-separated emails (thanks to pitfallindimate3746 for reporting).
  • Added customer_email shortcode parameter which allows to specify customer email in Stripe pop-up (useful if you’re dynamically generating payment buttons via do_shortcode() function).
  • Minor bug fixes (mostly related to addons).


  • Added Shipping and Tax support for products.
  • Merged Price and Currency sections on product edit page.
  • Product thumbnail is now displayed in Stripe pop-up. This can be disabled using corresponding option on product edit page.


  • Added “Button CSS Class” and “Show Button Only” parameters to product edit page.
  • Added “Thank You Page URL” field to product edit page.
  • Added debug logging option to the settings.


  • Fixed PHP warning displayed upon saving product when custom field is not configured (thanks to falcon13 for reporting).
  • Plugin text domain is now properly set.


  • Changed some currencies symbols to be more distinctive (e.g. Australian Dollar was using ‘$’ symbol before, now is using ‘AU$’).
  • Updated the language translation POT file.
  • Made additional strings available for translation via
    Click here if you want to help in translating plugin to your language.


  • Added “Send Email On Payment Failure” option to notify admin if payment failed.
  • Fixed plugin conflict with WordPress Themes Editor (thanks to natecarlson1 for reporting).


  • Stripe PHP Library updated to v5.8.0.
  • Minimum PHP version required is PHP5.3.


  • Added Custom Field to the advanced settings. Custom Field can be used to add an additional text field or checkbox to your buttons to collect an input from your customer.
  • Fixed scripts were called too early, which rarely resulted in conflicts with other plugins and themes (thanks to mmeida for reporting and helping out).


  • Fixed “Button key mismatch” error when special characters (like ‘&’) are used in button name (thanks to damhnait for reporting and helping out).
  • Removed “Use New Method To Display Buttons” setting. Now all buttons are displayed using the new method.


  • Fixed a PHP warning in the settings menu of the plugin.


  • Added “Send Receipt Email From Stripe” option. You can find this option under the “Email Settings” menu of the plugin.
  • [asp_product] shortcode now supports “class” parameter that allows to assign CSS class to the payment button.


  • Added language text-domain to the plugin file header.
  • Hopefully fixed plugin conflict with Yoast SEO (thanks to rogbiz for reporting and helping out).
  • Added sanitization to the button output. Thanks to Mikko.


  • Amount in order title is formatted corresponding to Price Display Settings.
  • Added [Test Mode] to the order title if payment was made in Test mode.
  • Notice added to the settings regarding caching plugins.
  • A small bug introduced in previous version has been fixed.


  • Separate fields for Stripe Test keys added to the settings page.
  • Plugin will now properly handle buttons with same name but different price (thanks to nourrirsafoi for reporting).
  • Fixed “Warning: A non-numeric value encountered” when custom amount is used (thanks to rogbiz for reporting).


  • Fixed improper handling of custom amount feature (thanks to triode33 for reporting).
  • Added “Processing..” text to payment button to let user know the payment is being processed.


  • The email related settings options have been moved to a separate tab in the settings menu.
  • Added a new configuration option to allow customization of the price display settings in the advanced settings tab.
  • The price of the item now gets displayed in the product description.
  • The plugin automatically creates a “products” page where all your Stripe items/products are listed in a grid display.


  • Improved the description that gets shown in the stripe checkout window when a product has no “short description” specified for it.


  • Updated the Quantity field box in the product edit interface to add more explanation as to how that field works.


  • Stripe plugin’s admin menu interface has been reworked to facilitate the addition of new features.
  • Added a new interface to add/edit products from the wp admin dashboard. Usage instructions at the following URL:

  • There is a new shortcode to embed a Stripe payment button for the products you create in the admin dashboard.

  • The existing shortcodes will continue to work as is (no change there).
  • The shortcode inserter (in the post/page editor) has been updated. It will allow you to insert both the shortcodes.


  • Stripe button CSS is now inserted before the form to prevent payment buttons from having default theme style for a second before the CSS file actually loaded.
  • Updated the settings menu link slug to make it unique.


  • Added “Turn Off “Remember me” Option” setting. When enabled, “Remember me” checkbox will be removed from Stripe’s checkout popup.
  • Moved “Settings” menu item from WP Settings to a new independent menu called “Stripe Payments”.
  • Added “thankyou_page_url” shortcode parameter to specify a custom thank you page URL for an item. This can be used to override the default thank you page URL on a per item basis.
  • Extended checkout results page customization using [accept_stripe_payment_checkout] and [accept_stripe_payment_checkout_error] shortcodes.
  • Instructions on how to customize the thank you page using tags can be found at the following URL:


  • Zero-decimal currencies (like JPY) are no longer multiplied by 100.
  • Added Italian language translation file to the plugin. Translation was submitted by Daniele Oneta.


  • Added “Stripe Checkout Language” option to the settings.
  • The ‘asp_stripe_payment_completed’ hook now passes the order post ID in the $post_data array.


  • The shipping and billing address email merge tags are usable again (if you use the address parameters in the shortcode).
  • The address will be stored correctly in the Stripe Orders menu (if you are collecting address).


  • Reworked the TinyMCE shortcode inserter code a little to fix an issue with saving a post in WP v4.8.


  • Added filter hooks for the notification email subject and body.
  • Currency Code on settings page changed from input to select.
  • Added “Do Not Save Card Data on Stripe” setting to tell Stripe to not save card information.
  • Added a shortcode inserter button to the TinyMCE editor (“Visual” tab on Edit Post\Page screen).
  • Updated the Stripe Orders dashboard menu icon.


  • Updated the French language translation file.
  • Updated the translation POT file.
  • The plugin will show an error if the shortcode doesn’t have the “name” field present. This is a required field for the plugin to process the checkout.


  • Added a new option to display the Stripe buttons. It makes connection to Stripe website only when button is clicked, this makes the page with Stripe buttons load a little faster.
  • Added French language translation file to the plugin. Translation file was submitted by Claudy GALAIS.


  • There is now an option to send a notification email to the buyer and seller after the purchase. You can configure it in the settings menu of this plugin.
  • A custom css class can be specified for the Stripe button to customize the button style.
  • The “price” parameter can be omitted in the shortcode to allow the visitors to specify a custom price or donation amount for an item.


  • Added an improvement so the description also gets captured with the stripe charge (so you can see it in your Stripe account).
  • It will also save the description in the stripe orders menu of the plugin.


  • The transaction ID will now get shown on the thank you page also (after the payment).
  • Added more CSS classes on the thank you page message.
  • Added a new parameter in the shortcode so you can specify a custom description for the item checkout (if you want to).


  • Added a new option to show the item logo or thumbnail image in the stripe checkout window.
  • Added a new filter so you can add extra Stripe checkout data parameters (if you want to customize it).
  • Added a new action hook that is triggered after the payment is complete (asp_stripe_payment_completed).


  • Added new option to show shipping and billing address in the stipe payment popup window. You can specify a parameter in the shortcode to collect the address.


  • Added a new filter so the checkout result page’s output can be customized.
  • Added extra details to the thank you page that shows the details of the item that was purchased.


  • Added more instructions to the checkout result page explaining what that page is for.
  • Added settings link in the plugins listing page.


  • Added some enhanced security in the form submission.


  • Updated the payment shortcode parameter.


  • First Release