Stripe Payment Gateway


This add-on Stripe payment gateway allows you to accept credit cards directly on your site through your account. When purchasing downloads through the Stripe gateway with Easy Digital Downloads for WordPress, users enter their credit card details during the checkout process and never leave your site, resulting in a better experience for the user, and more successful conversions for you.

Answers to Frequently Asked Questions

Does this Stripe Payment Gateway support the Recurring Payments extension?

Yes, this Stripe Payment Gateway includes complete support for the Recurring Payments extension, allowing you to create and process recurring subscriptions for customers.

Does this plugin support Stripe Checkout?

Yes it does! Since version 2.0, the Stripe Checkout form can be used to create Buy Now  buttons for any Download product. See the documentation for an example and usage instructions.

Does this plugin support Alipay through Stripe Checkout?

Yes it does! There is an option in the plugin to enable purchases through Alipay on the Stripe Checkout purchase form.

Which countries does Stripe support?

Stripe is available in many countries and is constantly expanding to more. To see if your country is supported, visit the Stripe Global page.

Does Stripe require that my site have an SSL certificate?

Yes, an SSL certificate should always be used with Stripe. All pages that include a payment form should be prefixed with https://, not http://. See Stripe’s SSL page for more information.

Users who purchased Stripe Payment Gateway, also purchased:
Add to Cart
Add to Cart

Version 2.3.8, December 17, 2015

  • Fix: Statement Descriptor cannot be blank error message

Version 2.3.7, December 9, 2015

  • Fix: Correct issue with Auto-Register and Recurring payments extensions not properly connecting to users

Version 2.3.6, November 27, 2015

  • Fix: Card declines can send customers to empty checkout screen when using Buy Now buttons
  • Fix: Statement descriptor can be 22 characters
  • Fix: Preapproved charges missing statement descriptor
  • Fix: Missing R in Preapproved

Version 2.3.5, November 13, 2015

  • Fixed issue with some strings not being translatable
  • Added support for languages to be stored in wp-content/languages/edd-stripe folder

Version 2.3.4, October 22, 2015

  • Fixed issue with direct to checkout buttons with multiple download purchase links on the same page.

Version 2.3.3, October 21, 2015

  • Fixed issue with opening multiple checkout modals when duplicate purchase buttons are on one page

Version 2.3.2, September 09, 2015

  • Fixed issue with credit cards that have an expiration date more than 10 years in the future

Version 2.3.1, August 28, 2015

  • Fixed an issue that could prevent checking out if the Stripe statement_descriptor contained unsupported characters

Version 2.3, August 20, 2015

  • Added support for Alipay in Stripe Checkout
  • Added improved language support in Stripe Checkout

Version 2.2.7, August 4, 2015

  • Added new edds_statement_descriptor filter

Version 2.2.6, June 2, 2015

  • Fixed bug with Stripe Checkout going to PayPal

Version 2.2.5, June 2, 2015

  • Fixed a compatibility issue with Custom Prices and variable prices when using Stripe Checkout

Version 2.2.4, June 1, 2015

  • Fixed an issue with Stripe Checkout not resetting the purchase button when closing the Checkout window

Version 2.2.3, May 26, 2015

  • Fixed a compatibility issue with the Custom Prices extension

Version 2.2.2, May 15, 2015

  • Fixed a Javascript error when publishable keys are not entered

Version 2.2.1, May 5, 2015

  • Fixed processing bug for sites that used the JS fallback option

Version 2.2, May 1, 2015

  • Added support for updating credit / debit cards on recurring payment profiles through the Recurring Payments extension
  • Added improved tax support for recurring payments in the Recurring Payments extension
  • Fixed a PHP notice on the frontend when API keys have not been entered

Version 2.1.3, April 20, 2015

  • XSS security flaw fix.

Version 2.1.2, March 5, 2015

  • Improved charge descriptions that show the price option purchased
  • Ensure API keys are trimmed of all whitespace before registering in the Javascript
  • Ensure subscription payment webhooks are not processed if the customer's user account cannot be located
  • Added a hook for when payments are refunded
  • Added the initial charge ID when subscription payments are processed

Version 2.1.1, February 10, 2015

  • Added support for weekly and daily recurring plans
  • Fixed an undefined index error when API keys have not been entered

Version 2.1, December 28, 2014

  • Fixed a bug with the latest version of the Stripe API and "statement_description"
  • Added support for detecting refunds in your Stripe account automatically (requires your webhooks be configured)

Version 2.0.1, November 13, 2014

  • Fixed a bug that caused the "Refund in Stripe" checkbox to show up even when not selected Refunded in the Payment Status drop down
  • Improve the Stripe Checkout JS to support changes coming in EDD 2.2
  • Allow the price_id to be passed in the purchase_link shortcode

Version 2.0, October 23, 2014

  • Added support for Stripe Checkout for Buy Now buttons and instant purchase options that bypass the entire checkout screen.

Version 1.9.1, October 14, 2014

  • Updated the Stripe API to the latest version
  • Improved error logging to help diagnose API connection errors
  • Added support for linking the charge ID in View Order Details to the Stripe charge details page (coming in future EDD version)

Version 1.9, September 30, 2014

  • Added the "statement_description" argument to Charges to specify what shows up on customer's bank statements
  • Added the customer's email address to charge metadata

Version 1.8.9, August 27, 2014

  • Updated the Stripe API libraries to the latest version

Version 1.8.8, August 22, 2014

  • Fixed a bug with sites that have a lot of different recurring payment plans.

Version 1.8.7, July 29, 2014

  • Fixed a bug with duplicate signup payments being created
  • Updated the currency settings to use edd_get_currency()

