Customer case study · Plumbing
He didn’t raise his rates.
He just stopped eating Stripe fees.
After switching to PayXT, an independent plumber started passing the card processing cost to customers as a convenience fee. Same labor quotes. Same jobs. About $1,200 extra in his pocket every month.
$1,200
Kept / month
2.9% + $0.30
Now customer-paid
100%
Of quoted price
The leak nobody notices until tax time
Marcus runs a one-van plumbing shop. Emergency drain jobs, water-heater swaps, and the occasional main-line replacement. He was already getting paid by card — homeowners prefer Apple Pay to writing a check on a wet kitchen floor. The problem was not collections. It was the quiet 2.9% + $0.30 Stripe took off every charge.
On a $4,500 tankless install, that is more than $130 gone before the money hits the bank. Across a typical month of card volume — roughly $40,000 — those processor fees add up to about $1,200. That is a new water heater, a month of van insurance, or a week of take-home pay. Marcus was quoting a fair labor rate and then donating the processing cost.
“I thought I was charging $450 for a drain. I was actually keeping about $437. Multiply that by every card job and it was real money walking out the door.”
What changed after PayXT
Before
He paid Stripe out of his quote
- ✕ 2.9% + $0.30 came off every card payment
- ✕ A $4,500 water heater netted about $4,369
- ✕ No clean way to show the fee on the invoice
- ✕ Card readers and wet hands on emergency calls
After
Customers cover the processing cost
- ✓ Convenience-fee toggle set to 2.9% + $0.30
- ✓ Checkout grosses up so he still nets the quoted price
- ✓ Tax, fee, and line items on one SMS invoice
- ✓ Homeowner pays Apple Pay or card on their own phone
The math behind $1,200
Stripe’s common US card rate is 2.9% plus $0.30 per successful charge. PayXT’s convenience-fee toggle uses those same numbers by default, then grosses up the checkout so after Stripe takes its cut, the plumber still receives the amount he quoted.
| Example month | Without fee pass | With PayXT |
|---|---|---|
| Card volume (~90 jobs) | $41,000 | $41,000 quoted |
| Stripe 2.9% + $0.30 | −$1,200 | Paid by customer |
| What he keeps | ~$39,800 | ~$41,000 |
Figures are rounded for a typical independent plumbing month. Actual Stripe pricing can vary by country, card type, and account. Convenience-fee pass-through must follow your local laws and card-network rules.
How he bills now
-
1
Finish the job. Drain snaked, heater installed, leak stopped. No card reader, no wet paper invoice.
-
2
Build the invoice in PayXT. Saved services for “Emergency drain,” “Water heater,” and trip fees. Tax toggle on. Convenience fee left on at 2.9% + $0.30.
-
3
Text the Stripe Checkout link. The homeowner pays with Apple Pay, Google Pay, or card on their own phone while Marcus loads the van.
-
4
Keep the quoted price. Stripe still charges its fee. The customer covered it. Marcus’s deposit matches the number he said out loud in the kitchen.
PayXT does not take a cut of the job. He pays a Pro subscription after a 7-day free trial. Stripe still processes the card. The only change is who funds that 2.9% + $0.30.
Stop donating 3% of every card job
Turn on the convenience-fee toggle, text the invoice, and keep the price you quoted. Same 7-day free trial every plumber starts on.
Start Free TrialAlso see PayXT for plumbers and the fee gross-up toggle.