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
- SCA compliant
- 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.
- Escrow functionality for Hirebee. View escrow setup documentation.
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).
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.
Version 3.0.0 – 2020-12-30
Changes:
- Upgraded Stripe API to the new version.
- Checkout process is SCA compliant now.
- Upgraded Stripe php lib version to 7.67.0
Version 2.1.0 – 2019-10-04
Changes:
- Upgraded Stripe API to the version 2019-08-14
- Upgraded Stripe PHP lib version to 7.0.2
- Allow verifying Zip code as well as Address using option “Street Number Verification”
Fixes:
- Fixed issue with the incorrect Customer ID.
- Card decline message not appearing.
Version 2.0.1 – 2018-10-16
Changes:
- Added Spanish translation.
Version 2.0.0 – 08/15/2018
Changes:
- Implemented Stripe Connect (escrow) feature.
- Updated Stripe API and SDK to the latest versions.
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
Comments (162)
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?
@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.
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
@ kiduno, sounds like one of the files is missing. Did you download it from your dashboard? Please post this in our Stripe support forum so we can help you there. Thanks.
Hi David, are you busy? Can you please do reply my comment below. Thanks
Hi David, When will be available in the Philippines?
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.
By the way, I am using Vantage Theme on my website.
@sanedman, it looks like Stripe isn’t available in the Philippines yet. You should sign up to get notified once it’s available.
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
@ 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.
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!
Hey,
I have a classipress website with adsplash child theme. Will this plugin/payment system fully integrate with the classipress membership system?
@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.
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.
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).
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.
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.
@islandjobs, thanks for letting us know. We’ll get this fixed soon and release an update!
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).
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.
Hi Martin,
Please post your question in the Stripe support forum. Make sure to include the theme name and any screenshots to help us troubleshoot.
Hi there, does this plugin works in Vantage 4.x?
and is it available in Spanish?
Hi, is there anyone responding to message here?
Thanks,
Mike
Yes, it works with Vantage 4.0. You can change most of the text directly inside WordPress admin.
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
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.
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
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
Hi Mike,
We’re not as quick to respond in the comments so please post your questions in our Stripe support forum instead. Someone will be able to explain how to translate it into your language there.
To get you started, we highly recommend the Loco Translate plugin which allows you to easily translate the Stripe plugin text directly from wp-admin. Here’s a video tutorial on getting started. Here’s their official tutorial. It applies to a theme but works for plugins too.
Hi David, how would I use this plugin to translate Vantage 4.x?
Thanks,
Mike
Mike,
As a follow-up, I just finished a tutorial that will explain exactly how to translate a WordPress plugin into any language. Check it out and let me know how it goes!
Thank you David! Very useful.
Mike
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).
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!
Hi Jeff,
I’ve responded to your forum thread. Please provide the info I requested so we can help troubleshoot your issue.
Hi, please does Stripe work with the escrow system? I am Nigerian and want to charge my customers in our local currency.
Stripe is now allowed pay using Apple Pay, very convenience for U.S. customer base as everyone here has somehow already set it up to buy apps in Iphone
https://stripe.com/apple-pay
Do you think you can update the app to enable this feature in the plugin?
Thanks,
Ngoc_oty
Hi, $39 is a one-time fee?
I downloaded the new updated version (1.3.3) but the folder is still stripe instead of appthemes_stripe like you mentioned. Do I need to rename the folder myself?
Thanks
Will this work with the newest version of Hirebee? I notice it hasn’t been updated in quite some time..
Hi @Justin, it should work with the latest version of Hirebee. Please let us know if you run into any issues.
Kind regards
do we have to use THIS stripe plugin to get escrow functionality, or can we use ANY stripe gateway plugin.
It is not working at all
This plugin is not even recognized by the theme or WordPress at this time. He prior version was allowing escrow. This one asks for an additional charge. Does not even seem to be anything like the prior plugin version. Any help is appreciated. I also just bought this plugin about a month ago