Stripe Standard - Setup Documentation
The following setup documentation is for the Stripe payment gateway that comes standard with Easy Digital Downloads. Click here for Stripe Pro payment gateway extension setup docs.
Table of Contents
In order to use the Stripe payment gateway, you must first have a Stripe account. It's free to create a Stripe account, and testing it is also free. Also see Stripe's business information requirements.
1. Enable the Stripe Payment Gateway
Go to WordPress admin → Downloads → Settings → Payment Gateways, then enable the Stripe payment gateway.
2. Connect with Stripe
Select the Stripe sub-tab within the Payment Gateways tab, then click the Connect with Stripe button.
This will take you to the Stripe website where you can log into your existing account if you have one or create a new account if you do not.
3. Webhook configuration
The Stripe payment gateway can automatically detect refunded purchases in your Stripe account. When a refund is detected, the corresponding purchase in EDD is also marked as refunded.
EDD creates a webhook for you, and you simply need to tell Stripe where it is. If webhooks are not configured properly or are blocked by a plugin or configuration of your site, this automatic refund detection will not function.
To add the appropriate webhook endpoints, in your Stripe dashboard go to Developer → Webhooks (direct link). We recommend creating two webhook endpoints: one for test mode and one for live mode. If you create both, you'll need to repeat the below process after toggling modes.
Click Add Endpoint, then add the following URL:
Note: Replace "example.com" with your actual site URL. The exact URL you need to enter can be found in your WP admin under Downloads → Settings → Payment Gateways → Stripe.
We recommend selecting "receive all events" as Easy Digital Downloads will need to use the same webhook endpoint to communicate with your site using features not yet released.
After you add the endpoint you will see the new URL listed in the webhooks settings.
Note: Your webhooks won't work out of the box in a local development environment like Vagrant, WAMP, MAMP, Desktop Server, or Local by Flywheel. These are typically non-publicly accessible IP addresses and Stripe can't reach them.
4. Recurring Payments Integration (Required to sell subscriptions)
Additional Settings / Features
There are additional settings and features detailed below.
Billing Address Display
This drop down field will allow you to select which billing details are collected. There are three options:
- Full address - This will result in a complete address form with street, city, country, state / province, and zip / postal code being displayed.
- Zip / Postal Code and Country only - This will result in a simplified address form being displayed that asks only for zip / postal code and country.
- No address fields - This will result in no address fields being displayed.
Billing address notes
- Taxes note: if you have taxes enabled, only the full address option may be used as those fields are required for accurately calculating taxation amounts.
- Fraud note: collecting a full billing address can help reduce fraudulent charges. It is recommended that minimum zip / postal code and country be collected.
A short description about the purchase will show up on the bank statement alongside the charge. See our Stripe - Statement Descriptor doc for details on how this works.
Apple Pay / Google Pay (Express Checkout)
See Stripe - Express Checkout (Apple Pay / Google Pay) for details on how to configure Express Checkout options.
Show Previously Used Cards
This saves card information so returning customers do not have to re-enter payment details. Note, card data is securely stored on Stripe's servers, not on your site.
Split Credit Card Fields
Combined field (default):
Restrict Stripe Assets
If you meet the Buy Now requirement, this will allow customers to checkout via a popup modal. For details on how this works, see our Buy Now Buttons documentation.
The official Stripe PHP library included in Easy Digital Downloads requires PHP 5.6 or higher.
Q: How do I remove the additional 2% fee from my Stripe transactions?
A: You will not incur an additional 2% fee from your Stripe transactions if you purchase a license to an EDD Extended (or higher) Pass or the individual Stripe Pro extension. The Stripe Pro extension must also be installed and activated.
Q: What features does the Stripe Pro extension have that the free version of Stripe in EDD does not?
A: Currently, the Stripe Pro extension adds the ability to accept pre-approved payments.
Q: Does the 2% fee apply to PayPal or Amazon Payments?
A: No, the 2% fee only applies to transactions processed through Stripe when using the free version of Stripe.
Q: Does the 2% fee apply to recurring Stripe transactions?
A: No, the 2% fee only applies to the initial transaction. If you’ve installed both our Stripe Pro and Recurring Payments extensions together (both included in our Extended (or higher) Pass, you will not incur this additional initial transaction 2% fee.
Q: Can I connect to my Stripe account manually using my Stripe API keys?
A: In the free version of Stripe, you must authenticate with Stripe via Stripe Connect. When using the Stripe Pro extension, you can manually authenticate with Stripe using your Stripe API keys if needed.
Q: Can I downgrade from Stripe Pro to Stripe Standard?
A: Yes, you can deactivate and delete the Stripe Pro extension and Stripe Standard will automatically take over. Log into your account to cancel your Stripe Pro subscription.