Version 1.8.6, July 25, 2014

  • Better error handling in the Stripe webhook processor.

Version 1.8.5, July 17, 2014

  • Better error catching during batch processing of preapproved payments.
  • Better check of the subscription payment recording process

Version 1.8.4, July 10, 2014

  • Added proper support for zero-decimal currencies in Stripe.

Version 1.8.3, July 9, 2014

  • Better error handling for customer retrieval from Stripe.

Version 1.8.2, July 8, 2014

  • Fixed a bug with incorrect taxes being charged on recurring payments

Version 1.8.1, June 27, 2014

  • Fixed "Nothing to invoice for customer" error message

Version 1.8, June 8, 2014

  • Added support for automatically refunding Charges in Stripe when Payments are marked as Refunded.

Version 1.7.8, June 5, 2014

  • Fixed an issue with invoice items getting charged separately from signup.
  • Fixed an issue with signup fees being charged incorrectly.

Version 1.7.7, June 1, 2014

  • Fixed a bug with recurring payment signups sometimes getting billed incorrect amounts.

Version 1.7.6, May 27, 2014

  • Fixed a "race condition" issue with recurring payments and Stripe webhooks.

Version 1.7.5, May 13, 2014

  • Fixed a potential security flaw for servers that log post data.

Version 1.7.4, April 14, 2014

  • Fixed a bug with recurring payment tracking.

Version 1.7.3, April 12, 2014

  • Updated the Stripe API libraries to the latest version.

Version 1.7.2, April 3, 2014

  • Added better transaction error handling.
  • Fixed a bug with tracking recurring payments for subscriptions.

Version 1.7.1, February 16, 2014

  • Fixed an issue with declined cards not getting caught.

Version 1.7, February 5, 2014

  • Fixed a bug with Recurring Payments that could result in a failed transaction being considered as complete.
  • Added better error handling for declined cards and other Stripe API failures.
  • Added a check to detect if a customer has been deleted.

Version 1.6.7, January 2, 2014

  • Fixed an issue where Stripe would attempt to use the same customer ID for both test and live mode, resulting in failed transactions.

Version 1.6.6

  • Fixed an undefined index error.

Version 1.6.5

  • Fixed an issue with recurring payments not getting logged after the first payment.

Version 1.6.4

  • Fixed an issue with past customers possible using the wrong stored credit card on new purchases.

Version 1.6.3

  • Fixed an issue with discount codes and recurring subscription signups.

Version 1.6.2

  • Updated edd-stripe.js for EDD v1.6 compatibility.

Version 1.6.1

  • Fixed a bug with the currency not always getting passed to Stripe, resulting in failed purchases.

Version 1.6

  • Added support for preapproved payments for integration with Crowd Funding plugins.

Version 1.5.1

  • Fixed an issue with occasional pending payments.

Version 1.5

  • Added support for the Recurring Payments extension.
  • Fixed a bug with the Missing Stripe Token error.
  • Improved code formatting and documentation.
  • Improved checkout error display.

Version 1.4

  • Removed jQuery validation. EDD Version 1.4.3 is strongly suggested for this gateway version.

Version 1.3.2

  • Fixed a bug with Missing Stripe Token.

Version 1.3.1

  • Fixed a broken loading image.
  • Fixed a problem with JS validation requiring a double click.

Version 1.3

  • Upgraded the credit card form with address and billing info for improved security, especially to help prevent chargebacks.
  • All address info associated with the card is now sent to Stripe, instead of just the number, name, and expiration.

Version 1.2.1

  • Fixed an issue with jQuery validation.

Version 1.2

  • Fixed an issue with the ajax indicator.

Version 1.1.9

  • Fixed a problem caused by disabling jQuery form validation.

Version 1.1.8

  • Fixed a conflict with jQuery validate and also fixed a problem with processing cards in Firefox.

Version 1.1.7

  • Added Stripe JS fallback support for sites that can't use Stripe JS.


  • Fixed a problem with processing cards after first payment attempt fails.


  • Fixed a compatibility problem with EDD v1.3.2


  • Fixed a problem with processing payments when ajax is disabled.

Version 1.1.6

  • Add conditional check for existence of Stripe class to prevent conflicts.

Version 1.1.5

  • Fixed a possible bug with setting the Stripe publishable key.

Version 1.1.4

  • Fixed a bug that prevented purchases from succeeded on the first try when using ajax and multiple payment gateways.

Version 1.1.3

  • Removed name attributes from input fields to improve PCI compliance.
  • Improved code formatting.

Version 1.1.2

  • Removed a "test" alert message that was left in by accident.

Version 1.1.1

  • Fixed a JS bug that preventing purchasing with other gateways activated at the same time as Stripe.

Version 1.1

  • Added Stripe JS or better card validation and security.
  • Added new automatic upgrade system for valid license key holders.

Version 1.0.6

  • Added unique IDs to the fieldset and P tags to aid in styling.

Version 1.0.5

  • Fixed a bug with the currency.

Version 1.0.4

  • Added full currency support in order for Canadian sellers to utilize Stripe in Canada

Version 1.0.3

  • Fixed a bug with errors not showing when a payments fails to process

Version 1.0.2

  • Fixed a bug with pending payments

Version 1.0.1

  • Updated field inputs with placeholders.

Version 1.0

  • Initial release.

Error: Please enter a valid email address

Error: Invalid email

Error: Please enter your first name

Error: Please enter your last name

Error: Please enter a username

Error: Please enter a password

Error: Please confirm your password

Error: Password and password confirmation do not match