In this guide 6 sections
Charge pilot users through a hosted checkout page, a payment link or a manual invoice, confirm by message, log it in a sheet and handle failures by hand. Build a billing system only when the manual routine costs a person more hours each week than building the system would, or when a ledger error costs goodwill.
Pick the lightest way to collect money
Three routes cover most pilots. A hosted checkout page from a provider such as Stripe Checkout or PayPal sends the buyer to the provider’s own screen and brings them back to your site. A payment link is one URL sent by chat, and a manual invoice is a PDF with bank details, so each route carries a different cost in hand work.
Hosted checkout suits self-serve sign-ups where strangers arrive from an advert or a referral and nobody on your team speaks to them first. Links suit named pilot users. Invoices suit business buyers who must raise a purchase order before paying anyone, and they give you a paper trail the buyer’s finance team already understands.
Choose one route, not three. Mixed routes multiply the cases you reconcile by hand every Friday, and each extra case is another place for a payment to go missing.
- Hosted checkout for self-serve buyers
- Payment link for named pilot users
- Manual invoice for company buyers
- One route per user group
Connect payment to access
Nobody gets in until money arrives. The simplest gate is an invite code or an access flag that you switch on once the payment shows in the provider’s dashboard, or earlier by your own decision.
Write the rule in plain words. Paid users get the full journey, unpaid users see a holding page, and one toggle per account on a basic admin list lets your team flip the flag.
Skip trials, upgrades and coupons. Offer one plan at one price, because every extra option adds a case you must test, explain to buyers and check in the ledger.
Confirm by message and keep a ledger
Send a confirmation the same day by email or WhatsApp that states the amount, date, what was bought and a contact for questions. A real person must stand behind it.
Keep a ledger in a spreadsheet with one row per payment, using the columns payer, date, provider reference, amount, plan, status and notes. Match it each Friday.
Weekly matching catches duplicate charges, orphan payments and mistyped amounts before they turn into awkward conversations with customers who thought they had already settled the bill. It is cheap insurance.
Handle failures and refunds by hand
Failed card charges, expired links and bank transfers that never arrive will happen, so write a script for each stating the wording, the wait and the date access pauses. Use it every time.
Refunds go out from the provider dashboard, noted against the original payment reference in the ledger, with the amount and bank timing confirmed to the buyer by message. Do refunds quickly and without argument, because a smooth refund during a pilot is how you learn why the product missed the mark.
Log each refund reason. The reasons that repeat in that column tell you what the product got wrong, usually long before any survey or written review would reach you.
- Failed charge: retry message and a pause date
- Expired link: fresh link, same day
- Duplicate payment: refund and apology
- Refund asked: reason logged
What to leave out until volume justifies a build
Skip renewal engines, automated dunning, tax invoice generation, proration, multi-currency support and revenue reports, because each looks small and grows into weeks of work. Pilots rarely meet edge cases.
A fair trigger to build is a manual routine that takes a person more than a few hours each week, or a ledger error that costs goodwill. Until then a sheet suffices.
Note the three steps that hurt. They become the first requirements for the billing build, written from real pain rather than from guesses about what a billing system should do.
Pilot payment runbook
A one-page runbook with three blocks. The first lists the chosen route and the provider account owner, and the second is the ledger layout with its seven columns and a Friday matching tick box. The third holds scripts for a failed payment, an expired link, a duplicate charge and a refund request, each with a response time.
Open a blank worksheet to printQuestions owners ask
Is it safe to take payments without building my own billing system?
Yes, when a regulated provider handles the card details, because your app never touches card numbers and only receives confirmation that the charge succeeded. Security stays mostly with the provider. Check the provider’s documentation for the identity and tax checks your country requires of a merchant, since rules differ by place.
Should pilot users be charged at all?
If the pilot exists to test willingness to pay, yes, because free pilots measure curiosity while a small real charge measures intent. The checkout step gets tested too.
How do I give invoices for company buyers?
Use your accounting tool or a template with your business details, buyer details, description and bank information, number the invoices in sequence and record each in the ledger.
