Manual dues collection — checks, Venmo to the captain, cash on game night — is the operational pattern that quietly burns out league treasurers and board members. The Havoc Amateur Hockey League is transitioning to Stripe-backed online registration as part of its broader move to RocketHockey, and the technical setup is the same regardless of which platform you run on. This article is the walkthrough as the HAHL board is actually working through it.
For the strategic reasoning behind the move (captain workload, audit trail, refund flow), see the dues collection post. This post is the technical companion.
Why Stripe Is the Right Choice
Stripe is the payment processor behind most hockey registration software—RocketHockey, TeamSnap, SportsEngine, and most alternatives either use Stripe directly or run on infrastructure that works the same way. If you've ever bought anything online, there's a reasonable chance Stripe processed it. For hockey leagues specifically, this means your registration platform already integrates with Stripe, your treasurer will find plenty of documentation and support, and your families will trust the payment flow because it looks familiar.
The fees are 2.9% plus $0.30 per card transaction. ACH bank transfers are 0.8%, capped at five dollars—meaningfully cheaper for large registration payments, if your families are willing to use them. Funds deposit to your bank account in two to three business days. That's really the whole financial summary.
Before you start, have these ready: your EIN (or SSN if operating as a sole proprietorship), your bank account routing and account numbers, your organization's legal name and address, and the name and basic information of whoever will be the authorized representative on the account. This is the person Stripe will verify as having authority to manage payments—usually the treasurer or executive director.
Setting Up the Account
Go to stripe.com, create an account with your organization email, and verify. This part takes five minutes. The next part—account activation—takes a little longer because Stripe needs to verify your organization before money can actually flow.
Activation asks for your legal business name, EIN or SSN, business address, phone, and business type. For the representative verification, they need name, date of birth, and the last four digits of a social security number. This sounds invasive but it's standard—Stripe is federally required to verify identities to prevent fraud and money laundering. It's the same process any bank would run. Verification usually completes within 24 to 48 hours, sometimes faster.
Tip
Use your organization's formal legal name exactly as it appears in your formation documents. Mismatches between your submitted name and your EIN registration are the most common reason verification delays.
Once the account is active, connecting it to your registration platform takes about three clicks. In RocketHockey, it's Settings, then Payments, then Connect Stripe. You'll log into your Stripe account when prompted and authorize the connection. The platform will handle the rest. Other platforms have essentially the same flow.
Configuring Payment Settings
Two things to set up before you start accepting money:
The statement descriptor is what appears on your families' credit card statements when they pay. Use something recognizable—your league name, abbreviated if necessary. "GREENFIELD HOCKEY" is fine. "LEAGUE PROCESSING LLC" is how you end up with chargebacks from parents who don't remember what the charge is.
Payout schedule defaults to rolling two-day deposits, which means money hits your bank two business days after each transaction. You can switch to weekly or monthly if your treasurer prefers a predictable deposit schedule. Weekly usually makes reconciliation easier.
The Fee Question (Everyone Has Feelings About This)
Every league treasurer agonizes over this. Here's the honest take: both options are defensible, and your families have seen both.
If you absorb the fees, families pay one clean number. On a $300 registration, you receive roughly $291. Budget for a 3% revenue reduction. This is simpler to communicate and some families appreciate not seeing a surcharge.
If you pass the fees to registrants, add approximately 3% to the charged amount. On a $300 registration, families pay $309.30, you receive $300. This is increasingly standard across sports leagues, and most families expect it. It's honest—there's a real cost to processing payments, and you're not hiding it.
The third option—accepting ACH bank transfers alongside cards—lets you encourage families to use the cheaper method. If someone pays via ACH, the fee is 80 cents on a $300 transaction instead of $9. Some leagues offer a small discount for ACH to incentivize it.
Warning
Do not let families register with a "pay later" option unless your platform automatically blocks them from game access until they pay. I've seen leagues collect 40 registrations and receive payment for 31 of them because there was no enforcement mechanism. The other nine required individual follow-up calls.
Managing Payments During the Season
The Stripe Dashboard shows successful payments, failed payments, pending payouts, and any disputes—all in real time. Your treasurer will spend about ten minutes a week in here once things are running, mostly to review the payout summary and follow up on any failed transactions.
Cards get declined sometimes. Usually it's not a crisis—an expired card, a bank flagging an unusual transaction, a wrong billing ZIP code. When a payment fails, your registration platform should notify the registrant automatically with a link to update their card. If the failure repeats after they've tried to fix it, reach out directly and offer an alternative. Most platforms also support ACH as a fallback when cards aren't working.
Payment plans make sense for any registration over $500. Asking a family to pay $900 upfront creates friction; splitting it into three installments gets them registered earlier with less resistance. The standard structure is 50% at registration, 25% at 30 days, and 25% at 60 days. The platform charges the saved card automatically on schedule. When an installment fails, the system should notify the family and set a grace period before access is restricted.
Refunds process through the Stripe Dashboard or your platform's refund button. Full refunds return to the card in five to ten business days. Partial refunds work the same way. The fees are not refundable from Stripe's end, so if you're building a refund policy, account for that.
Keeping Your Books Clean
Stripe generates detailed reports that make reconciliation straightforward. The key rhythm:
Match each Stripe payout to the corresponding deposit in your bank account. Stripe groups multiple transactions into each payout, so you'll download a CSV to see which individual payments are in each deposit. Do this weekly or monthly—whenever you get behind, it gets harder to untangle.
The Stripe Dashboard also tracks failed payments, disputes, and fee totals by time period. Download monthly summaries for your tax records. If you're running through a software platform like RocketHockey, most of this reporting is available directly in your dashboard without going into Stripe at all.
Security Without the Paranoia
Two-factor authentication on your Stripe account is mandatory. Do this before you accept a single payment. Limit dashboard access to the people who actually need it—usually just the treasurer and executive director. Review who has access at least once a year.
Families don't need to worry about card security: their payment data goes directly to Stripe's servers, never to yours. You never see a full card number. PCI compliance is Stripe's problem, not yours. This is one of the genuine advantages of using a processor like Stripe over trying to handle payments independently.
Frequently Asked Questions
Can you still accept checks alongside Stripe? You can — just log them as offline payments in your platform so your reporting stays in one place. Whether it is worth maintaining the parallel system depends on how many players are still asking for it. Most leagues that keep a check option as a transitional accommodation find the check volume drops to a handful within one or two seasons; that is the right time to retire it.
What happens with a chargeback? Stripe walks you through the dispute process. Your job is to provide documentation: registration confirmation email, your published refund policy, anything showing the charge was legitimate and the family received what they paid for. The more paper trail you have, the better your odds. If someone disputes a charge they genuinely made, you almost always win if you respond promptly.
Do you need a separate business bank account? Strongly recommended. Having a dedicated account for league funds makes reconciliation easier, keeps personal and organizational finances separate, and simplifies tax prep. It takes about ten minutes to open one and it's worth it.
Can families save cards for future seasons or payment plan installments? Yes, if your platform supports it. Saved cards make automatic installment billing seamless and reduce the friction of re-entering card details at the start of each season.
What This Buys the League Operationally
The substantive return on the two hours of Stripe setup is not the deposit speed (though deposits are faster). It is the volunteer hours given back to whoever was handling manual collection — usually a board treasurer or rotating captain — and the audit trail that means dues disputes can be settled by checking the system instead of by remembering.
For the wider operational playbook HAHL is building this into, see the league financial management guide and the season registration timeline post.
Rob Boirun's Insight
HAHL's transition to Stripe-backed registration is part of the wider platform move that is in flight right now. The decisions in this article are the decisions the board has been working through in real time. The 3% fee anxiety is real and the math always works out in favor of switching once you account for the volunteer hours saved.
Frequently Asked Questions
Can we accept checks alongside Stripe?
You can — log them as offline payments in your platform so reporting stays in one place. Most leagues that keep checks as a transitional accommodation see volume drop to a handful within one or two seasons; that is the right time to retire it.
What happens with a chargeback or payment dispute?
Stripe walks you through the dispute process. Your job is to provide documentation: registration confirmation, your published refund policy, anything proving the charge was legitimate. Strong paper trail wins most disputes.
Do we need a separate business bank account?
Strongly recommended. A dedicated league account separates finances cleanly, simplifies reconciliation, and makes tax prep easier. Ten minutes to open.
Can players save cards for payment-plan installments?
Yes, if your registration platform supports it. Saved cards make installment billing automatic and remove the friction of re-entering card details each cycle.
Sources & References
- Stripe Documentation — payment processing reference
- Havoc Amateur Hockey League (havocahl.com) — operational reference league