Gravity Forms + Stripe

Description

Accept one-time and recurring subscription payments directly on your WordPress site with Stripe — no coding (not even shortcoding) required.

My client was getting killed with his prior e-commerce solution. (triple dipping, high gateway fees from 2 banks, prior site developer charging per reg fees, you name it)…”

That’s just one of the many quotes we get from our customers on why they look to Stripe to easily and securely process credit cards directly on their site, without having to deal with merchant accounts, PCI-compliance, or PayPal.

But why is it so hard to find a WordPress plugin that allows you to accept any type of Stripe payment?

AND doesn’t force you to jump through hurdles or completely limit the ability to collect the additional data you need?

You just want to be able to easily

  • collect any type of custom data from your customer
  • accept one-time and/or *recurring subscription payments
  • allow your customer to enter their own payment amount
  • *display prices and accept payments in multiple currencies
  • *save or authorize cards instead of charging them right away (great for pre-orders)
  • *accept Stripe discount coupon codes
  • provide custom payment receipts
  • create a user or a post on your site only if a payment was successful
  • *allow your customers to log in and update their billing information or subscription plan, or
  • *re-use their payment information without having to fill in credit card details again (great for one-click upsells)

without any coding at all, even “short”coding.

You’ve gone through all of the Stripe plugins you can find and they all seem to be missing one thing you really need to do.

What if you didn’t have to spend time trying to wrestle a plugin into submission and instead found exactly what you need?

“…Your plugin and Stripe have processed $38,000+ worth of transactions in the past few months without a hiccup. My client is thrilled” -David F.

The plugin is perfect for our requirement of having a multi-functional recurring payment form that gives more dynamism than a more generic payment form would allow. A+ -Cian O.

How much easier would your life be if you found a plugin that bends over backwards to help you be successful with your Stripe payments?

Built by someone that actually knows what they’re doing with Stripe, and keeps you and the plugin updated with changes to make sure your payments continue running smoothly without disruption?

“Naomi has had the most amazing customer support while personally helping me through a problem until 3:00 a.m. (her time!) She’s knowledgeable about her product working with other plugins and stays current and up to date! I almost feel like she’s a friend now…” – Laurie

Gravity Forms + Stripe integrates with Gravity Forms — one of the best WordPress visual form builders (why reinvent the wheel?) – to allow you to create completely custom payment forms that are processed with Stripe.

Try it out

OR

*Get additional features with More Stripe here

Support Options

Support

Get important plugin updates

Get professional support

Request a new feature

Have the plugin setup or customized for you

Submit a translation

Report a bug

Contact me

Follow on Twitter for Gravity Forms tutorials and other resources

Current Limitations

  • Cannot have Stripe Add-On activated at the same time as Authorize.Net, PayPal Pro or any other Stripe Add-Ons
  • One Stripe form per page

Initial Supporters

daveshine, admodiggity, pnommensen, Linda C., jacobdubail, Michael S., Mark C., willshouse, Dan B., Aaron A., wpcdn, feshin, Scot R., Teresa O.

Screenshots

  • Activate Gravity Forms
  • Activate Gravity Forms + Stripe
  • Stripe settings page
  • Product and Credit Card field
  • Form Settings->Stripe menu
  • Create Stripe Rule
  • Stripe Rule page
  • Need help?

Installation

This section describes how to install and setup the Gravity Forms Stripe Add-On. Be sure to follow all of the instructions in order for the Add-On to work properly. If you’re unsure on any step, there are screenshots.

Requirements

Requires at least WordPress 3.9, PHP 5.3, Gravity Forms 1.9, and Stripe API version 2016-03-07. Works with WordPress Multisite.

