Benevolence can be set up to accept donations in two ways:
- using PayPal, where users are simply redirected to PayPal’s site to either log in with their PayPal account, or enter all of their details to complete the transaction;
- using Stripe, where users enter their card details on site, choose a donation frequency (one time, weekly, or monthly), their data is encoded and processed by Stripe, and the donation is completed without the user ever leaving your site.
Both of these methods require the site administrator to create an account with the respective provider, and are liable for charges, different for each provider. PayPal integration requires a PayPal Business Payments Standard or a PayPal for Charities account, which offers discounted per-transaction rates for 501c3 registered (US) or Charity Commission registered (UK) charities. Stripe requires a basic Pay As You Go account, and may offer discounts for non-profits. It’s important to check whether the payments provider operates in the country you operate in, what their charges are, and whether they offer any discounts for non-profits. Read about the countries PayPal is available in and the countries Stripe is available in.
If you use PayPal only, as all customer information is handled by them, you do not need to comply with Payment Card Industry Data Security Standards (PCI DSS) or purchase an SSL certificate. However, in the case of Stripe, you do need an SSL certificate. You can obtain one for free from Let’s Encrypt, or from commercial providers. Talk to your host about what they provide and whether they can help you install one.
Configuring payments
Once you’ve decided upon your payments processor (although you can use both PayPal and Stripe if you so desire), they can be set up in Theme Options → Payments Settings. This page is split into 3 tabs.
PayPal
To begin sign up for a PayPal Business Payments Standard account, and if you need to, tell PayPal you run a charity.
In Payments Settings → PayPal, switch the Enable PayPal setting to On.
To get your API keys, log into your PayPal account.
Navigate to My Account → Profile → My Selling Tools.
If you are presented with the new PayPal interface instead, click the Profile icon at the top of the page, followed by Profile and settings in the dialog that appears, and then My selling tools in the sidebar.
In the Selling online section, select Update under API access.
On the following page, click Request API Signature (or View API Signature if you have already generated this previously) in the NVP/SOAP API integration section.
On the Request API Credentials page, ensure Request API signature remains checked, read the API License Agreement and Terms of Use and click Agree and Submit.
Finally, on this page, click each of the Show links and copy the relevant piece of information into the Payments Options.
The only two things left to configure on the Payments Options screen are the return pages – the WordPress pages to which the user will be redirected to after a transaction, whether it was successful or not.
Set up two pages, called anything, with any content you like:
- The success page, which must use the PayPal Thank You! page template.
- The failure page, which doesn’t have to use any specific page template.
Return to Payments Options, and select the appropriate pages from the Success Return Page and Failure Return Page dropdown boxes.
That is it! PayPal donations are set up, and your users will be able to donate money from your cause pages.
Stripe
To get started, create a Stripe account and in Theme Options, set Enable Stripe in Payment Settings to On.
Once you’ve set up your Stripe account, head to API from left sidebar.
Copy over the Live Secret Key and the Live Publishable Key from this page into Payments Settings in Theme Options.
If you are simply testing the payments on your site, use the Test Secret Key and the Test Publishable Key instead of the Live keys. Using these, together with Stripe’s test card numbers, means no money will be taken or transferred during the testing. Just don’t forget to move to the Live keys before your site goes live!
Next, set up a page with any title and content, but the Stripe Thank You! page template. Select it from the Processing Page dropdown.
Finally, continue to the User Pages chapter of this documentation to set up other pages for Stripe.
Site Settings
These settings apply to both PayPal and Stripe payments.
- Minimum Donation Amount: For causes which allow users to enter custom donation amounts, this is the minimum amount above which payments will be accepted. Anything below this will automatically be rejected.
- Currency Code: Enter the type of currency you would like to receive payments in. Look on PayPal’s Currencies and Currency Code page or Stripe’s Supported Currencies by Country page for a list of available currencies and their related charges and enter it in this field.