GoHighLevel Payments: Stripe, Invoices & Subs (2026) — HL Growth Partner, Dr Priya Jaganathan

GoHighLevel Payments: Stripe, Invoices & Subs (2026)

July 25, 2026

GoHighLevel Payments: Stripe, Invoices & Subs (2026)

By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 25 July 2026 · 8 min read

Payments in GoHighLevel work by connecting a payment processor — almost always Stripe — to a sub-account, then selling through order forms, invoices, payment links or text-to-pay. Products live in the sub-account and can be one-time or recurring, and every successful or failed charge fires a workflow trigger you can automate against. Stripe holds the money and pays it into your Australian bank account on its own schedule; GoHighLevel is the checkout layer, the recurring-billing engine and the recovery system on top.

On this page: Connecting Stripe · Payment methods compared · One-time products vs subscriptions · Order forms and upsells · Invoices and recurring templates · Payment links and text-to-pay · Coupons, tax and GST · Failed payments and dunning · Refunds and disputes · SaaS Mode rebilling and the wallet · Reconciliation with Xero and MYOB · Common mistakes to avoid · FAQ

GoHighLevel payments are not a separate product you buy — they are a layer that sits on top of a processor you already have or can open in an afternoon. Once Stripe is connected to a sub-account, the same catalogue of products powers funnel checkouts, calendar deposits, membership access, invoices, quotes, payment links and SMS payment requests. That single-catalogue design is the useful part: change a price once and every surface that sells it updates.

Where agencies get into trouble is the assumption that connecting Stripe finishes the job. It does not. A connected processor with no tax settings, no failed-payment workflow and no reconciliation habit will happily take money and then quietly lose 5–8% of your recurring revenue to expired cards. This guide walks the whole chain as I set it up for Australian clients — connection, products, checkout, invoicing, GST, recovery, refunds, rebilling and the monthly close.

Connecting Stripe (and where PayPal and Authorize.net fit)

The path is Settings → Payments → Integrations inside the sub-account. Click Connect on Stripe, authorise the OAuth handshake, and choose the Stripe account you actually want — not a test account, not a stray account from an old project. Stripe returns the connection immediately and GoHighLevel shows the account name and country against the integration.

Get the Stripe side right first

Before you connect, make sure the Stripe account is fully activated: ABN or ACN entered, business address, bank account for AUD payouts, and the account default currency set to AUD. A Stripe account with a USD default currency connected to an Australian sub-account is the single most common cause of "why is my client being charged in dollars they don't recognise". Currency in GoHighLevel is set per sub-account under Settings → Business Profile, and it needs to match.

PayPal and Authorize.net

PayPal connects as a secondary gateway and is genuinely useful for one-time purchases where buyers trust the PayPal badge more than a card form — low-ticket digital products, events, community memberships. It is much weaker for subscriptions: recurring billing, proration and card-update flows are all cleaner on Stripe, and PayPal subscription state does not surface in GoHighLevel with the same fidelity. Authorize.net exists mainly for North American merchants with an existing gateway relationship; for Australian businesses starting fresh, there is no good reason to choose it over Stripe.

Manual and offline methods

GoHighLevel also supports marking invoices as paid via bank transfer, cash or cheque. For Australian trades and professional services this matters more than people expect — a decent share of B2B invoices still settle by EFT. Enable those methods on the invoice, but discipline yourself to mark them paid the same day the funds land, or your reporting drifts from your bank feed.

Payment methods compared

Different selling motions need different tools. This is how I choose:

MethodBest forFees (Australia)Recurring support
Stripe via order formFunnel checkouts, upsells, low-friction card capture1.75% + A$0.30 domestic; ~2.9% + A$0.30 internationalFull — subscriptions, trials, proration
Stripe via invoiceService work, deposits, staged project billingSame Stripe card ratesYes, via recurring invoice templates
Payment linkDMs, phone sales, quick ad-hoc collectionsSame Stripe card ratesYes if the linked product is recurring
Text-to-payField service, in-clinic, "pay before we leave" momentsSame Stripe rates plus SMS segment costYes if the linked product is recurring
PayPalOne-time digital products, buyer-trust-sensitive offersPayPal AU rates; typically higher than Stripe cardsLimited — avoid for subscriptions
Manual / bank transferLarge B2B invoices, GST-registered corporate clientsNil processing fee; manual reconciliation costNo — template the invoice, chase manually

