BACK TO DIRECTORY

Rosterkeeper for Clubs

by Brian Raines

0.0
(0 ratings)

Rosterkeeper for Clubs gives a club a full membership back office inside WordPress:

  • A custom member roster (name, address, phone, email, emergency contact, expiration date) with a configurable, unique, sequential member number.
  • An admin screen to add, edit, search, sort, and bulk-delete members.
  • CSV import, with column mapping so it adapts to whatever spreadsheet you already have — fully functional: creates new members, and updates existing ones when a row’s member number already matches. CSV export, and the option to choose skip-vs-update behavior per import, are available with the optional Pro upgrade described below.
  • A public [rkfc_roster] shortcode showing a sortable, searchable member directory, with configurable display rules for expired members and an admin-selectable choice of which fields appear as columns.
  • Online joining and renewal via two front-end forms ([rkfc_join_form] and [rkfc_renew_form]), each collecting the required info, a waiver/terms acceptance, and then payment through PayPal, Stripe, or both (see below). A successful, server-verified payment automatically creates or updates the member’s roster record — no manual data entry required.
  • Two ways to pay, your choice. Offer PayPal, Stripe, or both, and let members pick. Stripe lets members pay by card, Apple Pay, or Google Pay on a secure payment page run by Stripe, so card details never touch your website. Each club uses its own PayPal and/or Stripe account; payments go straight to it.
  • A self-service “update my info” form ([rkfc_update_profile]) that lets a member update their own contact info without any admin involvement — secured by emailing a one-time link to the address already on file, so one member can never look up or edit another’s record.
  • A “resend my welcome email” form ([rkfc_resend_welcome]) so a member can trigger the configurable welcome email again by looking themselves up with member number + last name — no data exposure since it only resends an email, with a short cooldown to prevent repeated resends to the same person.
  • A choice of three membership-year models, configurable from Settings: fixed season (a defined membership year with an independently configurable in-season/off-season pricing window), rolling (a single flat annual fee, always expiring exactly one year from the join/renewal date), or free (no fee and no PayPal step at all — visitors still complete the join/renewal form and agree to the waiver/terms).
  • A “Join Requests” log for troubleshooting online payments. Bulk “Email Members” is available with the optional Pro upgrade described below.
  • A manual “Send Renewal Notice” button next to each member in the admin list (with a “Last Notified” column so you can see at a glance who’s already been nudged), for a one-off configurable renewal reminder — real troubleshooting value on its own (e.g. a member says a notice went to spam), and every send is recorded on its own Renewal Notice Log page with CSV export. Want this fully automatic instead — up to four notices per member, timed automatically before and after expiration, running hands-off in the background? That’s what the optional Pro upgrade adds.
  • Every club-specific label (the member number’s name, the club’s name used in payment descriptions and the waiver heading, the waiver/terms text itself) is editable from Settings — nothing requires touching code.
  • Optional Pro and Pro+ upgrades (see “Free, Pro, and Pro+” below) add CSV export, the choice of skip-vs-update behavior per CSV import, a Merge Supplemental Data tool, the bulk email tool, and fully automated multi-notice renewal reminders. The free plugin includes a real, fully-functional CSV import with no restrictions (see above); Email Members is a Pro tool, showing a brief upgrade message on the free tier in its place.

Free, Pro, and Pro+

Free (this plugin): the complete membership back office described above — roster, admin management, CSV import, online join/renewal with PayPal or Stripe (cards, Apple Pay, Google Pay), the public roster, member self-service forms, and manual renewal notices.

Pro: everything in Free, plus CSV export, per-import skip-vs-update control, the Merge Supplemental Data tool, bulk Email Members, and fully automated renewal reminders (up to four notices per member, timed before and after expiration, with a send log).

Pro+: everything in Pro, plus:

  • An event calendar. Add club events (dates, times, location, map link, cost, RSVP link, category) from a new Events section, then show them on any page with the [rkfc_events] shortcode: a running list grouped by month, with a “View Past Events” archive. Events move into the archive automatically once they end. They work under any WordPress theme.
  • A document library for PDF newsletters, meeting minutes and other files. Add them one at a time or move a whole backlog over at once with Bulk Upload, which guesses each date and title from the file name. Files are filed into categories, and each category gets its own page (made with one click) that lists them by year and month, with a search box. Show it with the [rkfc_documents] shortcode. To keep a page private, protect it with a WordPress page password; that protects the page, not the PDF files themselves, so PDFs uploaded here get a random ending on their web address to keep links from being guessed.
  • The Club Site Starter theme, a quick-start theme for volunteer clubs with a guided setup wizard for your logo, color palette, fonts, hero image, and home page, so your club’s site is personalized in minutes. Install it from Club Members > Site Theme. The theme loads the fonts you choose from Google Fonts.

Pro and Pro+ are purchased from within the plugin (Club Members > Upgrade). After you upgrade, WordPress installs the Pro version of this plugin for you in place of the free one — your members, settings, and shortcodes carry over unchanged, and there is nothing to download by hand. Pro includes a 7-day free trial with no payment required. Pro+ has no free trial, but is covered by the same money-back guarantee as Pro. Free never stops working and has no usage limits; nothing in it is time-limited or nagware.

Membership Year Models

Fixed Season: choose a season-start month and day (e.g. April 1) — this governs when membership years begin and expire (memberships always expire the day before the next occurrence of that date, e.g. March 31). Separately, an independently configurable In-Season Window (a start month and end month, which can wrap around the year) determines which months use the In-Season Fee versus the Off-Season Fee — this doesn’t need to align with the season-start date at all, so pricing can match your club’s actual activity season regardless of your fiscal year.

