Stripe

Join hundreds of other AppThemes customers and start using the top selling payment gateway plugin!

Stripe is the #1 alternative to PayPal and for good reason. It’s an easy-to-setup and completely integrated payment solution for your AppThemes business website.

Unlike PayPal, there are no confusing off-site redirects so the customer checkout experience is seamless. You also own your customer and credit card data so it’s portable and flexible (e.g. you can export it and/or manually initiate charges or credits from within Stripe).

There are no setup, monthly, or hidden fees. You’ll pay only when a transaction is made. Stripe also provides real-time reporting and other payment management features which are far more superior to PayPal. Transfers arrive in your bank account on a 2-day rolling basis. You can also opt to receive transfers weekly or monthly.

Still not convinced? Keep reading for additional benefits and features…

Features

  • Complete theme integration. Customers don’t even know they’re using Stripe.
  • Support recurring payments so you can build your own subscription models within Stripe (theme must support recurring payments).
  • Option to use the Stripe Checkout modal window for a more simplistic checkout experience.
  • Accept payments from Visa, MasterCard, American Express, Discover, JCB, and Diners Club cards.
  • Stripe handles the processing, transmission, and storage of credit card data so you don’t need to worry about PCI compliance.
  • Your customer’s personal information and credit cards are forever saved in Stripe so even if you change themes later, the data is portable.
  • Completely customizable via the wp-admin options page. Include the billing address fields, change the button text, add your own logo, etc.
  • Supports mobile devices and auto complete features for apps like 1Password to pre-fill securely stored credit card data.
  • Validates credit card field inputs and displays the actual credit card brand image once it’s been recognized for a more professional look.
  • Has it’s own API (via WordPress native actions and filters) so 3rd party developers can extend the plugin into their own products.

Requirements

  • Active Stripe account – It’s easy to sign up. Make sure your country is supported first. See their country support page and confirm before you purchase this plugin.
  • AppThemes product with payments support (all our themes excluding legacy Quality Control and Ideas).
  • Stripe is available in limited currencies. Check their supported currency page to verify your currency is accepted.
  • An SSL certificate for your website (unless you are in test mode). This means https must work correctly. See our FAQ tab for more information.
  • PHP 5.3.3+
  • mbstring, curl, json PHP extensions must be enabled

Note: Images above show the plugin being used with Vantage (not included).

Like
7 people like this.

What themes does this plugin work with?

It will work with all of our themes (excludes legacy themes Quality Control and Ideas).

How much does Stripe charge per transaction?

2.9% + 0.30¢ per successful transaction. This may change in the future so visit their pricing page for the most up-to-date information.

Do I need an SSL certificate?

Yes. In order to transmit credit card information, you need a secure connection. This means you must purchase and install an SSL certificate on your website.

For more details, see the Stripe HTTPS and SSL documentation. Contact your web host provider for information on how to buy and install the SSL certificate. Prices start from $30 per year. They should be able to handle all the technical details for you without charge.

What countries does Stripe support?

Currently it supports only major countries but continues to add more. See which countries are supported and/or sign up to be notified when your country is added.

Which currencies does Stripe support?

Stripe supports many different currencies both for making charges and for transferring to your associated bank accounts, depending on where your business is based. View the list of supported currencies.

Does this plugin support Stripe Checkout?

Yes. So what is Stripe Checkout? It’s a modal window that is displayed on checkout instead of the integrated payment form. Some customers prefer this as it’s simpler to use.

Does this plugin support Stripe Connect?

No, not at this time.

Does this plugin support Bitcoin transactions?

No, not at this time but we plan on adding support in version 2.0.0.

What version of the Stripe API does this plugin support?

As of version 1.3.0, it supports Stripe API version 2017-01-27. You can see the Stripe API change log to understand what has changed since the previous versions. This API version is set via the plugin so the new features will already be supported.

You can also login to your Stripe Dashboard API Keys page and click the “upgrade API button”. Just make sure the version matches 2016-03-07 otherwise the plugin may not work correctly.

I’m a developer. Does this plugin have it’s own API?

Welcome, friend! Yes it certainly does. We use the native WordPress action and filter hooks which allow you to make all sorts of changes. You can trigger workflows after a successful transaction, pass in additional customer metadata to Stripe, insert additional fields on the checkout form, and more!

What fields are passed into Stripe?

Besides the obvious required ones (credit card number and expiration date), we include the following (as of v1.2.0): email address, ip address, first/last name, WordPress username, and WordPress ID. We also include the billing address fields if you opted to have those as well.

