How to get clients to pay upfront, without awkward conversations
Clients pay upfront more readily than most freelancers expect, as long as the terms are visible before the first conversation and paying is one click. The awkwardness comes from raising it late. Put the terms on the services page, point the site's payment link at a checkout from your payment provider, and send direct checkout links as part of a normal confirmation.
Which services suit full payment upfront
| Kind of service | Usual terms | Why |
|---|---|---|
| Fixed-price, short (a session, an audit, a portrait sitting) | Full payment when booked | The scope is known and the price is small enough not to need a contract |
| Fixed-price packages over weeks | A deposit upfront, the rest on delivery or in stages | Shares risk on both sides |
| Open-ended or hourly work | Payment in advance for a block of hours | Gives a cap the client controls |
| Large custom projects | A deposit against a signed contract and invoice | Too big for a checkout link alone |
Payment links work best for the first three. For large projects, a link can still collect the deposit, but the contract and invoice come from your own tools.
Say it on the page before anyone asks
The simplest answer to how to get clients to pay upfront is to make it the visible norm. A line beside each service such as "Paid when you book. Full refund if you cancel 48 hours ahead" does more than any email later. Put the terms where the price is, not on a separate policy page alone. Clients who object to paying first tend to self-select out, which saves you a difficult conversation.
- What's paid, and when: full price at booking, or a stated deposit.
- What happens if they cancel, and how far ahead.
- What happens if you have to cancel.
- How long refunds take, and how they're paid back.
Setting it up
- Set up your services at a payment provider: Stripe Payment Links, PayPal, Gumroad, Lemon Squeezy, Shopify or Whop. Name each one exactly as it appears on your site.
- Choose the one link the site will use. Anticode holds a single payment link for your account (or Team workspace), and every buy and pricing button on every site opens it. With one service, that's its checkout. With several at different prices, use a page at your provider where the client picks the service, such as a store or product list, and send direct links for individual services by email.
- Build or update the services page. Describe the services, prices and terms, and ask for a pricing section; set your payment link in Anticode so its buttons open your checkout.
- Add a way to ask questions first. A contact form (name, email, message) for anyone not ready to pay.
- Test every button. Use your provider's test mode where it has one, or make a small real purchase and refund it.
Anticode also has on-site pay pages through Stripe, but they're switched off today, so payment links are the way sites take money now. The card details are always entered on your provider's checkout, never on your site.
The confirmation that carries the link
For services agreed by email or after a call, send the link inside an ordinary confirmation rather than as a separate request. Something like: "Lovely to speak today. As agreed, the brand audit is booked for 14 March. You can pay here: (the link); once it's through I'll send the questionnaire." Payment becomes the next step in a process, not a favour. If you use Anticode's booking calendar for sessions, note that it can't require payment: send the link with your confirmation and agree what happens if it isn't paid by a set time.
Refunds, receipts and invoices
All of these live with the payment provider. Receipts are sent by the provider at checkout. Refunds are issued from its dashboard. If your clients need a formal invoice, for example a business that has to reclaim tax, create it in your accounting tool or the provider's invoicing feature where it has one. Anticode doesn't see or store payments, so its dashboard won't show who has paid; match payments to bookings or enquiries yourself.
What goes wrong
- A price changes on the page but not at checkout
- Change both together; the checkout is the price that's charged.
- A client pays for the wrong service
- Name products at the provider exactly as on the page, and refund and resend quickly when it happens.
- The terms aren't visible
- Clients dispute a cancellation fee they never saw. Keep terms beside the price.
How you know it worked
Most bookings arrive already paid, you no longer chase invoices for small services, and cancellations follow the rules on the page without argument. More on the mechanics in payment links and showing service prices.
Limits
Anticode builds the page and points its buttons at your checkout. It holds one checkout link per account, not one per service or per site. It doesn't take card payments on the page, link a payment to a booking, hold deposits, issue invoices or process refunds. Bookings have no deposit option. For a fuller picture of taking money on a small site, see accepting payments on a website.
Questions people ask
Will asking for payment upfront put clients off?
Some, mostly those who would have been slow to pay later. Clear terms beside the price, a fair cancellation policy and a quick way to ask questions keep most good clients.
Can Anticode take a deposit when someone books?
No. The booking calendar doesn't take payment. Send a payment link with your confirmation instead, from your own provider.
Which payment providers work?
Any checkout link from Stripe Payment Links, PayPal, Gumroad, Lemon Squeezy, Shopify or Whop.