NGO OS Embed puts your GiveSetu case, campaign, donation-form, donor-portal and receipt-verification pages inside your own WordPress site, through shortcodes or the block editor. Donation forms, payments, receipts and 80G certificates all run on the GiveSetu platform — no donor data is copied into WordPress.
Licensed GPLv2 or later. Requires WordPress 6.0+ and PHP 7.4+.
ngo-os-embed folder to /wp-content/plugins/, or use Plugins → Add New → Upload Plugin.The plugin shows nothing to visitors until this site is connected to your GiveSetu account. No account yet? Start a free trial.
Secrets are stored encrypted with a key derived from your site’s AUTH_SALT and are never shown again. Changing AUTH_SALT invalidates them — re-enter them afterwards.
| Shortcode | What it renders |
|---|---|
[ngoos_case slug="..."] | A full case page — story plus donate form |
[ngoos_campaign slug="..."] | A full campaign page |
[ngoos_cases] | A card grid of cases; type="campaigns" for campaigns. Add category="..." to filter |
[ngoos_browse] | Cases and Campaigns tabs together |
[ngoos_form type="contact"] | An enquiry form; also csr and volunteer |
[ngoos_profile_icon] | The donor profile icon, for placing yourself |
The same things exist as the NGO OS Embed and Profile icon blocks in the block editor. Elementor users: add a Shortcode widget and paste from the Shortcode builder tab.
Create selected pages in Setup publishes Browse, Contact, CSR, Volunteer, Donor Portal and Verify a Receipt pages. Every case and campaign also gets its own page automatically. Purge your caching plugin after creating pages or changing URL bases.
Register https://your-site/wp-json/ngoos/v1/webhook in GiveSetu under Settings → Integrations → Webhooks, and paste the signing secret into Setup. GiveSetu then posts DONATION_SETTLED and RECEIPT_ISSUED events; each carries an HMAC-SHA256 signature the plugin verifies with a constant-time comparison. Until a secret is saved the receiver answers 503.
Sync now on the NGO OS dashboard pulls recent receipts and donations. The mirrored table holds ids, numbers, amounts and timestamps only — never donor names or contact details — and is dropped on uninstall.
Off by default. Under NGO OS → Donor Profile, enable it and pick a primary colour; your Donor Portal page then shows sign-in, profile, donations, 80G certificates, subscriptions and membership. The portal talks only to your own site, which forwards each request to GiveSetu server-side — donors’ tokens stay on your server and the browser keeps only an HttpOnly session cookie.
What the Setup screen tells you, and what to do about it.
| Message | What it means |
|---|---|
| Not connected | No credentials saved yet. Use Connect with GiveSetu, or enter the API base URL, client ID and secret manually. |
| Connection not verified | Credentials are saved but unchecked. Press Save & verify connection. |
| Stored credentials cannot be read | Your site’s AUTH_SALT changed, usually after a migration. Re-enter the client secret and webhook secret. |
| No donate domain selected | Connect first; the domain is then chosen from your organisation’s verified domains. |
| Donate domain does not belong to this organisation | The saved domain is not one GiveSetu returned for your account. Pick one from the list in Setup step 2. |
| Plan does not include the WordPress plugin | Upgrade the plan in GiveSetu, then verify the connection again. |
| Origin or IP not allowed | Add this site’s address, and its server IP if you use the IP allow-list, under Allowed Origins & IPs on the integration client. |
| Missing a permission / invalid scope | The integration client lacks a scope the plugin asked for — for the donor portal, DONOR_AUTH. Press Reconnect in Setup. |
| Connection code expired | The one-time code was used or timed out. Press Connect with GiveSetu again. |
| Temporarily unavailable | GiveSetu is in maintenance or your account is restricted. Nothing to change here; try again shortly. |
| embed.js did not load | The donate domain is unreachable from the visitor’s browser, or a caching or security plugin is blocking it. Check the domain in Setup step 2 and purge caches. |
Define any of these in wp-config.php; each has a matching filter.
NGOOS_EMBED_DEFAULT_API_URL — the GiveSetu API originNGOOS_EMBED_DEFAULT_APP_URL — the app origin used by one-click ConnectNGOOS_EMBED_DEFAULT_DOCS_URL — where in-admin help links pointNGOOS_EMBED_TRIAL_URL — where Start a free trial pointsFilters for extending behaviour: ngoos_embed_item_url,ngoos_embed_manifest_ttl, ngoos_embed_webhook_tolerance.
GiveSetu Privacy Policy · GiveSetu Terms of Service
Email: support@govindaniit.org
Phone: +91 92019 58274