How to Accept Online Donations with Stripe

Stripe has become one of the most popular online payment processing platforms. Luckily for nonprofits, accepting Stripe donations with Give is startlingly easy.
Stripe Donations

Stripe has become one of the most popular online payment processing platforms. Luckily for nonprofits, accepting Stripe donations with Give is startlingly easy and comes with no up-front costs.

This tutorial will walk you through the features of our most popular payment gateway including how to connect to Stripe, configure the various settings for Stripe and Give, and how to test Stripe donations using test cards.

Step 1: Register for Stripe and Get GiveWP

Before you can start accepting Stripe donations with Give, you will need to have a few things set up in advance.

The first step is to make sure your organization is eligible for a Stripe account. Sign up for free on their website before continuing if you haven’t already.

Register for Stripe

You will also need the main Give donation plugin for WordPress. It comes with a built-in Stripe Gateway and no up-front costs. We also have a premium add-on with more features to enhance Stripe donations your Give-powered site. The add-on is included in our Pricing Plans and can also be purchased individually.

View Plans Stripe Add-on

There are a few differences between the free Stripe gateway and the Stripe Payment Gateway add-on. If you’re not sure which you should use, check out the documentation.

Step 2: Integrate Stripe with Give

Once you’ve signed up for Stripe and chosen to use the add-on or the core gateway, you need to connect your account.

Here’s a video walk-through of how to use Stripe donations with Give, followed by a written explanation:

Connect to Stripe

No matter which method you choose, the add-on or the core gateway, you can connect to your Stripe account easily with the blue Stripe connect button. To find it, navigate to Donations > Settings > Payment Gateways (tab) > Stripe settings (link).

Connect by selecting the blue Stripe Connect button in the Stripe settings.

If you prefer to use your API key from Stripe the you will need the Stripe Add-on. Then, go to Donations > Settings > Advanced (tab) > Stripe (section) to enable API keys. Save that, then navigate back to the Stripe settings to insert the API keys copied from Stripe.

Configure Settings

For the purposes of this tutorial, we’re going to get you up to speed as fast as you can to accept tests and live donations via credit card using the free Stripe gateway. If you need additional information about the add-on, you can read more about it in our documentation.

To access your Stripe settings, go to Donations > Settings > Payment Gateways (tab) > Stripe Settings (link).

First, find the webhook listed on the page just below where you connected your Stripe account.

The URL listed for your stripe webhook is your website domain with "/?give-listener=stripe" added on at the end.

Copy the URL listed and go to your Stripe account dashboard. Find the “Developers” link in the menu and navigate to the “webhooks” section. Choose “Add Endpoint” and select the latest API version as well as the option to receive all events.

Paste the URL you copied from your WordPress Dashboard into the Endpoint URL field.

This setup allows your website to properly communicate with your website to mark a donation complete.

Now, go back to your WordPress dashboard on your website to the Give Stripe Settings. Make sure that the “Statement Descriptor” is something that your donors will instantly recognize. The only time they are going to see it is in the context of a card or bank statement, so avoid being cute or clever. It’ll go a long way toward also avoiding charge-backs and fraud complaints.

You can use the rest of the default settings to immediately begin accepting donations, or configure each individually. Once your settings are in place, all you need to do is save them. Then, enable the gateway using the checkbox on the main Payment Gateways settings section. Now you can choose Stripe as the default payment gateway for your donation form!

Activate the Stripe payment methods in your global Payment Gateway settings

Step 3: Create Your Donation Form

If you don’t already have a donation form set up to use with your Stripe Gateway, create one now. If you need help learning how to set up a donation form, visit our documentation.

Activating Stripe in the global payment gateway settings will automatically turn on Stripe as a possible gateway for all your existing forms.

Step 4: Test Your Stripe Donations

Before accepting live donations with Stripe, it’s imperative that you use Give’s Test Mode to test the procedure and account for all possible outcomes. Read more about Test Mode in the documentation.

Connecting to Stripe using the blue button on the Give dashboard means that by default you are set up for both Test Mode and live donations. To test, toggle Give into Test Mode by going to Donations > Settings > Payment Gateways and activating “Test Mode.”

Give Test Mode activates a yellow alert at the top of your Dashboard.

To test a successful donation, use the following cards:

4242 4242 4242 4242 (use any 3 digit CVC and an expiration date in the future).

To test unsuccessful donations (where Stripe returns an error), use these card numbers:

4000 0000 0000 0127 Charge is declined with an incorrect_cvc code.

4000 0000 0000 0069 Charge is declined with an expired_card code.

4000 0000 0000 0119 Charge is declined with a processing_error code.

You can also find more test numbers in the Stripe documentation.

Once you’ve successfully tested Stripe from Give’s side, you can also go and check how the information is handled on Stripe’s side. Simply head to dashboard.stripe.com and log in.

Be sure to toggle the Stripe Dashboard into Test Mode using the toggle on the left-hand column. If you don’t activate this feature, you will not see your test donations from Give.

Stripe Dashboard Screenshot
Make sure you can see test payments in your Stripe dashboard.
If you use Form Field Manager to collect additional information on the donation form, that data will be added as payment metadata in your Stripe database.

Step 5: Going Live

Once you’ve configured and tested Stripe, all that’s left is toggling Give into Live Mode by disabling Test Mode. This enables your forms to accept donations with the Stripe payment gateway using active credit cards.

As a security feature, Stripe fields will not display on a form that is in Live Mode but not secured with an SSL certificate. See our tutorial on SSL for more information.

That’s it! You’re ready to accept Stripe donations!

If you need any of the tools and resources mentioned above, you can find them in the Stripe (free) documentation. If you’re looking for more Stripe gateway features, they’re available with the add-on.

Activating the Stripe add-on enables you to use Google Pay, Apple Pay, Stripe + Plaid, and Stripe iDEAL.


View the Give Stripe Add-on

Liked what you read?

We have a lot more where that came from! Join 15,197 subscribers who stay ahead of the pack.

Share this post

Share on facebook
Share on twitter
Share on linkedin

You might also like

13 Responses

  1. Hi,

    Give is a great plugin and I do want to swap it out for Woocommerce, but I cannot find any support to integrate MPGS (Master Payment Gateway System) while Woocommerce has plenty of integrations with MPGS.
    I have contacted your support page as well, but received no response.
    Do you have any such add on ? Can you develop it ? I am willing to pay for it.

  2. Question: So you have Stripe all connected and working. Where does the donation money go? Do you link to your bank account? Does Stripe work similar to PayPal and do a direct deposit to checking on a regular basis?

  3. Hi! I see in the comments above and from the other tutorials in this site that the money should automatically transfer to bank account after the donation is made via Stripe. But, we had a donation that was made and the status moved from “pending” to abandoned. What does this mean?

        1. Strange – keep an eye on it. It could’ve happened due to your site being inaccessible for a certain amount of time or another similar reason. You can update the payment status manually in GiveWP for now.

    1. Hi Dan, that’s part of why we built GiveWP, so you don’t have to worry about all of that. But the strength of Stripe as a payment gateway solution is how excellent their developer tools are. See their PHP API reference here for all the information you need:

      But… consider using GiveWP first instead. Our free version let’s you get up and running with Stripe on your WordPress website in 5 minutes or less. Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

Share on facebook
Share on twitter
Share on linkedin

Like what you're reading?

Subscribe and stay ahead of the curve.