Stripe is a well-respected international payment gateway with support for a large number of countries and currencies. With Stripe Premium and Give you can accept credit card donations with no fee, as well as Apple Pay, Google Pay, and iDEAL donations directly on your website easily and seamlessly.
Getting Started with Stripe and GiveWP
In order to accept payments with Stripe using GiveWP you need to have 4 things:
- An active Stripe account (or more than one)
- GiveWP installed and activated
- The Stripe GiveWP Add-on
- A valid SSL certificate
After your Stripe Add-on is activated, navigate to “Donations > Settings > Payment Gateways”. There you will see the default Payment Gateways (PayPal Standard, Test Payment, and Offline Donations). With the premium Stripe addon active, four additional options become available:
- Stripe – Apple Pay
- Stripe – Google Pay
- Stripe – iDEAL
- Stripe – Plaid
Connecting to Stripe
With the premium Stripe add-on, you can connect to Stripe in two ways: using Stripe Connect (also known as the “Blue button” method) as well as the API Key method.
Before connecting to stripe, every backend page in the WordPress Admin area displays a banner prompting your connect to Stripe:
Click the “Connect with Stripe” button. This will redirect you to Stripe and prompt you to either login to your Stripe account, or if you’re already logged in you’ll be able to connect immediately or choose from multiple accounts that you have access to.
You can also find this method of connection at “Donations > Settings > Payment Gateways (tab) > Stripe Settings (section) > Manage Accounts”.
Click the “Connect my Stripe account” button to connect with Stripe. Once clicked, you will be redirected back to your admin dashboard and you should see you now have been connected:
GiveWP is now connected to your Stripe account and ready to accept both live and test donations, but without the webhook configured correctly, donations won’t be marked as complete. See that section below.
API-key based Stripe Integration
A benefit of GiveWP’s premium Stripe addon is the option to connect using API keys, instead of the Stripe Connect method outlined above. This is an option for advanced users and developers who want to connect without the oAuth method outlined above.
When the premium add-on is activated, there’s an API Keys option which you can select to use to connect. First, you need to get your API keys from your Stripe account.
Obtaining Your Stripe API Keys
Log in to your Stripe dashboard and Navigate to Developers > API Keys
Integrating Your API Keys in Give
Leave the Stripe Dashboard open in one browser tab, and in a new tab go to your GiveWP-powered WordPress site and navigate to Donations > Settings > Payment Gateways > Stripe. Select the “API Keys” Connection Type to see the fields for adding in the API keys.
That’s all there is to it. Now when your donors come to your site, they’ll be able to use credit cards to donate to you directly in the currency of your country and not have to be redirected to another site.
Connecting Stripe and Your Webhook (required)
In order for donations to be marked as complete on your GiveWP site, you must configure the webhook at Stripe. On the settings page at Donations > Settings > Payment Gateways > Stripe the webhook URL is pre-populated on the page. Copy that to your clipboard for later use.
Click the link in the paragraph just above the webhook URL or navigate to:
On that page, click the “Add endpoint” button and paste in your webhook URL.
A modal will appear. In that modal choose “Latest API Version” in the version dropdown. Then, choose which endpoints are triggered by selecting “All events.” It’s not in the dropdown, but a text link in the white box.
If your webhooks are not fully configured, you may see donations pending on your admin Donations screen and you may not see certain donations reflected in GiveWP, such as renewals for subscriptions.
Donor and confirmation emails will not be sent if donations are marked with the Pending status. Emails are only sent when a donation is marked Complete.
Note: It is recommended to send all events over the webhook so that if Give is updated in the future to use any events that it currently does not, those will send as well. Unless your site is processing thousands of donations per day or more, you should have no issue with sending all events, and you can ignore the warnings from Stripe. Here are the events currently processed by GiveWP for both one-time and recurring:
In order to process test mode donations, you’ll need to repeat the same steps with Stripe’s dashboard toggled into test mode.
Disconnecting Stripe Connect
If for some reason you need to disconnect GiveWP from Stripe you can do so by clicking the “Disconnect” button found on the Manage Accounts tab. Disconnecting from Stripe will remove the ability to accept online donations until reconnected.
Disconnecting from Stripe will remove the connection between the website you are disconnecting as well as any other sites that you have connected to GiveWP using the same Stripe account and connect method. Proceed with caution when disconnecting if you have multiple sites connected.
When you activate the Stripe premium add-on, additional settings show up in the Stripe settings. The following section outlines settings that are added when you activate Stripe Premium. The free Stripe fields are discussed here in detail.
Frequently Asked Questions
Stripe itself always has it’s own credit card processing fees. If you are a 501(c)3 (or similar outside the U.S.) then Stripe can reduce your fees. Reach out to their support about that.
In addition to the Stripe credit card processing fees, our Stripe integration in the free GiveWP plugin includes a 2% commission charge. The paid Stripe add-on however does not include that charge.
If you are a GiveWP free user and using Stripe and seeing charges: purchase, install, and activate the Stripe Premium add-on and those additional charges will no longer be added to your future donations.
Yes. Previously, Stripe only required the webhook for recurring donations. Since the release of their “payment intents” system, the webhook is now required for both one-time and recurring donations so that GiveWP knows that the donation is complete.
Yes. They are two different gateways and both can be enabled and used side-by-side.
If you are seeing that you have many donations that are pending, but you have received funds through Stripe, your webhook has not been configured correctly. Seeing the webhook reflected in the Stripe Settings on WordPress is only the first step.
As of version 2.2.9 of the Stripe add-on, preapproval is no longer supported.