Steps

  1. Make sure you have your own copy of Gravity Forms. This plugin does not include Gravity Forms. It will work with any of the Gravity Forms licenses.

  2. You’ll also need a Stripe account

  3. Upload the plugin to your WordPress site. There are three ways to do this:

    • WordPress dashboard search

      • In your WordPress dashboard, go to the Plugins menu and click the Add New button
      • Search for Gravity Forms Stripe
      • Click to install the plugin that says Gravity Forms Stripe by gravity+
    • WordPress dashboard upload

      • Download the plugin zip file by clicking the orange download button on this page
      • In your WordPress dashboard, go to the Plugins menu and click the Add New button
      • Click the Upload link
      • Click the Choose File button to upload the zip file you just downloaded
    • FTP upload

      • Download the plugin zip file by clicking the orange download button on this page
      • Unzip the file you just downloaded
      • FTP in to your site
      • Upload the gravity-forms-stripe folder to the /wp-content/plugins/ directory
  4. Visit the Plugins menu in your WordPress dashboard, find Gravity Forms + Stripe in your plugin list, and click the Activate link

  5. Visit the Forms->Settings menu, select the new Stripe tab, and add your Stripe API keys in the Stripe Account Information section. Save your settings.

  6. Select the Settings tab and set your desired currency. The default currency for your Stripe account will chosen by default.

  7. Create a form, adding at least one product field along with the new Credit Card field that appears under Pricing Fields.

  8. In the Form Settings->Stripe menu, add a new Stripe rule for your form

If you need help, just click the Stripe Help button to access the documentation included in your WordPress dashboard

FAQ

Installation Instructions

This section describes how to install and setup the Gravity Forms Stripe Add-On. Be sure to follow all of the instructions in order for the Add-On to work properly. If you’re unsure on any step, there are screenshots.

Requirements

Requires at least WordPress 3.9, PHP 5.3, Gravity Forms 1.9, and Stripe API version 2016-03-07. Works with WordPress Multisite.

Steps

  1. Make sure you have your own copy of Gravity Forms. This plugin does not include Gravity Forms. It will work with any of the Gravity Forms licenses.

  2. You’ll also need a Stripe account

  3. Upload the plugin to your WordPress site. There are three ways to do this:

    • WordPress dashboard search

      • In your WordPress dashboard, go to the Plugins menu and click the Add New button
      • Search for Gravity Forms Stripe
      • Click to install the plugin that says Gravity Forms Stripe by gravity+
    • WordPress dashboard upload

      • Download the plugin zip file by clicking the orange download button on this page
      • In your WordPress dashboard, go to the Plugins menu and click the Add New button
      • Click the Upload link
      • Click the Choose File button to upload the zip file you just downloaded
    • FTP upload

      • Download the plugin zip file by clicking the orange download button on this page
      • Unzip the file you just downloaded
      • FTP in to your site
      • Upload the gravity-forms-stripe folder to the /wp-content/plugins/ directory
  4. Visit the Plugins menu in your WordPress dashboard, find Gravity Forms + Stripe in your plugin list, and click the Activate link

  5. Visit the Forms->Settings menu, select the new Stripe tab, and add your Stripe API keys in the Stripe Account Information section. Save your settings.

  6. Select the Settings tab and set your desired currency. The default currency for your Stripe account will chosen by default.

  7. Create a form, adding at least one product field along with the new Credit Card field that appears under Pricing Fields.

  8. In the Form Settings->Stripe menu, add a new Stripe rule for your form

If you need help, just click the Stripe Help button to access the documentation included in your WordPress dashboard

Do I need to have my own copy of Gravity Forms for this plugin to work?

Yes, you need to install the Gravity Forms plugin for this plugin to work.

Does this version work with the latest version of Gravity Forms?

Just look at the version number! This plugin is structured to use the Gravity Forms version number in its own version number. So if the Add-On version number starts with a Gravity Forms major release number like 1.8, then it will work with Gravity Forms 1.8 and all of its minor releases — 1.8.1, 1.8.2, etc.

Does your plugin use Stripe.js?

Yes.

Do I need to have SSL?

Yes, according to the Stripe Terms of Service regarding PCI-compliance. Click the Stripe Help button in your WordPress dashboard for how to setup SSL on your site.

I’m having an issue — how do I figure out what’s wrong?

Click the Stripe Help button in your WordPress dashboard and the detailed troubleshooting section will appear

Your plugin just does not work

That’s not a question 😉 but I can assure you that is not the case — use the Stripe Help button in your WordPress dashboard to get help or check out all of the support options

Reviews

Don’t waste your time…

They offer really poor support.

Don’t even think on buying Gravity Forms + (More) Stripe, I did it and I lost my money.

Plugin was not working and when I asked for a refund they just look to another place…

So So