Those Stripe numbers are the current Australian standard rates and they do move — international card surcharges, currency conversion and Instant Payouts all carry extra cost. Check Stripe's Australian pricing page before you quote fees to a client, and re-check when you renegotiate. If your monthly volume passes roughly A$50,000 it is worth asking Stripe for custom pricing rather than accepting list rates forever.

One-time products vs recurring subscriptions

Products live under Payments → Products. Each product can carry multiple prices, and each price is either one-time or recurring. That distinction drives everything downstream, so set it deliberately.

One-time prices

Use these for setup fees, workshops, physical goods and deposits. A one-time price can still be attached to an upsell or a bump offer, and it can sit alongside a recurring price on the same order form — which is exactly how you sell "A$1,500 setup then A$497/month" in one transaction.

Recurring prices

Recurring prices let you set the interval (daily, weekly, monthly, yearly), an optional trial period in days, and an optional number of billing cycles. The cycle cap is underused: a 12-payment plan that stops automatically is far cleaner than an open subscription someone has to remember to cancel. Set it at the price level, not with a workflow timer.

What subscriptions do not do

GoHighLevel subscriptions are not a full billing platform. Mid-cycle plan changes, complex proration and usage-based metering are thin. If a client genuinely needs seat-based or metered billing, you manage the subscription in Stripe and use GoHighLevel for the customer experience around it. Be honest about that boundary early rather than discovering it during a migration.

Order forms and upsells on funnels

The order form element is built in the funnel editor and reads directly from your product catalogue. Practical settings that change conversion:

Bump offers and one-click upsells

A bump offer is a checkbox on the order form itself — low friction, typically 10–30% take rate on a well-matched A$47–A$97 add-on. A one-click upsell is a separate step after the initial charge, using the stored card so the buyer does not re-enter details. Chain no more than two upsell steps; the third reliably annoys people and inflates refund requests.

Fields, autofill and abandoned checkout

Keep the form to name, email, phone and card. Every extra field costs completions. Enable autofill from URL parameters so traffic arriving from an email sequence lands on a half-completed form. Then build an abandoned-checkout workflow on the "Order Form Submission" trigger filtered to unpaid — a single SMS 20 minutes later recovers a meaningful share, and it pairs naturally with tracking the deal in your sales pipeline so nothing sits unworked.

Invoices and recurring invoice templates

Invoicing lives under Payments → Invoices, with a separate tab for recurring templates. A one-off invoice can be built from products or free-text line items, carry a due date, terms, notes and attachments, and be sent by email, SMS or both.

Recurring invoice templates

Recurring templates are the right tool when a client wants a proper tax invoice every month rather than a silent card charge — bookkeepers, accountants and anyone who needs the paperwork for their own BAS. Set the frequency, the start date, an optional end date, and choose whether the invoice auto-charges a saved card or waits for manual payment. Auto-charge on file gives you subscription reliability with invoice documentation, which is usually what Australian B2B clients actually want.

Invoice numbering and terms

Set a sensible prefix and starting number under invoice settings before you send the first one. Retro-fixing numbering after 40 invoices are out is miserable. Include your ABN, your trading name and payment terms in the invoice template — a tax invoice without an ABN is not a valid tax invoice for a GST-registered buyer.

A payment link is a hosted checkout URL tied to a product or an ad-hoc amount. It works anywhere you can paste a URL — Instagram DMs, a quote email, a proposal PDF. Because it is a normal GoHighLevel payment, it still fires the same triggers and still writes the transaction into the sub-account.

Text-to-pay sends that link over SMS from the conversation thread, and it is the highest-yield HighLevel payments feature for anyone who collects money in person. A mobile technician finishing a job, a clinic taking a gap payment, a detailer at the kerb — the payment happens while the customer is still standing there rather than 11 days later after two reminder emails. Keep the SMS short, include the amount and the business name, and make sure your sender registration is sorted so the message actually lands.