Rolling: a single flat fee, no seasonal split. Every membership expires exactly one year from whenever it was purchased or renewed, with no fixed fiscal year.

Free: no fee is charged and the PayPal payment step is skipped entirely for both [rkfc_join_form] and [rkfc_renew_form]. Visitors still complete the full form and must agree to the waiver/terms — membership is required, it’s just free. Dated the same way as Rolling (one year from signup/renewal).

Switching models only affects new signups/renewals going forward; it never retroactively changes any expiration date already on file.

External services

This plugin connects to PayPal’s API to process membership payments for the online join and renewal forms ([rkfc_join_form] and [rkfc_renew_form]). This only happens when a visitor actively submits one of those forms and proceeds to pay — it does not run in the background or on any other page.

What is sent, and to whom:

  • When a visitor clicks the PayPal button, the plugin’s server creates a PayPal order via PayPal’s REST API (api-m.paypal.com for live transactions, api-m.sandbox.paypal.com in Sandbox/testing mode), sending the membership fee amount and a random, non-identifying reference token.
  • The visitor’s browser then loads PayPal’s own Checkout JavaScript SDK directly from PayPal (https://www.paypal.com/sdk/js) to complete the payment on PayPal’s site.
  • After the visitor approves payment, the plugin’s server calls PayPal’s API again to capture (finalize) the transaction and confirm it succeeded, before creating or updating the corresponding member record.

No member contact information (name, address, email, etc.) is sent to PayPal by this plugin; only the payment amount and an anonymous reference token are sent as part of the order. PayPal’s own checkout process, once the visitor is on PayPal’s site, is governed entirely by PayPal’s own privacy policy and terms of service:

  • PayPal Privacy Policy: https://www.paypal.com/us/legalhub/privacy-full
  • PayPal User Agreement: https://www.paypal.com/us/legalhub/useragreement-full

A site administrator must configure their own PayPal API credentials (Client ID and Secret) under Club Members > Settings for this feature to function; it does nothing with PayPal until that’s done.

This plugin can also connect to Stripe’s API to process the same membership payments, as an alternative or addition to PayPal. This is off by default and only runs once a site administrator turns on Stripe and saves their own Stripe secret key under Club Members > Settings > Stripe, and then only when a visitor actively chooses to pay by card, Apple Pay, or Google Pay. What is sent, and to whom:

  • When a visitor clicks the card button, the plugin’s server creates a Stripe Checkout Session via Stripe’s REST API (api.stripe.com), sending the membership fee amount, a description (the club name plus “Membership” or “Membership Renewal”), and a random, non-identifying reference token.
  • The visitor’s browser is then sent to a payment page hosted by Stripe (checkout.stripe.com) to pay. Card, Apple Pay, and Google Pay details are entered only there and never reach your website.
  • After payment, the plugin’s server asks Stripe’s API to confirm the payment before creating or renewing the member record. If the site administrator also sets up the optional webhook, Stripe’s servers call a URL on your own site to confirm payments, and that call is checked against a signing secret.

No member contact information (name, address, email, etc.) is sent to Stripe by this plugin. Whatever the visitor enters on Stripe’s own payment page is governed by Stripe’s terms and privacy policy:

  • Stripe Services Agreement: https://stripe.com/legal/ssa
  • Stripe Privacy Policy: https://stripe.com/privacy

This plugin also includes the Freemius SDK, which provides the optional Pro licensing, trial, and upgrade features. The SDK does nothing until a site administrator chooses to opt in on the Freemius screen shown after activation; you can skip it and continue using the free plugin normally. If you opt in, Freemius receives basic diagnostic and account information: your WordPress admin’s name and email address, the site’s URL and title, WordPress, PHP, and plugin versions, the plugin’s active/deactivated status, and (if you start a trial or purchase) licensing and payment-related details handled by Freemius. Opting in to share this data is never required to use the free plugin’s features. If you later buy or start a trial of Pro, license verification and update delivery are handled through Freemius’s servers (api.freemius.com) and checkout (checkout.freemius.com).

  • Freemius Terms of Service: https://freemius.com/terms/
  • Freemius Privacy Policy: https://freemius.com/privacy/

Screenshots

Admin member list with search, sortable columns, and Active/Expired status.

Admin member list with search, sortable columns, and Active/Expired status.

Edit Member screen: member number, contact details, emergency contact, and expiration date.

Edit Member screen: member number, contact details, emergency contact, and expiration date.

Settings: choose a fixed-season, rolling, or free membership model, with in-season and off-season fees.

Settings: choose a fixed-season, rolling, or free membership model, with in-season and off-season fees.

Settings: let members pay by card, Apple Pay, or Google Pay with Stripe (PayPal has its own tab).

Settings: let members pay by card, Apple Pay, or Google Pay with Stripe (PayPal has its own tab).

Activity log of online join and renewal payments, showing whether each was paid with PayPal or Stripe.

Activity log of online join and renewal payments, showing whether each was paid with PayPal or Stripe.

Public roster shortcode with search and a status filter.

Public roster shortcode with search and a status filter.

Online join form showing the membership price, your details form, and the waiver.

Online join form showing the membership price, your details form, and the waiver.

Payment step: pay by card, Apple Pay, or Google Pay on a secure Stripe page (PayPal also appears here when turned on).

Payment step: pay by card, Apple Pay, or Google Pay on a secure Stripe page (PayPal also appears here when turned on).

Online renewal form: members look themselves up and get a secure link by email.

Online renewal form: members look themselves up and get a secure link by email.

Plugin Details

Active Installs
0
Total Downloads
1,019
Version
3.33.0
Requires WP
6.2
Requires PHP
7.4
Tested Up To
7.1.4
Added
2026-08-19
Last Updated
2026-10-19 12:49pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0