I had it working but found it glitchy and my support inquiries went unaddressed. I uninstalled it.

Run away – this plugin sucks

Run away! It almost crash my website!
The problems ? The plugin doesn’t activate properly and the Gravity Form notifications are not send when new entries are done through the form.
I had a step by step problems identification with the Gravity Forms Debug Add-On and form with Gravity Form Support (the official one), and it was obvious the plugin was responsible when activated.
The Gravity+ support just make everything possible to do … nothing, and obviously I’m not the only one. They will never admit their plugin doesn’t work because they have a excessive ego: just read the others reviews and make your own opinion.
I bought the pro extension “More Stripe” who is an add-on of this one and until now I could be reimburse. Don’t spend you time trying to explain your issue(s), they will just say “I dont understand you request”, “speak to the support”, “blablabla”. They will make everything possible to do make you abandon your request.
A good alternative I finally use is WP Simple Pay.

Has Serious Issues with Stripe Token on Initial Submit

We couldn’t get this plugin working on a client’s site at all. Any “initial” submission of a form would not go through and the form would show an error, which after some in-depth searching it turned out it was because we were not getting a stripe token back on initial submit. Subsequent submissions from the same page would go through.

This does not constitute as working. We were denied a refund when we contacted support. They state to be considered for a refund we must complete the support process, which we did. The only thing they responded with was “this plugin works, we use it ourselves” – apparently, people are having an issue with it.

See link below:
https://wordpress.org/support/topic/first-submission-does-not-get-token-form-fails-second-submission-works/

Apparently we aren’t the only people with this problem. They refuse to admit there’s issues with the plugin, and refuse to give a refund, so I’m forced to review this with 1 star. It’s a scam, and a waste of money.

Read all 48 reviews

Contributors & Developers

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

Contributors

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

Translate “Gravity Forms + Stripe” into your language.

Interested in development?

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

Changelog

1.9.2.9 (Oct 2016)

  • Processing

    • Add latest Stripe API changes
  • Developers

    • Update to latest Stripe PHP library

1.9.2.8 (Sep 2016)

  • Processing

    • Add latest Stripe API changes
  • Developers

    • Update to latest Stripe PHP library

1.9.2.7 (March 2016)

DO NOT UPDATE if you also use More Stripe and don’t have version 1.9 or greater (email support for latest version).

  • Miscellaneous

    • Fix issue with upgrader check preventing other plugins from installing. Credit: Mahbubur.

1.9.2.6 (March 2016)

DO NOT UPDATE if you also use More Stripe and don’t have version 1.9 or greater (email support for latest version).

  • Currency

    • Clear currency cache
  • Miscellaneous

    • Fix fatal error when an incompatible version of More Stripe is installed

1.9.2.5 (March 2016)

  • Currency

    • Clear currency cache
    • Update currency retriever with latest Stripe API changes

1.9.2.4 (March 2016)

  • Processing

    • Add latest Stripe API changes

1.9.2.1 (March 2015)

  • Processing

    • Add latest Stripe API changes
  • Developers

    • Update to latest Stripe PHP library

1.9.1.1 (February 2015)

  • Miscellaneous

    • Bump version number to indicate support for Gravity Forms 1.9

1.8.20.1 (December 16, 2014)

  • Stripe Rules

    • Give Stripe rule a custom name
  • Miscellaneous

    • Bump version number to indicate support for Gravity Forms 1.8.20
    • Update readme
  • Developers

    • Add gfp_stripe_edit_feed_js_data filter
    • Add additional parameter to stripeFormSelected JS event

1.8.19.1 (November 6, 2014)

  • Data

    • Add meta column to Stripe transaction table
    • Save old Stripe rule ID before migration to new format
  • Processing

    • Only enqueue JS if there’s a credit card field on the form
    • Don’t look for credit card info if Stripe rule allows credit card to be omitted
    • Make sure Stripe validation runs last
  • Miscellaneous

    • Bump version number to indicate support for Gravity Forms 1.8.19
    • Update readme
  • Developers

    • Add gfp_stripe_is_ready_for_capture filter
    • Update Stripe PHP API

