Dude Patron — User Guide
This guide is for
site owners and administrators who accept support with
Dude Patron. It explains setup, the support form, checkout, public listing, and day-to-day use. Current product version:
1.0.0.
What Dude Patron does
Dude Patron lets you:
- Accept one-off support via Stripe Checkout (payment happens on Stripe’s pages, not inside WordPress).
- Offer suggested amounts and an optional custom amount.
- Show an optional public patron list for people who consent.
- With Pro, accept weekly, monthly, or annual patronage (you choose one interval for the site) and let patrons manage billing in the Stripe Customer Portal.
You do
not need WooCommerce, a membership plugin, or a charity CRM. There is no shopping cart—each checkout is one contribution.
Requirements
| Requirement |
Minimum |
| WordPress |
6.5+ |
| PHP |
8.1+ |
| Stripe account |
Required for paid checkouts |
| HTTPS |
Strongly recommended for live payments |
Paid checkouts use
Stripe Checkout only. Card data is never stored on your WordPress site.
Installation
- Install Dude Patron from the WordPress plugin directory (when available), or upload the plugin ZIP under Plugins → Add New → Upload Plugin.
- Activate the plugin.
- In the admin sidebar, open Dude Patron.
On first use you may see a Freemius opt-in screen. You can skip it—the free plugin works without a licence. A Pro licence (purchased separately) unlocks recurring patronage and extras described
below.
Quick start (about five minutes)
- Connect Stripe — Dude Patron → Settings → Stripe. Add your Stripe test publishable and secret keys, leave Test mode enabled, and click Save and test Stripe connection. See Connecting Stripe.
- Webhooks — Add a Stripe webhook endpoint (Test mode) pointing at your Dude Patron webhook URL and paste the signing secret. See Webhook endpoint.
- Add the form — Edit a page → insert the Dude Patron block (or
) → Publish.
- Test — Open the page in a private/incognito window. Use Stripe test card
4242 4242 4242 4242 with any future expiry and CVC.
| Screen |
Purpose |
| Patrons |
Contribution list; search; show or hide a patron on the public list |
| Settings |
Stripe, form, emails, appearance, logging, tools, system status (Integrations tab is Pro) |
| Logs |
Diagnostic log (only if enabled under Settings → Logging) |
| System status |
Environment checks when troubleshooting (also a Settings tab) |
Administrator capability (
manage_options) is required for these screens.
Connecting Stripe
Dude Patron uses
manual API keys from your Stripe Dashboard.
Test mode (recommended first)
- In Stripe Dashboard, enable Test mode (toggle in the dashboard).
- Go to Developers → API keys and copy the Publishable key and Secret key (test).
- In WordPress, open Dude Patron → Settings → Stripe.
- Enable Use Stripe test keys (Test mode).
- Paste keys into Test publishable key (
pk_test_…) and Test secret key (sk_test_…). Do not paste a pk_ key into the secret field.
- Click Save and test Stripe connection. In test mode this also probes inbound webhooks. You should see a success message when keys and webhooks are healthy.
Keys show
masked placeholders after saving so you can confirm the correct keys are stored. Leave a field blank when saving to keep the existing value.
Webhook endpoint (live sites and reliable local testing)
Stripe notifies WordPress when a payment succeeds. The plugin shows your webhook URL on the Stripe settings tab:
https://YOUR-SITE/wp-json/dude-patron/v1/webhooks/stripe
This is
not the same URL as Dude Paywall, Dude Downloads, or Dude Donations. Each plugin needs its own Stripe webhook endpoint and signing secret.
On a public live site:
- In Stripe: Developers → Webhooks → Add endpoint (use the same Test / Live mode as the plugin).
- Paste the URL above.
- Subscribe to only these events (do not select all events):
checkout.session.completed
checkout.session.async_payment_succeeded
checkout.session.async_payment_failed
checkout.session.expired
charge.refunded
- If you use Pro recurring patronage, also subscribe to:
customer.subscription.updated
customer.subscription.deleted
invoice.paid
invoice.payment_failed
- Copy the Signing secret (
whsec_…) into Test webhook secret or Live webhook secret in plugin settings (matching test vs live mode).
On Local WP or other offline dev sites: Stripe cannot reach your machine. Either use the
Stripe CLI to forward events to the webhook URL, or enable
Allow test-mode confirmation without inbound webhooks — see
Troubleshooting.
Going live
- Complete Stripe account activation and switch the Dashboard to Live mode.
- In plugin settings, disable Test mode and enter Live publishable, secret, and webhook signing secrets.
- Create a Live webhook endpoint with the same URL and events; paste the live
whsec_….
- Do not rely on local “confirm without webhooks” on production—live sites must use webhooks.
- Run a real small-value contribution to confirm records and email delivery.
Place the form on a normal WordPress page (about, support, footer — wherever you want it).
| Method |
How |
| Gutenberg |
Insert the Dude Patron block |
| Classic / builders |
|
Optional shortcode attributes (otherwise Settings → Form is used):
Default currency, suggested amounts, custom amount, headline, description, and button text are set under
Dude Patron → Settings → Form.
Public patron listing
Visitors can tick
You may list my name publicly as a patron. Only those who consent appear on the public list.
Emails and amounts are never shown.
| Method |
How |
| Gutenberg |
Insert the Our Patrons block |
| Classic / builders |
No patrons have chosen to be listed yet.
|
Optional:
Our patrons
No patrons have chosen to be listed yet.
From
Dude Patron → Patrons you can
Show on public list or
Hide from public list for any contribution.
What your visitors experience
- Visitor sees the form (amounts, name, email, optional public name and listing consent).
- They submit and are redirected to Stripe Checkout.
- If Stripe Tax is enabled, Checkout collects a billing address and shows calculated tax before payment.
- After payment, Stripe returns them to your thank-you page (or the default success screen).
- When the webhook confirms payment, the contribution is marked complete and they receive a thank-you email (if mail is working).
If confirmation is still pending for a few seconds, the return page may wait for the webhook. On Local test mode, use local payment confirm when enabled.
With
Pro, the form also offers one-off vs your chosen recurring interval. Recurring patrons can manage billing in the Stripe Customer Portal.
Cancelled checkout
If the visitor abandons Stripe Checkout, they return without a completed contribution and no payment is taken.
Patrons
Dude Patron → Patrons lists contributions.
- Search by name or email.
- See type (one-off or recurring), amount, status, and whether they appear on the public list.
- Pro: export the list as CSV from the admin tools provided with Pro.
Contribution statuses
| Status |
Meaning |
pending |
Checkout started; payment not yet confirmed |
completed |
Paid |
failed |
Payment failed |
expired |
Checkout session expired without payment |
refunded / partially_refunded |
Refund recorded from Stripe |
Settings reference
Stripe
- Test mode — Use test API keys and test webhooks.
- Allow test-mode confirmation without inbound webhooks — Test mode only. Do not use on production.
- Stripe Tax — Enable tax collection, then set price tax behaviour (exclusive or inclusive). Requires Tax registrations in the Stripe Dashboard.
- Webhook URL — Copy into Stripe Dashboard (Patron URL, not Paywall or Downloads).
- API keys / webhook secrets — Leave blank when saving to keep the stored value (masked placeholders).
- Save and test Stripe connection — Verifies keys; in test mode also probes inbound webhooks.
- Currency, headline, description, button text.
- Suggested amounts — Comma-separated major units, e.g.
5, 10, 25.
- Custom amount — Let visitors enter another amount.
- Minimum amount.
- Success / cancel pages — Optional pages after Checkout.
- One-off thank-you copy — Shown after a successful one-off contribution.
- Recurring interval and recurring thank-you copy — Used when Pro recurring patronage is active. You pick one interval (weekly, monthly, or annual). Visitors choose one-off or that cadence — not multiple plans.
Emails, appearance, logging
- Emails — Admin notification when a contribution completes, from name/address. Pro: custom thank-you and patron email templates.
- Appearance — Optional form button background and text colour.
- Logging — Log level, retention, optional Logs submenu, and Delete plugin data on uninstall (use with care).
- Tools — Webhook URL and the Stripe events to subscribe to. Pro: outgoing webhook test and delivery log.
- System status — Plugin version, Stripe mode, webhook health. Never paste secret keys into a support ticket.
Outgoing webhooks (Pro)
Send signed JSON events to automation tools (Make, n8n, Zapier, custom URL). Configure under
Settings → Integrations; use
Tools to send a test and view delivery logs.
Dude Patron Pro
Pro is a separate package licensed through Freemius. The free plugin includes
unlimited one-off contributions, Stripe Checkout, suggested and custom amounts, public listing, inbound Stripe webhooks, and the patrons list.
Pro adds:
| Feature |
Benefit |
| Recurring patronage |
One site-wide interval: weekly, monthly, or annual. Same form as one-off support |
| Stripe Customer Portal |
Patrons update payment method or cancel billing |
| Outgoing webhooks |
Automate CRM, email tools, or internal systems |
| CSV export |
Export contributions |
| Custom thank-you emails |
Control supporter and recurring-patron email copy |
| Admin REST API |
Integrate with external tools |
Activate Pro from
Dude Patron → Account (Freemius) after purchase.
Email delivery
Thank-you and notification emails are sent with WordPress’s
wp_mail(). If people do not receive mail:
- Install and configure an SMTP plugin (common on shared hosting).
- Check spam folders.
- Confirm Settings → General site email is valid.
- On local dev, use a mail catcher (e.g. Mailhog) or an SMTP relay.
Troubleshooting
“Connected to Stripe” fails
- Confirm you copied the full secret key (
sk_test_… or sk_live_…), not a publishable pk_ key.
- Ensure test vs live keys match the Test mode checkbox.
- Check PHP can make outbound HTTPS requests (firewall, hosting restrictions).
Payment succeeded in Stripe but contribution stays pending
- Webhook not configured, wrong mode (Test vs Live), or wrong signing secret for this endpoint.
- Webhook URL must be the Patron URL (
…/dude-patron/v1/webhooks/stripe), not Paywall, Downloads, or Donations.
- Webhook URL must be publicly reachable (not
localhost without CLI forwarding).
- Open Patrons—if status is still
pending, the webhook did not complete.
- On local test mode: enable confirm-without-webhooks on the Stripe settings tab.
- Hosting firewall / CDN: allow Stripe POSTs to
/wp-json/dude-patron/.
- Confirm the Dude Patron block or
is on the published page.
- If you used a page builder, place the shortcode in an HTML or shortcode widget.
Tax is £0.00 or “Enter address to calculate”
- Confirm Stripe Tax is enabled in plugin settings and you have active Tax registrations in Stripe Dashboard → Tax for that mode (test vs live).
- The buyer must enter a billing address on Checkout.
Need technical details for support
Open
Dude Patron → Settings → System status and note plugin version, webhook URL, whether the webhook secret is configured, and last webhook received time. Share WordPress/PHP versions and test vs live mode—
never paste secret keys.
Privacy and external services
- Stripe processes payments under Stripe’s terms and privacy policy.
- Freemius (optional opt-in / licensing) may collect usage data per their policy when you connect an account. See Freemius privacy.
- Name and email are stored with contributions for fulfilment and admin visibility. Public listing shows a display name only, and only with consent.
- WordPress Tools → Export Personal Data / Erase Personal Data includes Dude Patron records.
Frequently asked questions
Do I need WooCommerce?
No. Dude Patron is standalone.
Is this a membership or charity plugin?
No. It is not a membership platform, charity CRM, or fundraising suite.
How is this different from Dude Donations?
Dude Donations is for campaigns and donation targets. Dude Patron is a simple support form for your site. Recurring support is Pro on Patron, not a second Donations product.
Do supporters need a WordPress account?
No. They enter a name and email on the form.
Can I offer weekly, monthly, and annual plans at once?
No. Pro uses
one interval for the whole site. Visitors choose one-off or that cadence.
Where is card data stored?
On Stripe’s servers only, not in WordPress.
Does the plugin calculate VAT / sales tax?
No. Optionally enable
Stripe Tax so Stripe calculates and collects tax from the buyer’s location. Register jurisdictions in the Stripe Tax dashboard.
Does it work with page builders?
Use
and
No patrons have chosen to be listed yet.
in an HTML or shortcode widget.