The hard part is usually not accepting M-PESA
Most Kenyan gyms already know how to receive mobile-money payments. The operational problem appears when memberships renew on different dates, front-desk staff take payments through several routes, and the same member moves between active, frozen, expired and renewed. At that point the gym is not just solving a payment problem; it is running a recurring membership operation.
Model the membership before the payment
A useful membership record answers who the member is, which plan they are on, when the current paid period ends, what the next renewal costs, whether a joining fee or other one-off charge applies, and whether the membership is active, frozen or cancelled. Each renewal then creates a clear invoice:
Member: K-1842
Plan: Monthly Standard
Renewal period: 12 Nov to 11 Dec
Monthly fee: KES 4,500
Joining fee: none
Status: Due
The payment method should not define the membership. A member may pay by M-PESA this month and by another method next month.
Keep joining fees separate from monthly dues
Many gyms charge a one-time joining, registration or card fee. It should not quietly become part of every renewal. Keep the two apart:
- One-time charge: joining fee, KES 1,000.
- Recurring charge: monthly membership, KES 4,500.
A new member can pay both in one checkout, but the billing system should still know which part recurs. That makes refunds, discounts and reporting easier.
Give membership freezes clear billing rules
Gyms often let members freeze for travel, medical reasons, seasonal breaks or other approved reasons. A freeze needs a defined effect on billing, for example:
- pause the next renewal;
- extend the current paid period;
- charge a reduced freeze fee;
- require staff approval.
Reminders should stop while a membership is legitimately frozen. Your membership policy, not the payment system, is the source of truth.
January is not an ordinary month
Many gyms see a January spike in new joins, returning members, short-term memberships, walk-ins and promotional plans, which produces a different payment mix from a normal month. Your system should be able to tell a new member, a returning member, a day or short-term pass and a monthly recurring member apart. Do not force every January payment into a monthly plan; the commercial relationship should decide the billing record.
Front-desk payments need the same record as online payments
A member may walk in and pay at reception by M-PESA PayBill, Till, a payment link or another method you accept. Reception should be able to identify the right member and invoice before or straight after payment. A good workflow:
- Search for the member.
- Open the invoice that is due.
- Show or send the payment option.
- Receive the provider's confirmation.
- Mark the invoice paid.
- Update membership and access.
The receptionist should not have to make a second spreadsheet entry after the payment.
Walk-ins and monthly members are different customers
A day-pass customer needs only an amount, a payment confirmation and access for the day. A monthly member needs a renewal date, invoice history, recovery when a payment fails, and an up-to-date membership status. The payment method can be the same; the billing job is different. That is why "we accept M-PESA" does not describe a whole gym payment system.
Match payments to members, not just phone numbers
A parent, spouse, employer or friend may pay for a member, so the payer's phone number should not become the membership identity. Use a stable member or account reference. For M-PESA C2B payments, Safaricom's Daraja confirmation includes fields such as TransID, TransAmount and BillRefNumber. If your PayBill account numbers are member numbers, BillRefNumber links the transaction to the right member. The member record stays authoritative. Our M-PESA reconciliation workflow covers matching in detail.
When a renewal payment does not complete
Tell these situations apart:
- No attempt: the member has not tried to pay.
- Failed or expired: a new payment request may be appropriate.
- Unknown: the previous result needs checking before you ask again.
- Paid externally: staff have verified payment through another accepted route.
- Paid: the renewal is complete.
Treating every unpaid-looking membership the same is how gyms end up reminding members who have already paid. Our failed-payment recovery guide explains the right response to each.
Access should follow gym policy
A gym might expire access at the end of the paid period, allow a one- or two-day grace period, send the member to the front desk for review, or restrict access until payment. The billing system should supply reliable payment and invoice status; your access system or front-desk policy decides what happens at the door. A delayed payment confirmation should never be read as a member refusing to pay.
Make reactivation fast
When a member renews after expiry, verify the payment, close the invoice, update the membership dates and restore access according to your policy. Finance reconciliation can continue separately. If your policy only requires a confirmed customer payment, the member should not wait for settlement reporting before they can train.
What a gym should see every morning
Instead of a spreadsheet of every member, operations should see the members who need attention:
- Due today: renewals that fall due today.
- Overdue: renewals past their due date.
- Unknown payment: members who should not be asked to pay again yet.
- Failed or expired: members ready for a recovery message.
- Paid but unmatched: money received that still needs matching to a member.
- Frozen: no collection action needed.
Metrics worth tracking
- percentage of members renewed by the due date;
- average days from due date to renewal;
- reminders per renewal;
- manual front-desk touches;
- share of payments matched to a member automatically;
- number of unknown payments;
- duplicate payments;
- frozen members contacted by mistake;
- time from payment to access being restored.
These show whether the membership operation is improving, not just whether transaction volume is growing.
An illustrative front-desk handover at opening time
This sample is fictional and demonstrates operational decisions, not a claim about a real gym or RoamerWave customer.
| Member record | What reception sees | Correct next step |
|---|---|---|
| M-014, monthly plan | Invoice due; no payment attempt | Present this month's amount and an enabled payment option |
| M-038, monthly plan | STK request result unknown | Check the existing attempt; do not request another payment yet |
| M-062, monthly plan | M-PESA payment verified, member access not refreshed | Update access according to gym policy; settlement tracking stays with finance |
| M-081, approved freeze | Next renewal paused by membership policy | No collection reminder while the freeze applies |
| Day pass D-009 | Single-entry sale paid | Grant the appropriate day access; do not create a monthly renewal |
The desk should work from one member ID and one current billing period, not the phone number that happened to pay. A friend or parent can fund a membership without becoming the member of record.
Test your gym process before a busy renewal week
Walk through four cases with the reception team: a normal renewal, a late success while a member is waiting at the door, a membership freeze and a confirmed payment with the wrong account reference. Confirm who can verify provider evidence, who may override access and where each exception is recorded. A clean gym workflow is not proven by demonstrating only an STK prompt. For the underlying payment matching rules, see the reconciliation guide.



