Business Accounts Router for GiveWP with PayPal Donations extends the GiveWP PayPal Donations gateway so that a single WordPress installation can accept donations through several PayPal Business accounts, automatically routing each transaction to the correct account based on the donor’s declared country.
This plugin is an independent, third-party extension. It is not affiliated with, endorsed by, or sponsored by GiveWP (StellarWP) or PayPal. The names “GiveWP” and “PayPal” appear here solely to describe compatibility with those products.
This plugin is designed for organisations that operate two or more legally distinct charity entities — for example a US 501(c)(3) and a Canadian CRA-registered charity — that share a single donation website but must process payments through separate PayPal accounts and issue separate tax receipts.
Key features:
- Multi-account admin panel — Add and manage any number of PayPal Business accounts under Donation Forms → PayPal Accounts. Each account stores legal entity details (name, tax ID, address, country) alongside AES-256-GCM encrypted API credentials.
- Country routing rules — Define which PayPal account and GiveWP form handles donations from each country. One active rule per country, fully configurable from the admin.
- Country selector popup — A donor-facing modal popup (shortcode
[ador_country_selector]) asks donors to identify their country before proceeding to checkout. Selection is stored in sessionStorage to avoid repeated prompts.
- Runtime credential routing — The plugin intercepts GiveWP’s IoC container at payment time, substituting the correct PayPal credentials transparently. No GiveWP core files are modified.
- Per-account webhook handling — Each PayPal account receives its own webhook endpoint (
/wp-json/ador/v1/webhook/{account_id}) with independent HMAC signature verification.
- Per-entity email tags — Seven GiveWP email template tags populate receipt emails with the correct legal entity name, address, tax ID, tax-deductibility statement, and a unique per-entity receipt number.
- PDF receipts — Optional on-demand PDF receipt download on the GiveWP success page, generated by dompdf.
- Security-first design — AES-256-GCM credential storage, nonce protection, capability checks, webhook signature verification, and
$wpdb->prepare() throughout.
External services
This plugin sends data to PayPal’s REST API to authenticate with PayPal Business accounts and to verify the HMAC-SHA256 signatures of inbound webhook events.
PayPal REST API (https://api-m.paypal.com, https://api-m.sandbox.paypal.com, https://api.paypal.com, https://api.sandbox.paypal.com)
- What is sent: PayPal Client ID and Client Secret (decrypted in memory at request time, never stored in plaintext) are exchanged for OAuth 2.0 bearer tokens during donation checkout. Webhook event payloads are forwarded to PayPal’s
/v1/notifications/verify-webhook-signature endpoint for signature verification.
- When it is sent: Only when a donation is being processed through a PayPal Business account configured in this plugin, or when PayPal sends a webhook event to this site.
- Service terms: PayPal User Agreement | PayPal Privacy Statement