Why can’t upgrade to version 1.2.0 with the AppThemes Updater plugin?

If you were a customer prior to version 1.2.0, you’ll need to manually download the plugin from your customer dashboard. This is because the plugin’s folder name was changed due to a conflict with a totally unrelated Stripe plugin on wordpress.org.

Please deactivate and then delete your existing Stripe plugin. Then upload and activate version 1.2.0+. The .zip file you upload is still named stripe.zip but it unzips into appthemes-stripe on your server.

Prerequisites

Before you can start using Stripe, you’ll need the following items:

  • An existing or new Stripe account.
  • A valid SSL certificate on your web server. Contact your host provider for info on how to buy and install the SSL certificate.

Note: You can actually complete the install guide below and test your site without a valid SSL certificate.

Getting Started

Log in to your Stripe account and in the top right corner, click on “Your account” => “Account settings”.

In the popup window, click on the “API Keys” icon. There you will see your unique API keys which are required for this plugin. Open a new browser window and load up your website.

Upload the plugin via the WordPress admin page.

Once activated, you need to configure the plugin settings.

Scroll to the bottom and enter the API keys from the Stripe website in your other browser window. Tick the “Test Mode” checkbox and then save.

Now go back and complete the general options. Below is our recommended setup for testing.

Before you can begin using Stripe, you need to enable it as a payment method. Go to “Payments” => “Settings” => “Installed Gateways” and tick the “Stripe” checkbox.

Let’s test!

Since your Stripe plugin is in test mode, we recommend performing a test transaction. Of course, your main site should be in maintenance mode or not available to the public during this time so visitors don’t get stuck checking out.

Once you purchase a new ad, business listing, coupon, job listing, etc make sure to select the “Credit Card” option when checking out. That will take you to the Stripe payment page. In this case, we’re using the ClassiPress theme.

From there, enter one of the following ‘testing’ credit card numbers. Use any future expiration date, fake cardholder name, and CVC.

  • Visa: 4242 4242 4242 4242
  • Mastercard: 5555 5555 5555 4444
  • American Express: 3782 822463 10005
  • Discover: 6011 1111 1111 1117

Note: For a full list of test cards and other parameters to test against, see the Stripe testing page.

You should get a successful transaction and see it recorded in both the Stripe dashboard and under your “Payments” => “Orders”. If you also click on the “Customers” sidebar link, you’ll see the new customer created with all relevant details.

Your AppThemes website order history screen.

Wrapping it up

Now that you’ve made a successful test transaction, you’re ready for the big leagues. Go back to the Stripe plugin general options page and uncheck the “Test Mode” checkbox under the “API Keys” section. You’ll also need to tick the “Secure Checkout” checkbox assuming you already purchased and setup your SSL (https) certificate.

Then go back and try another transaction but don’t actually pay for it. Just make sure everything works correctly.

Also, disable any maintenance mode plugins your site was using (if any).

You should then go back to Stripe and enter your bank account and other personal information in their system. That way, you’ll get paid. 🙂

To view any real transactions within Stripe, you’ll need to change to “live mode”. Slide the switch in the top left corner from within the Stripe dashboard.

That should be it!

Good luck with your sales! If you have any questions, please ask our support team in the Stripe forum.

Troubleshooting

Customer didn’t get created? Transaction didn’t go through?
Visit your Stripe dashboard and view the log section. Click on each log entry to see the details. That should give you more information.

If you still can’t figure it out, make sure to copy that info and include it with a new forum thread (see support tab above for link) so we can better debug things.

Note: If you are not using an AppThemes theme, this plugin will not work.

Please visit the dedicated support forum.

Version 1.3.3 – 11/23/2017

Fixes:

  • Bug when using several cards by a single customer.

 

Version 1.3.2 – 07/07/2017

Fixes:

  • Modal window option not working
  • Ensure order processed only once

Version 1.3.1 – 02/21/2017

Fixes:

  • Fixed PHP undefined variable notice in appthemes_stripe_customer_args filter. Should fix unable to create customer error some customers had issues with.

Version 1.3.0 – 02/10/2017

Fixes:

  • Resolved a TLS 1.2 error since Stripe no longer supports API requests made with TLS 1.0

Changes:

  • Reworked how .mo language files are loaded. Check wp-content/languages/ locations. Should be triggered on init.
  • Add appthemes_stripe_before_form_fields & appthemes_stripe_after_form_fields hooks so devs can add content to form (e.g. images, messages, etc)
  • Setup Composer to better manage the Stripe php lib and updates
  • Setup Grunt.js to automate certain tasks
  • Added SASS support to better maintain stylesheets
  • Upgraded Stripe API to the latest version (2017-01-27)
  • Upgraded Stripe php lib from 3.17.0 to 4.4.0 (which also resolved the TLS bug)

