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)
It says there are 146 comments, but they are hidden, why?
I was going to buy this plugin, but have received a number of comments saying it doesn;t work, asks or more money and is not recognise dby the theme.
Hi @mdinardo, If you are experiencing issues, please do post a thread in the AppThemes forums where support is provided specifically for this plugin here: https://forums.appthemes.com/stripe/. Thanks.
@russmichaels – Comments are not hidden, you simply need to select the “Older Comments” link to view the previous pages of comments. There are no known issues with the plugin, we are confident it works with our themes as expected.
Hi, there are two types of verification connecting into Stripe: individual and company
When my customers are connecting into stripe (using stripe payment gateway), they are asked to register as company. Where can it be change?
Thanks
Is the new rules implemented???
Starting in September 2019, a new regulation called Strong Customer Authentication (SCA) will require businesses in Europe to request additional authentication for online payments. We recommend that all European businesses start building their Stripe integrations with either our PaymentIntents API or our new Checkout to be ready for these rule changes.
Have you find solution for new rules?
The plugin disappears after a time. And another Stripe plugin is installed instead. Please solve this problem. See the Forum , thanks
s the new rules implemented???
Starting in September 2019, a new regulation called Strong Customer Authentication (SCA) will require businesses in Europe to request additional authentication for online payments. We recommend that all European businesses start building their Stripe integrations with either our PaymentIntents API or our new Checkout to be ready for these rule changes.
Is the new rules implemented???
Starting in September 2019, a new regulation called Strong Customer Authentication (SCA) will require businesses in Europe to request additional authentication for online payments. We recommend that all European businesses start building their Stripe integrations with either our PaymentIntents API or our new Checkout to be ready for these rule changes.
I have a Stripe Payments plugin installed already but it is not showing up as an escrow option in my Hirebee payment settings. Is this App Themes Stripe plugin different from the stripe payments plugin I already installed through wordpress? It is leads to the exact same stripe website and dashboard. Thanks!
The support is awful… in fact there is none… no way to contact them directly.
The only way to get support is through the forums, which you must pay to access, so that you can post questions, which are then answered (if you are lucky) by other customers.
I have never before heard of a company that charges money to customers so they can provide support to each other on a forum.
After purchasing and doing a test post in test mode i am getting a 40 Forbidden error when being returned to the post.
https://catchreports.co.uk/test/
Is this plugin up to date and working with the latest version of classipress?
Hello!
The Stripe v3.0.0 has been released today.
– Upgraded Stripe API to the new version.
– Checkout process is SCA compliant.
– Upgraded Stripe PHP lib version to 7.67.0
Some notes:
Recurring orders
If the user created a recurring order with the legacy API, and then upgraded the plugin, don’t worry! The legacy orders will be processed using the legacy API automatically, even if the legacy API is not enabled. The orders will be recurring until the legacy API disabled by Stripe. Newly created orders will use the new API.
Escrow orders
If the user created an escrow order with the legacy API, and then upgraded the plugin, don’t worry! The legacy orders can be refunded using the legacy API automatically, even if the legacy API is not enabled. Newly created orders will use the new API for refund. Don’t worry about transfers as well. The transfer for legacy order will work just fine with the new API.
Hello all,
Are there still issues with this plugin ?
Thanks,
Error:
Help me!!!!!
The \Stripe\Checkout\Session::create method failed. The Checkout Session’s total amount due cannot be zero in `payment` mode. Please see https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts