Ninja Forms +

Set up any WordPress form to accept credit card payments or donations through Stripe. Base totals on a fixed amount, user entered amount, or a calculated total!

The Stripe extension enables you to accept credit card payments directly from your WordPress website using the secure Stripe Checkout process.

The most secure and flexible way to accept credit card payments using WordPress forms.

Stripe is a global leader in international commerce that currently operates in over two dozen countries around the world. Their bank level security protocols protect billions of dollars worth of transactions annually. There is simply no safer way to accept credit card payments in WordPress.

Alongside state of the art security, the Stripe extension offers incredible flexibility in how your WordPress forms collect the payments you need.

  • Create sign-up, registration, sales, and other forms that can accept payment quickly, efficiently, and securely.
  • Use Ninja Forms calculation fields to create dynamic totals based on what a user orders or signs up for, or set up a static payment amount.
  • Include transaction ID receipts in user success messages or emails.
  • Sign up your customers to recurring payment plans.
  • Store both Live and Sandbox credentials for easy, per-form testing.

How Stripe for WordPress works

  • Sign up for a Stripe account.
  • Install and setup the Ninja Forms Stripe extension by entering your Stripe API Credentials.
  • Create a form using Ninja Forms and enable the Stripe Collect Payment action.
  • Your users fill out your form, complete payment on Stripe’s secure checkout page, and return to your form.
  • Your form finishes submitting and processes any custom actions like notification email, success messages, redirects, and more!

* Stripe requires an SSL certificate on your site to communicate payment data securely. Don’t forget to set-up an SSL certificate to protect you and your customers.

Want more ways to accept payments online? Check out our PayPal Express add-on!

Frequently Asked Questions

Can I send a confirmation email with a successful Stripe payment?

You can send a confirmation email or display a success message with a successful Stripe payment. Your form actions will process or will not process depending on payment status.

Are there any additional transaction fees using Stripe with Ninja Forms?

We do not charge any additional transaction fees whatsoever. Stripe’s own fees are all that will apply.

What type of support is available to Ninja Forms customers?

We have a dedicated support team standing by to help with anything you may need. We’re available 9am-4pm EST, Mon-Fri, and strive to answer all customer requests within 24 hours.

How do Ninja Forms licenses work?

Licenses are subscription based and will auto-renew each year unless cancelled. If cancelled, you may still use your extensions but will no longer receive important updates or support once the license expires.

Can I get a demo or trial of Ninja Forms add-ons before I buy?

We don’t have a demo or trial version of our add-ons, but we do offer a 14 day full refund policy for any reason whatsoever.


3.1.3 (25 September 2019)


  • Resolved an issue that was causing a conflict with our PayPal Express add-on accepting payments on the same form.


  • Added a trial period setting for subscriptions in the Stripe action. This is to resolve Stripe\’s support deprecation of trial periods defined on plans.

3.1.2 (16 September 2019)


  • Stripe associated merge tags should now be working properly in actions.
  • Product descriptions now properly save on Stripe\’s end.
  • Resolved an issue that was causing live transactions to display as test data in the submission editor.
  • Forms should now properly complete after payment on forms that do not have a store submission action.
  • Resolved an issue that sometimes caused an Invalid Positive Integar error on form submission.

3.1.1 (14 August 2019)


  • Cancelling a payment should now properly redirect you back to the form.
  • Resolved an issue that was sometimes causing the API key modal to open in the builder when adding other actions to the form.

3.1.0 (13 August 2019)


  • Updated to the new Stripe Checkout.

3.0.22 (8 May 2019)


  • The checkout modal should now work when multiple instances of the same form exist on a page.

3.0.21 (4 February 2019)


Resolved an issue that sometimes caused Stripe to fire when it should have been conditionally disabled.

3.0.20 (11 January 2019)


  • The Stripe action should no longer throw an error when previewing an unpublished form.
  • Resolved an issue that was preventing Stripe from loading on forms where Save Progress was enabled.

3.0.19 (5 July 2018)


  • Resolved an issue that sometimes caused inactive Stripe actions to still be processed on submit.
  • Using Conditional Logic to select which Stripe action to fire should now work properly.

3.0.18 (1 May 2018)


  • Recurring payments should now process, even if an email address is only specified in the Checkout modal.

3.0.17 (26 April 2018)


  • Stripe API key settings should now be in the same order as they appear in the Stripe dashboard.
  • Added a new form template for making a basic payment.


  • Resolved an issue that was sometimes causing the Checkout modal to not open properly upon submission.