Coupons, taxes and GST for Australian businesses

Coupons

Coupons are created under Payments → Coupons as either a percentage or fixed amount, with optional usage limits, expiry dates and restriction to specific products. For subscriptions you choose whether the discount applies to the first payment only or to every cycle — get this wrong and you either annoy customers or discount your MRR forever. I default to first-payment-only unless there is a deliberate retention reason.

GST and tax settings

Tax rates are configured under Payments → Settings → Taxes. Create a 10% GST rate, give it a clear name, add your ABN as the tax ID, and attach it to the products that are taxable. GoHighLevel treats tax as added on top of the product price by default, so if your advertised price is GST-inclusive — which is the norm for Australian consumer pricing — you need to price the product accordingly rather than bolting 10% on at checkout and surprising people.

Two things to check with your accountant, not with me: whether you are actually required to register for GST (the A$75,000 turnover threshold), and how GST applies to your overseas customers. Digital services to non-residents are frequently GST-free, which means the same product may need different tax treatment by market. Also remember Stripe's processing fees themselves carry GST, and those need to be captured as an expense rather than silently netted off your revenue.

Failed payments and dunning recovery

This is where the money is. Expired cards, insufficient funds and issuer declines will hit 5–10% of monthly subscription charges in a typical Australian consumer base. Recovering even half of that is usually worth more than any conversion tweak you will make this quarter.

The Stripe layer

In Stripe, enable Smart Retries and the automatic card updater so reissued cards keep working without customer involvement. Set the retry schedule to something like day 1, day 3, day 5 and day 7, and decide what happens at the end — cancel the subscription, or leave it unpaid and handle it manually.

The GoHighLevel layer

Build a workflow on the payment-failed trigger. Mine runs: immediate SMS with a card-update link, email two hours later with the invoice attached, tag the contact "payment-failed", create a task for the account manager on day 3, and a final SMS on day 6 warning that access pauses. On successful payment, a second workflow removes the tag and closes the task. Without that cleanup step you end up with a tag list full of people who paid weeks ago, and your team stops trusting it.

Pause access, don't just chase

If the product is a membership or a portal, tie the failed-payment tag to access removal after the retry window. Chasing without consequence trains customers to ignore you.

Refunds, partial refunds and disputes

Refunds are issued from the transaction record under Payments → Transactions, full or partial. The Stripe processing fee on the original charge is not returned, so a refunded A$1,000 sale still costs you roughly A$17.80 — factor that into any money-back guarantee you advertise.

Refunding a subscription payment does not cancel the subscription. Cancel it separately, or the next cycle bills and you have an angry customer plus a dispute. Disputes and chargebacks are handled entirely in the Stripe dashboard, not in GoHighLevel; respond inside Stripe's evidence window with the order form record, the delivery evidence and the terms the buyer accepted. Australian chargeback fees are real money, so a clear refund policy on the order form is cheaper than winning arguments later.

How payments interact with SaaS Mode and the agency wallet

There are two separate money flows in a HighLevel agency and conflating them causes real pain. The first is your client's Stripe account taking money from their customers. The second is your agency's Stripe account taking money from your clients — that is SaaS Mode, and it connects at the agency level, not the sub-account level.

SaaS Mode uses your agency Stripe connection to bill sub-account subscriptions and to rebill usage: SMS segments, phone minutes, email sends, AI features and premium actions. Those usage charges draw against the sub-account wallet, which the client tops up either manually or by auto-recharge. Set auto-recharge thresholds sensibly — a client whose wallet empties on a Friday afternoon has an SMS outage until someone notices. If you are building the rebilling side, the mechanics and the margin maths are covered properly in the SaaS Mode setup and pricing guide, and the plan you are on determines whether SaaS Mode is even available, which is worth checking against the GoHighLevel plan breakdown before you promise a client anything.

Reconciling with Xero and MYOB

