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)
Would love to see the escrow support here for hirebee?
the plugin doesn’t work as soon as installed and activated it just website went blank white screen so i went inside my cpanel and deactivated the plugin and the website worked, so far no support.
@terrybakshi I see you have created the relevant support forum thread and our staff have responded to your initial post. They will continue to communicate with you there to resolution. Thanks.
im getting error after installation
Warning: require(__DIR__/compatibility.php) [function.require]: failed to open stream: No such file or directory in /home2/anubhaan/public_html/sharebiz.org/wp-content/plugins/Stripe-master/stripe.php on line 26
Warning: require(__DIR__/compatibility.php) [function.require]: failed to open stream: No such file or directory in /home2/anubhaan/public_html/sharebiz.org/wp-content/plugins/Stripe-master/stripe.php on line 26
Fatal error: require() [function.require]: Failed opening required ‘__DIR__/compatibility.php’ (include_path=’.:/opt/php52/lib/php’) in /home2/anubhaan/public_html/sharebiz.org/wp-content/plugins/Stripe-master/stripe.php on line 26
I have resolved inn Vantage, but in Classipress , it shows it doesnt support current theme
Is there anyone to support here. This plugin does not support class press.it was mentioned that it LL support class press as well. I would better want a refund. I will wait for few days before registering complaint.
Does it work with Euros yet? I want to use it with my Vantage theme in Spain, Any problem that I should know?
There are some old comments in the thread about not supporting reoccurring payment in vantage. Has this been fixed? Seems crazy to offer this for a subscription based site.
Thanks-
this plugin does not process payments it does only create users in stripe!
I was looking forward to buying this to add it to a Hirebee website. After looking at the reviews and comments, I am not feeling confident about buying this plugin at all.
Perhaps the Developer could contact me and restore my faith after reading so many bad comments?
@Ryan, we’re currently addressing all the issues reported and will soon release an updated version.
Hi Bruno,
Do you have a realistic time frame on when a new release is due?
Can you also please explain what has been done to improve the poor ongoing support that other users have reported?
I’d like to give the plugin a try, but the reviews and comments about poor support have really put me off.
@outdoorgearlink, the Stripe plugin does support recurring payments. There were some error reports from some users and we’ve posted a temporary fix on the related forum thread. We’ll soon release an update with the final fix.
Stripe works with ALL the themes specified in the ‘Requirements’ sidebar. If you have any issue please use the dedicated support forum (http://forums.appthemes.com/stripe/) to report it. If you are using a child theme, please always make sure you can replicate the issue with only the main theme installed.
Stripe supports all the currencies specified here: https://support.stripe.com/questions/which-currencies-does-stripe-support
@Ryan, were currently looking into all reported issues so that the next release includes all the fixes.
We’ve been scanning the forums looking for issues and asking for details to be able to replicate the issues ourselves. As soon as we believe we’ve patched all the issues we’ll update the release.
Thank you for your interest.
Thanks Bruno. Can you provide some more accurate guidance on when this may be? I realise it is only an estimate, but you need to provide some guidance to your customers.
Weeks, Months, years?
Thanks.
Weeks. We’ll try to release it as as soon as possible.
Hello, I’m about to purchase this Stripe app for JobRoller. Would like to get verification that it will work. Thanks.
@rjslarx, yes. Stripe is working with JobRoller.
Working with Hirebee?
@ryanjs, yes.
Stripe works with all AppThemes themes.
I want to purchase this plugin but I need to know if you the bugs are fixed I use hirebee theme.
@David, are you referring to any issue in particular? Stripe already works with HireBee.
Hello, I clicked the Support tab on this page, and it said support is in the Forum, but it seems there is no support for this plugin in the forum because there are support questions in there that are very old without any replies. I certainly hope there is support.
I’m getting this error:
Fatal error: Call to a member function create() on a non-object in /home/hootoflk/public_html/wp-content/plugins/appthemes-stripe/stripe-gateway.php on line 131
Here’s the code:
130 // Create Card
131 $card = $customer->cards->create( array(
132 ‘card’ => $token
This is on https://hootofloot.com which is using Classipress
Hi eshane,
I’ve asked the support team to respond to your question in the support forum. If you haven’t posted it there yet, please do so they can help you out. Thanks.
Hi quick pre-sales question. I have a client who has customers with existing Stripe payments (he uses the emailed invoices). He now wants customers to be able to make pre-payments for services. Will this plugin allow for that? Will it recognize the customerās address or email address and then put the credit on their account? Thanks!
The gateway itself only process the actual payments steps. Pre-payments and other business models are controlled by the theme. A theme like Hirebee has credit systems that would allow for customer’s to prepay for services, and ClassiPress allows for Ad Packs.
Hi can anyone confirm that this plugin is Working with Classipress without issue?
Thanks
hello,
i use adsplash and if i click on the gateway i will redirected to stripe, but i get a error page. Please help !