1.8.17.1 (October 28, 2014)

  • Form Editing

    • Choose the Stripe card funding types you’d like to accept. Generously sponsored by Two Paper Dolls http://twopaperdolls.com/
  • Processing

    • Perform card validation on the front-end
  • Miscellaneous

    • Add latest version of FontAwesome because the Gravity Forms version is behind and the newer icons are needed
    • Update POT
    • Bump version number to indicate support for Gravity Forms 1.8.17
  • Developers

    • Move inline JS to a separate JS file
    • Add $form parameter to gfp_stripe_gform_get_form_filter
    • Change gfp_stripe_gform_get_form_filter to gfp_stripe_rule_field_info
    • Add option to retrieve transactions by user ID
    • Add GF payment hooks

1.8.13.1 (September 8, 2014)

  • Languages

    • Link to project on Transifex
  • Miscellaneous

    • Bump version number to indicate support for Gravity Forms 1.8.13

1.8.12.1 (September 1, 2014)

1.8.2.13/RC5 (August 6, 2014)

1.8.2.12/RC4 (July 3, 2014)

1.8.2.11/RC3 (June 11, 2014)

1.8.2.10/RC2 (May 30, 2014)

1.8.2.9/RC1 (May 9, 2014)

1.8.2.8/beta5 (May 2, 2014)

1.8.2.7/beta4 (April 23, 2014)

  • Data

    • Change Stripe transaction table structure
  • API

    • Update Stripe PHP library to 1.17.2
  • Currency

    • Fix incorrect path to Gravity Forms currency functions
    • Add all Stripe currencies
    • Handle zero-decimal currencies properly
  • Stripe Rules

    • Allow extension functions to run before showing the Stripe customer fields
    • Pass the Stripe rule type to extension functions
  • Default Stripe Settings

    • Fix fatal error with checking account currencies with invalid API key
    • Check for all possible query variables when determining current Gravity Forms settings page
    • Use new Stripe dashboard link
    • Display invalid key error message for live keys
    • Add useful gravity+ links
  • Form Editing

    • Add Stripe form settings page
    • Add in-dashboard help
  • Form Display

    • Only add scripts if there is a feed for the form
  • Processing

    • Only save credit card field value if this was a Stripe form submission
    • Convert old sack functions to jQuery ajax functions
    • Use wp_send_json functions instead of manually dying
    • Use new Gravity Forms API functions in place of deprecated ones
    • Use stripe.js v2 and use new token response variables
  • Entry Details

    • Use new Stripe dashboard link
    • Save Stripe card ID instead of fingerprint
    • Add Stripe Payment Details box since Gravity Forms doesn’t allow editing theirs
    • Style entry notes for Stripe
  • Languages

    • Update textdomain to support WordPress language packs. Textdomain is now gravity-forms-stripe instead of gfp-stripe
    • Update POT
  • Miscellaneous

    • Remove images and files that are available in Gravity Forms and use the Gravity Forms versions
    • Remove unnecessary libraries
    • Remove text version numbers
    • Fix fatal error when upgrading Gravity Forms
    • Move back to original version structure, using Gravity Forms version number
    • Update for WP 4.0
    • Minify JS
    • Remove screenshots from plugin files and move to WordPress.org assets folder
    • Bump version number
  • Developers

    • Remove gfp_stripe_entry_created_subscriber_id. Use gfp_stripe_entry_post_save_insert_transaction $id.
    • Remove gfp_stripe_entry_created_insert_transaction_type. Use gfp_stripe_entry_post_save_insert_transaction
    • Remove gfp_stripe_entry_created. Use gfp_stripe_entry_post_save
    • Fix WP PHP coding style issues
    • Change gfp_stripe_feed_transaction_type from action to filter and reverse arguments order
    • Allow access to is_last_page, has_creditcard_field, has_visible_products
    • Allow transaction to be filtered before inserted into database
    • Add the Stripe form data to the gfp_stripe_get_order_info_shipping hook
    • Replace autoloader
    • Add & update PHPDoc comments
    • Add helper function is_stripe_entry
    • Add gfp_stripe_feed_after_transaction_type action
    • Add filter gfp_stripe_entry_post_save_update_lead
    • Add filter gfp_stripe_entry_detail_payment_status
    • Add filter gfp_stripe_entry_detail_transaction_id
    • Add action gfp_stripe_payment_details
    • Add JS event gfp_stripe_rule_select_type
    • Add JS event gfp_stripe_rule_invalid_creditcard_error
    • Add action gfp_stripe_form_settings
    • Add filter gfp_stripe_pre_form_settings_save

