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…
- 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.
- 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, jsonPHP 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?
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.
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.
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.
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.
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 1.3.3 – 11/23/2017
- Bug when using several cards by a single customer.
Version 1.3.2 – 07/07/2017
- Modal window option not working
- Ensure order processed only once
Version 1.3.1 – 02/21/2017
- Fixed PHP undefined variable notice in
appthemes_stripe_customer_argsfilter. Should fix unable to create customer error some customers had issues with.
Version 1.3.0 – 02/10/2017
- Resolved a TLS 1.2 error since Stripe no longer supports API requests made with TLS 1.0
- Reworked how .mo language files are loaded. Check wp-content/languages/ locations. Should be triggered on init.
appthemes_stripe_after_form_fieldshooks 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
- 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
- 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