Version 1.2.0 – 08/10/2016

Fixes:

  • Fixed the generic field styles so it’s better integrated with each theme
  • Moved left out Stripe error text strings so they can now be translated
  • Added better exception/error handling for the customer experience
  • No longer duplicates credit cards stored on the customer record if same card was used for separate purchases
  • Now updates credit card name and expiration date if the same card was used for separate purchases
  • Billing address fields now saved on the customer card stored in Stripe
  • Renamed plugin folder from `stripe` to `appthemes-stripe` to avoid update conflicts with another Stripe plugin
  • Added a “you are in test mode” message on the front-end to remind site owners to uncheck it before going live

Changes:

  • Added description text field to display above payment form
  • Added button text field for changing the Stripe button text
  • Added image url text field for Stripe checkout modal option
  • Added address fields option for Stripe checkout modal option
  • Added data-locale=”auto” to display local language for Stripe checkout modal option
  • Added filter (appthemes_stripe_form) to use a different payment form
  • Changed the style of the payment form to support Foundation framework
  • Moved .pot language file into languages dir and load using plugins_loaded hook
  • Added settings, docs, and support links to the plugin page
  • Added admin notices if plugin is in test mode and/or missing API keys
  • Moved environment checks to register_activation_hook() instead of init
  • Moved js and css into new assets folder. Renamed form.js to stripe.js
  • Changed credit card input fields from ‘text’ to ‘tel’ to better support mobile devices
  • Added auto-complete browser support to credit card number and date fields
  • Rewrote js so it’s much more efficient and handles errors more gracefully
  • Added jquery.payment lib for better field validation and error processing
  • Upgraded Stripe API to the latest version (2016-07-06)
  • Upgraded Stripe php lib from 1.17.2 to 3.13.0
  • Removed the CVC and zip code check options since Stripe controls them via their admin panel
  • Adding new customers to Stripe now includes their WordPress ID, name, and IP Address stored as metadata
  • Added new filter appthemes_stripe_customer_args to customize the fields added to Stripe for new customers
  • Added new action appthemes_stripe_add_customer so you can trigger other tasks (e.g. store extra info in db) after customer is created
  • Stripe checkout modal window now uses custom integration which means a better user experience (uses theme button vs Stripe default)
  • Credit card image dynamically appears in the card number field when correct number is entered

Version 1.1.6 – 05/05/2016

  • Forced to use SSL redirect only with enabled option “Secure Connection”

Version 1.1.5 – 02/11/2016

  • Use is_ssl() to detect if a page is SSL. Fixes edge case false negatives

Version 1.1.4 – 12/31/2015

  • Fixed call to undefined method in stripe-modal-form.php

Version 1.1.3 – 12/29/2015

  • Fixed “Fatal error: Call to undefined method APP_Order_Receipt::add_log()””
  • Fix bug where users that made purchases while in test mode had errors when the gateway went to live mode.
  • Added documentation to all Stripe Gateway methods.
  • Updated gateway to fall in line with Stripe API changes.

Version 1.1.2 – 06/03/2015

  • Fixed mistranslated string in POT file
  • Fixed bug with non-set API key during recurring processing

Version 1.1.1 – 11/19/2014

  • Fixed bug where form did not submit via POST.

Version 1.1.0 – 11/14/2014

  • Recurring Payments is now supported.
  • Option added to allow enabling of Stripe Checkout support.

Version 1.0.2 – 02/15/2013

  • API Keys are now trimmed of whitespace before use.
  • Payment form is now displayed below errors.
  • Added more client side error checking to avoid loosing form data to a server-side submit
  • Add Name/CVC/Address checking to add additional security. These can be enabled through the Stripe settings.

Version 1.0.1 – 11/10/2012

  • Plugin now errors and disables itself if the theme does not support AppThemes Payments
  • Translation files are now loaded correctly
  • Errors related to unsupported currencies now work correctly
  • Errors related to invalid card numbers now work correctly

5 reviews of “Stripe

5 stars
Does the Job
By -

No issues at all with this plugin. Simple, yet effective. It does the job and was very easy to setup. I use it for both of my websites. Thank you AppThemes

Marc
http://hoteljobz.com
http://healthcarejobsearch.net

5 stars
It works for me - has been since 2013 with no problems
By -

This plugin seems to work fine on my site. I’ve been using it since 2013 and haven’t had any issues.

5 stars
No support on how to connect to stripe
By -

No support on how to connect to stripe.com, Stripe doesn’t even support this plugin. Still waiting for a response in the support forums from AppThemes. Stripe.com has no phone number to call and PayPal does.

Author Response
Thanks for your review. The Stripe team doesn’t support this plugin…we do. 🙂 Our support team will happily answer your questions in our forums. FYI, Stripe has it’s own support channel which you shouldn’t need to use unless it’s related to their system (e.g. something with their website or your Stripe account).

5 stars
Not really professional looking
By -

The plugin does look really bare. Not what I was expecting for $39. Wish they will give it a more professional look. SSL looks just like html.

Author Response
Thanks for your review. Since version 1.2.0, we’ve drastically improved the look so it integrates nicely with all our supported themes. See the screenshots above for a better idea or just download the update. 🙂

Like
Anonymous likes this.
5 stars
Somewhat happy so far
By -

Seems like the stripe plug-in is bare bones. Does not provide the good stuff PayPal does. Am I missing something? Seems too bare.

Author Response
Thanks for your feedback. As of version 1.2.0 (Aug 2016), the plugin integrates much better with all our themes. We’ve also added a bunch of new features which you can see from the screenshots above.

Like
scriniums likes this.
You need to purchase this item before reviewing it.
(Just bought it? Log out and back in to enable reviews.)

 Comments (138)

  • André

    Does it support brazillian portuguese (pt_BR) and the currency Reais (R$)?
    My customers live in Brazil and pay in Reais. How does the Stripe accounts brazillian transactions? In external currencies like US$ and then being converted in Reais (R$)? Could you explain how it works or not for Brazil?

    • staff
      David

      @Andre, currently Stripe does not support Brazil. They have started a private beta though which you could sign up and join.

      For more information on countries supported, see this page.

  • kiduno

    Im getting error after installation:

    Warning: require(__DIR__/compatibility.php) [function.require]: failed to open stream: No such file or directory in /home/paboard/public_html/wp-content/plugins/stripe/stripe.php on line 31

    Warning: require(__DIR__/compatibility.php) [function.require]: failed to open stream: No such file or directory in /home/paboard/public_html/wp-content/plugins/stripe/stripe.php on line 31

    Fatal error: require() [function.require]: Failed opening required ‘__DIR__/compatibility.php’ (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/paboard/public_html/wp-content/plugins/stripe/stripe.php on line 31

  • sanedman

    Hi, am planning to purchase this plug in. I am currently located in the Philippines. Should it work if I will going to install this to my website? My target location are from US, UK, Canada, etc.

  • websitemr

    Hello,

    Just to clarify before purchase:

    This plugin works fine with Classipress correct?
    I add this payment option in addition to my current payment options (Paypal, Bitcoin). WOuld this be a problem?

    Thanks

    • staff
      David

      @ websitemr yes, that is correct.

      FYI, We’re coming out with version 1.2.0 next week which includes several new features and fixes.

      You don’t need to wait since the upgrade will be free.

  • staff
    David

    Attention Stripe plugin customers and potential customers,

    We’ve just released a major update to this plugin (v1.2.0). It includes a lot of new features and fixes. See the “Changelog” tab on the Marketplace page for all the details. It’s sooo much better!

    If you’re an existing customer, you’ll need to manually download the plugin from your account dashboard (the Updater plugin won’t detect it). We had to change the plugin folder name from `stripe` to `appthemes-stripe` to prevent a naming collision with another unrelated Stripe plugin.

    Make sure to deactivate and delete your old Stripe plugin first. Then upload this new one.

    Enjoy!

  • Joe

    Hey,

    I have a classipress website with adsplash child theme. Will this plugin/payment system fully integrate with the classipress membership system?

    • staff
      David

      @Joe, yes it should work fine with ClassiPress. I haven’t tested it with AdSplash though but I’ll assume it works b/c it’s using the ClassiPress payment system.

  • islandjobs

    This was all going very well until I got this error; “The \Stripe\Customer::create method failed. Stripe no longer supports API requests made with TLS 1.0. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls.”
    BlueHost and Stripe are denying accountability, so was hoping to get some help here. I posted this in the forum in an active thread with someone who reported the same issue. Doesn’t seem like anyone is cruising over there though, so though I would post here as well. Please help urgently.

    • meloniq

      Hi @islandjobs,

      If you would like to use Stripe, the easiest solution for you will be changing BlueHost to something else… per what I have read, Stripe is not going to downgrade TLS to 1.0, and BlueHost is not going to upgrade TLS to 1.2 until 2018 (forcing those two companies to upgrade/downgrade TLS might not be successful).

  • islandjobs

    Thanks meloniq, but at the moment that’s not really a viable solution (hosting paid for a year up front), and especially since BlueHost is claiming they are already using TLS 1.2, it’s an option where I lose money.
    I would prefer if the plugin was updated to use the latest stripe php library 4.0.0 (a solution proposed by stripe, see my post in the forums: http://forums.appthemes.com/stripe/stripe-error-msg-api-requests-95543/).
    If this still doesn’t work, then I can start pointing the finger at BlueHost.

  • islandjobs

    OK, so I took a chance and did this myself. I replaced the lib folder under the theme directory with the latest stripe library (v4.4.0) and now it works fine. You guys need to update this plugin.

    Like
    David likes this.
  • staff
    David

    We’ve just released version 1.3.0 which resolves the TLS bug and includes a handful of other changes. See the release notes tab for more details.

    If you’re a customer, make sure to download the latest version or upgrade from within your site (if you’re using our upgrader plugin).

  • Martin

    Hello i have a problem with the plugin, the option for the popup window is not working and when i klick the make payment button, it reloads only the page instread to open the credit cart popup of stripe.

  • mllerena

    Hi there, does this plugin works in Vantage 4.x?
    and is it available in Spanish?

    • mllerena

      Hi, is there anyone responding to message here?
      Thanks,
      Mike

      Like
      mllerena likes this.
    • staff
      David

      Yes, it works with Vantage 4.0. You can change most of the text directly inside WordPress admin.

      Like
      mllerena likes this.
  • mllerena

    Hi there David. I just purchased this plugin and I’m a bit disappointed with what I got for $39.
    First of all, I don’t see where to translate the cc payment page to spanish. I don’t see the return page after processing the payment either, so how would a customer know if the payment went through? Are there any short codes available? If I can’t translate the payment page, I need a refund please. Thanks. Mike

    • staff
      David

      Hi Mike, all text is translatable. There are a few text strings available within the wp-admin Stripe options page, however you’ll need to translate and generate a .pot file in Spanish to translate the field labels. If you aren’t familiar with a .pot file, then it won’t be easy for you (no offense…there’s just a learning curve).

      That’s the case for any plugin and theme we sell. Some already have a language .pot file but most do not.

      The other option is to use the Stripe modal window option instead of the embedded payment form. That will automatically translate the payment form into whatever language the visitor speaks.

      Re: return page – With Stripe, payment takes place directly on the page so there’s not “return page”. After someone clicks “Make Payment”, it will process and upon completion, show them a confirmation page.

      Re: Shortcodes – There are no shortcodes as payments need to take place on a certain page and order.

  • mllerena

    Hi David, there are two reasons for me to purchased this plugin. One that it was compatible with Vantage 4.x and the other one (very important) that it was available in Spanish.

    This was your response: “You can change most of the text directly inside WordPress admin.”

    If you can’t explain me how and prove it, I need a refund ASAP, so I can purchase what I need to deliver the site to my customer.

    Thanks,

    Miguel

  • mllerena

    Hi David, thanks for the response. I wish you would have told me the details before I purchased the plugin.
    The way I see it, I should get a refund or I might consider translating the .pot file if it not too large. Can you tell me where to get it and where to upload de .mo file when we are done.

    Thanks,
    Mike

  • Artem Frolov

    We’ve just released version 1.3.2 which resolves the Modal Window issue and prevents duplicated charges for single order. See the release notes tab for more details.

    If you’re a customer, make sure to download the latest version or upgrade from within your site (if you’re using our upgrader plugin).

    Like
    David likes this.
  • Jeff

    Used this plugin for over a year. Some how the support is zero and have to rebuy it to get support.

    THIS PLUGIN IS THE ROOT CAUSE OF MY SITE TAKING 35 SECONDS TO LOAD. WTF. Once I disabled the plugin it loads in under 3 seconds …….im using 1.1.5…any support!

    • staff
      David

      Hi Jeff,

      I’ve responded to your forum thread. Please provide the info I requested so we can help troubleshoot your issue.

  • trendy17

    Hi, please does Stripe work with the escrow system? I am Nigerian and want to charge my customers in our local currency.

Leave a Reply to David Cancel reply

More by appthemes

LinkedIn Publisher

A highly customizable job aggregator for JobRoller that connects with…


(3)
$29

Confirm Email

Require new users to confirm their email before account activation.


(12)
$9

2Checkout

Accept up to eight payment methods, fifteen languages, & twenty six…


(4)
$39