1.8.2.6/beta3 (April 9, 2014)

  • Stripe Feeds

    • Change feed terminology to rule due to constant confusion
  • Form Display

    • Fix issue where conditional logic JS wasn’t added for forms with only one feed
  • Miscellaneous

    • Remove unused code
    • Make sure admin scripts and styles work in Gravity Forms no conflict mode
    • Automatically deactivate if parent plugins deactivated
    • Allow for multiple types of admin notices
    • Check for necessary server requirements on activation

1.8.2.5/beta2 (April 6, 2014)

  • Data

    • Fix upgrade functions running on new install
  • Stripe Feeds

    • Fix Stripe feed CSS
    • Fix PHP notice when adding a new feed
  • Default Stripe Settings

    • Remove old messages
  • Miscellaneous

    • Remove unused code
    • Remove PressTrends
    • Fix admin notices showing even though version numbers are correct
    • Fix PHP notices
    • Add new usage stats
  • Developers

    • Remove Stripe Connect references
    • Allow default mode override when creating error messages
    • Add current settings to gfp_stripe_feed_options action
    • Add gfp_stripe_gform_entry_created

1.8.2.4/beta1 (March 21, 2014)

  • Data

    • Change Stripe table structure to store all Stripe form data, including new global form settings
  • Stripe Feeds

    • Delete Stripe feeds when a form is deleted
  • Default Stripe Settings

    • Group settings
  • Form Display

    • Improve performance on form load — reduce calls to DB and implement caching
    • Make sure only active feeds are retrieved
  • Miscellaneous

    • Bump version number
  • Developers

    • Add gfp_stripe_after_save_feed hook
    • Add gfp_stripe_get_publishable_key hook
    • Add the form and temporary lead data to gfp_stripe_form_data filter

1.8.2.3/dev5 (March 3, 2014)

  • Stripe Feeds

    • Fix Stripe Form Settings menu not showing on Entries page
  • Miscellaneous

    • Remove images no longer needed
    • Bump version number
  • Developers

    • Make get_form_fields public

1.8.2.2/dev4 (March 2, 2014)

  • Stripe Feeds

    • Remove Stripe subnav menu
    • Add Stripe Form settings menu
    • Move Stripe feeds to Stripe form settings page
  • Miscellaneous

    • Fix WP coding style
    • Use new WP and Gravity Forms admin styles
    • Add new roles: gfp_stripe_settings, gfp_stripe_form_settings
    • Bump version number
  • Developers

    • Remove gfp_stripe_save_feed — use gfp_stripe_before_save_feed
    • Remove symlink workaround due to symlink support added in WP core

1.8.2.1/dev3 (January 23, 2014)

  • API

    • Update Stripe PHP library
  • Default Stripe Settings

    • Fix broken license key image icons
  • Processing

    • Fix proper currency not displaying in line item’s product price
    • Update credit card field validation to account for multiple payment methods
    • Save transaction details for all transactions
    • Save currency used in transaction instead of default Gravity Forms currency
    • Make sure credit card field is not empty when saving entry
    • Allow More Stripe to process payments if it is available
  • Miscellaneous

    • Use new WP and Gravity Forms admin styles
    • Bump version number
  • Developers

    • Make helper functions public
    • Allow the mode to be specified when retrieving API keys
    • Add gfp_stripe_gform_field_validation hook

1.8.1

  • Fix menu not showing with Gravity Forms 1.8
  • Fix fatal error when Gravity Forms is deactivated
  • Fix validation result hook
  • Fix duplicate admin notices
  • Automatically set currency
  • Bump version number

1.7.11.2

  • Fix critical issue resulting from undocumented Stripe API change
  • Bump version number

1.7.11.1

  • Add new conditional logic options and fields for Stripe feed
  • Add notice for incorrect version of Gravity Forms
  • Update Stripe PHP library to 1.8.3 since 1.9.0 has issues
  • Update for GF1.7.11
  • Update for WordPress 3.7
  • Bump version number