3.0.16 (17 April 2018)


  • Resolved an issue that sometimes caused the Checkout modal to not open for actions setup with recurring payment plans.
  • Form currency settings should now be honored by the Checkout modal pay button.

3.0.15 (26 March 2018)


  • The display of shipping address settings can now be toggled on and off in the form builder.
  • The total can now be displayed in the payment button of the Checkout modal by using {{amount}}.
  • Added a link to Stripe API settings from the form builder for quick reference.
  • Bitcoin has been removed from the payment options. (If you already have this feature enabled, it will continue to function until you either turn it off or Stripe ends support for it on April 23, 2018.)
  • Added Stripe to the list of actions as an alias for collect payment to help avoid confusion.


  • Stripe should no longer fire an action when the payment total is 0.

3.0.14 (26 February 2018)


  • Failed payments should now be more obvious in submission records.
  • Refined the look and feel of the new API key helper.

3.0.13 (12 February 2018)


  • Metadata now attaches to the customer record for recurring payments.
  • Added shipping address mapping for the Stripe action.
  • Stripe Checkout button can now be customized.
  • An email field on the form can now be used to autopopulate the email field in Stripe Checkout.
  • Added an API key helper to the form builder for first time Stripe action setup.
  • Credit card fields have been deprecated in favor of the Sripe Checkout payment method.
  • Admin settings for Stripe Checkout should now better reflect their intention.


  • All Stripe errors should now be caught on failed submissions.

3.0.12 (17 January 2018)


  • Resolved an issue that sometimes caused metadata settings to lose track of what fields were mapped to them.

3.0.11 (02 August 2017)


  • Stripe should now work properly with the Save Progress add-on.
  • Stripe API keys should no longer be removed upon form import.
  • Upgrading to version 3.0 should now populate the payment total of the Collect Payment action properly.

3.0.10 (12 July 2017)


  • Added merge tags for Last 4, Card Brand, Customer ID, and Charge ID.
  • Form errors should now prevent the Stripe Checkout Modal from appearing.

3.0.9 (31 May 2017)


  • Added the option to send arbitrary metadata to Stripe in the Collect Payment action settings.

3.0.8 (02 May 2017)


  • Transaction ID should now be appended to CSV exports and attachments.


  • Fixed a bug that caused submission processing to fail when using Stripe.

3.0.7 (02 March 2017)


  • Fixed a bug that could cause Stripe to crash on old versions of PHP.

3.0.6 (01 March 2017)


  • Added support for Stripe Checkout. If you do not add credit card fields to your form, Stripe Checkout will be used.
  • Stripe can now be used with Conditional Logic.

3.0.5 (20 December 2016)


  • Fixed a bug that could cause Stripe Errors to be reported incorrectly to the user.

3.0.4 (01 November 2016)


  • Fixed a bug with card errors blocking re-submission.
  • Fixed a bug with using the plugin default currency.

3.0.3 (04 October 2016)


  • Conditionally hiding credit card fields should prevent Stripe from processing.

3.0.2 (06 September 2016)

  • Updating to v3.0.2 for compatibility fix.

3.0.1 (06 September 2016)


  • Fixing a bug with currency settings for Ninja Forms Three.

3.0.0 (10 August 2016)

  • Updated with Ninja Forms v3.x compatibility
  • Deprecated Ninja Forms v2.9.x compatible code

1.0.10 (09 September 2015)


  • Customers should now be created in Stripe after their charge.

1.0.9 (08 September 2015)


  • Fixed a bug that could cause multiple Stripe enabled forms to fail if they were on the same page.

1.0.8 (12 May 2015)


  • Fixed a bug that could cause failed transactions to prevent future transactions from resolving properly.


  • Changed the position of the live and test keys to match the Stripe Dashboard.

1.0.7 (17 November 2014)


  • Removed the \”is this a Stripe Item\” option from non-processing fields like descriptions and submit buttons.
  • Updated i18n support.
  • Fixed a bug that prevented a Stripe form from working properly on a page with a non-Stripe form.

1.0.6 (22 September 2014)


  • Added a .pot file for translation.

1.0.5 (12 August 2014)


  • Fixed a bug with thousand separators.
  • Fixed a bug that prevented non-USD currency from being selected in some cases.


  • Added a shortcode for displaying/sending Stripe charge ids: [nf_stripe_charge_id].

1.0.4 (24 July 2014)


  • Compatibility with Ninja Forms 2.7.



  • Stripe should now work properly in all multi-part forms implementations.



  • More logic to help prevent conflicts with other Stripe plugins.



  • Added some logic to detect and attempt to prevent conflicts with other Stripe plugins.


  • Initial release