Fundations includes a built-in PayPal Checkout integration for accepting donations. Sandbox (test) and live modes are both supported. PayPal is the only payment gateway included in the free plugin. Mollie and Stripe require Pro.

Why use this
PayPal is a widely recognised payment provider with low friction for donors. The free integration covers the most common use case: one-time donations via PayPal Checkout, without requiring a Pro licence.
What it does
When a donor selects PayPal and submits the donation form:
- The plugin creates a pending donation record.
- It calls PayPal’s Orders API to create a payment order.
- The donor is redirected to PayPal to authorise the payment.
- PayPal sends a webhook to
/wp-json/get-fund/v1/paypal-webhookto confirm payment. - The plugin marks the donation as paid, updates raised amounts, and sends the confirmation email.
- The donor is redirected to the thank-you page.
API modes
| Mode | API endpoint |
|---|---|
| Sandbox (test) | https://api-m.sandbox.paypal.com |
| Live | https://api-m.paypal.com |
How to use it
- Create a PayPal Developer application at developer.paypal.com to get API credentials.
- Go to Fundations > Settings > Payments > PayPal.
- Enter your Client ID and Secret for both sandbox and live modes.
- Enter your Webhook ID (obtained from the PayPal developer dashboard after registering the webhook URL).
- Set the mode to Sandbox for testing or Live for production.
- Click Test Connection to verify the credentials.
- Register the webhook URL
{your-site}/wp-json/get-fund/v1/paypal-webhookin the PayPal developer dashboard. - Save settings.

Settings and options
| Option key | Default | Description |
|---|---|---|
get_fund_paypal_test_mode | true | Enable sandbox mode |
get_fund_paypal_test_client_id | (empty) | Sandbox Client ID |
get_fund_paypal_test_secret | (empty) | Sandbox Secret |
get_fund_paypal_test_webhook_id | (empty) | Sandbox Webhook ID |
get_fund_paypal_live_client_id | (empty) | Live Client ID |
get_fund_paypal_live_secret | (empty) | Live Secret |
get_fund_paypal_live_webhook_id | (empty) | Live Webhook ID |
What you can and cannot do
The free integration supports one-time donations via PayPal Checkout. Sandbox mode is available for testing before going live, and the connection can be verified from the settings panel.
Recurring and subscription donations are disabled globally in the free plugin. Mollie and Stripe require Pro.
Troubleshooting
Donations are not confirmed after PayPal payment
The webhook URL must be publicly accessible. Check that /wp-json/get-fund/v1/paypal-webhook returns a 200 response. Common blockers: server firewall, basic HTTP auth on staging sites, or security plugins blocking REST endpoints.
Test connection fails
Verify the Client ID and Secret are copied correctly from the PayPal developer dashboard. Confirm the mode matches (sandbox credentials with sandbox mode enabled).
Donor is redirected back but donation still shows as pending
The webhook has not fired or was rejected. Check the PayPal developer dashboard webhook delivery log for errors. Verify the Webhook ID matches the webhook registered in PayPal.
Sandbox works but live does not
Confirm live mode is enabled (get_fund_paypal_test_mode set to false), live credentials are entered, and the live webhook ID is registered under the live PayPal application (not the sandbox app).