1.7.10.1

  • Ensure GF1.7.10 compatibility
  • Bump version number

1.7.9.1

  • Add hook for customer description: gfp_stripe_customer_description
  • Add hook for charge description: gfp_stripe_customer_charge_description
  • Add hook for live mode error messages: gfp_stripe_error_message
  • Add charge creation override
  • Add check for curl when plugin activated
  • Add filter ‘gfp_stripe_display_billing_info’
  • Add action ‘gfp_stripe_set_validation_result’
  • Add PSR-0 autoloader
  • Add UI improvements
  • Add PHPDoc to all the things!
  • Add PressTrends
  • Add check for Gravity Forms when plugin activated
  • Add Gravity Forms deactivation prevention if Stripe Add-On is still activated
  • Add support for Stripe accounts with multiple currencies
  • Add Gravity Forms Logging Tool integration
  • Update Stripe PHP API library to 1.8.4
  • Update ‘gfp_stripe_customer_description’ hook to pass all of the submitted form data, and not just the name
  • Update ‘gfp_stripe_create_error_message’ to show actual card error in live mode, since they are safe to show per Stripe API
  • Update ‘gfp_stripe_customer_description’ hook parameters to replace $form_data with $form
  • Refactor & reorganize code
  • Rename hook ‘gform_stripe_action_fields’ to ‘gfp_stripe_feed_options’
  • Rename hook ‘gform_stripe_add_option_group’ to ‘gfp_stripe_feed_setting’
  • Rename hook ‘gfp_stripe_after_submission_update_lead’ to ‘gfp_stripe_entry_created_update_lead’
  • Rename hook ‘gfp_stripe_gform_after_submission’ to ‘gfp_stripe_entry_created_subscriber_id’
  • Rename hook ‘gfp_stripe_after_submission_insert_transaction_type’ to ‘gfp_stripe_entry_created_insert_transaction_type’
  • Fix hook ‘gfp_stripe_gform_after_submission’ to include correct return value
  • Fix undefined variable notice on stats page
  • Fix PHP warnings
  • Fix Stripe JS to get correct address fields from feed
  • Fix Stripe condition not properly handling checkboxes and dropdowns
  • Fix double form submissions if AJAX and 2+ forms on a page
  • Move after submission processing from gform_after_submission to gform_entry_created
  • Remove KLogger
  • Remove currency disable
  • Remove Stripe JS check for address_field_required

1.7.2.3

  • Fix IE9 JS issue preventing card number submission
  • Prevent Stripe API key whitespace error by stripping whitespace from API keys
  • Fix annoying PHP warnings
  • Clean up duplicate and unneeded code

1.7.2.2

  • Fix issue with billing address not being sent to Stripe
  • Add new billing address city field to Stripe token creation
  • Remove hidden condition for sending billing address state and country to Stripe

1.7.2.1

  • Update JS for credit card field change
  • Fix currency detection performance issue
  • Use original Stripe error in test mode, pretty errors in live mode
  • Allow multiple Stripe feeds for multiple address fields on one form
  • Fix annoying PHP warnings
  • Update Stripe PHP library to 1.8.0
  • Bump version number to latest version of Gravity Forms

1.6.11.1

  • Add support for Canadian Stripe accounts
  • Fix annoying PHP warnings
  • Update Stripe PHP library
  • Bump version number to latest version of Gravity Forms

1.6.9.1

  • Switch to new version scheme that follows Gravity Forms
  • Create a customer in Stripe for all transactions
  • Fix Stripe JS to work without AJAX
  • Fix issue with plugin not deactivating on uninstall
  • Update to work with new Gravity Forms 1.6 fields
  • Remove deprecated Stripe token parameter
  • Allow unactivated Stripe test accounts to use in Test mode only

0.1.3

  • Fix credit card field conflict with other GF payment add-ons
  • Load Stripe JS only when form with a credit card field and Stripe feed is loaded
  • Fix removal of credit card expiration date from information sent to server
  • Add validation check for cardholder name and address
  • Don’t process payment if total is less than $0.50

0.1.2

  • Fix error handling

0.1.1

  • Fix “Class ‘Stripe’ Not Found” error

0.1

  • Initial release. Process charges (one-time payments) only.