GoHighLevel is not accounting software and should not be treated as your source of truth for the books. The workable pattern for Australian clients:

Xero

Connect Stripe to Xero directly with a Stripe feed or clearing account. Stripe payouts arrive as a net lump sum, so you reconcile the payout against gross sales less fees rather than matching individual charges. Keep processing fees in their own expense account with GST coded correctly. GoHighLevel invoices then become the customer-facing document while Xero carries the ledger.

MYOB

Same principle, usually via a third-party sync or a monthly manual journal. For lower volumes, one journal a month from a Stripe balance report is faster and less error-prone than fighting an integration.

The monthly ritual

Export GoHighLevel transactions for the month, export the Stripe balance report, and check three numbers: gross sales, total fees, net payouts. If GoHighLevel and Stripe disagree, the cause is almost always a manually marked invoice, an off-platform refund, or a payment taken directly in Stripe outside GoHighLevel. Find it in the same month — not at year end.

Common mistakes to avoid

  • Connecting a Stripe account whose default currency is USD to an Australian sub-account, then wondering why customers see conversion charges and international fees.
  • Launching with no failed-payment workflow, and losing 5–10% of monthly recurring revenue to expired cards that a single SMS would have fixed.
  • Adding 10% GST on top of prices that were already advertised as GST-inclusive, so the checkout total never matches the sales page.
  • Refunding a subscription charge without cancelling the subscription, then billing the customer again next cycle.
  • Applying a percentage coupon to every recurring cycle instead of the first payment only, permanently discounting MRR.
  • Treating GoHighLevel transaction reports as the accounting record instead of reconciling Stripe payouts into Xero or MYOB each month.
  • Leaving sub-account wallet auto-recharge switched off, so SMS and calls stop mid-campaign when the balance hits zero.

If you want payments, invoicing and failed-payment recovery configured properly across your GoHighLevel sub-accounts, book a strategy call with the HL Growth Partner team.

Book Your Strategy Call →

Frequently asked questions

Do I need Stripe to take payments in GoHighLevel?

Practically, yes. PayPal and Authorize.net can be connected, and invoices can be marked paid manually for bank transfers, but Stripe is the only gateway with full support for subscriptions, saved cards, one-click upsells, automatic retries and the payment triggers that workflows depend on. Every Australian build I do starts with Stripe as the primary processor.

What does GoHighLevel charge on top of Stripe fees?

On standard agency plans, GoHighLevel does not add a percentage fee to payments processed through your own connected Stripe account — you pay Stripe's rates, currently 1.75% + A$0.30 for domestic cards and around 2.9% + A$0.30 for international. Fees change, so confirm on Stripe's Australian pricing page. Separate GoHighLevel usage costs for SMS, calls and email still apply.

Can I charge GST correctly on GoHighLevel invoices and order forms?

Yes. Create a 10% GST rate under Payments → Settings → Taxes with your ABN as the tax ID, then attach it to taxable products. Tax is added on top of the product price, so if you advertise GST-inclusive pricing, set the product price so the final total matches what the customer was quoted, and confirm your treatment of overseas customers with your accountant.

How do I recover failed subscription payments?

Use both layers. In Stripe, turn on Smart Retries and the automatic card updater. In GoHighLevel, build a workflow on the payment-failed trigger that sends an immediate SMS with a card-update link, follows with email, tags the contact, creates a task for your team and pauses membership access after the retry window. Add a second workflow on successful payment to remove the tag and close the task.

Do payments sync to Xero or MYOB automatically?

No. There is no native accounting integration. The standard approach is to connect Stripe to Xero or MYOB directly and reconcile the net payouts, treating GoHighLevel invoices as customer-facing documents rather than the ledger. Do a monthly check of gross sales, fees and net payouts across both systems to catch manually marked invoices and off-platform refunds.

Dr PriyaJaganathan

Dr PriyaJaganathan

Dr Priya Jaganathan is a Go High Level Certified Admin, trusted CRM consultant based in Australia, and a keynote speaker at SaaSpreneur Sydney and Level Up 2025 in Dallas.

Back to Blog