Payment Requests and Payment Links
Payment Requests and Payment Links for Your GoodX Desktop and Web Apps
A guide for practices and first-line support
What This Does
Payment requests let a practice ask a debtor to settle their outstanding account online, without a card machine or an in-person visit. The practice chooses to notify by SMS and/or email. When SMS notify is on, myGC — as its own feature, on the practice's behalf — also sends a WhatsApp message; this is not something the practice separately chooses or authors. The debtor opens the link in myGC, chooses a payment gateway, and pays by card. The practice sees the account update once payment goes through.
Configuring this feature runs identically whether you configure it from GoodX Desktop or GoodX Web — both apps share the same underlying settings, so a change made in one app takes effect in the other too.
ℹ️ Collecting the payment is only half the process. GoodX pays practices out in a daily batch, reconciled through GoodX's finance systems — see What Happens After Setup.
What You Need to Send GoodX
Before payment requests can be switched on, your practice needs to be activated by GoodX's Admin and Sales teams — this is not something support enables directly, and it is not a setting you can switch on yourself.
To activate payment links, send:
- A bank letter confirming the account payouts should be paid into.
- Your CIPC documents (company registration), confirming the legal entity for the account.
- Your practice name, so Admin and Sales can find your account.
Admin and Sales record this banking detail internally as part of activating payment links for the client. This is the banking detail payouts actually use — it is separate from any banking details shown or configured elsewhere in GoodX Desktop or Web.
💡 Please Note: Once Admin and Sales confirm activation, the settings below become available to configure. Support cannot enable a payment gateway on your behalf before this step is complete.
Configuring Payment Requests
The same underlying settings apply whether you configure them on Desktop or Web — the two apps read and write the same practice record.
On GoodX Desktop
- Open Entity Setup.
- Select the Debtor Transaction (2) tab.
- In the Enable Payment Requests section: - Select Enable Payment Requests. - Select Notify Payment Request via e-mail and/or SMS. There is no separate WhatsApp option: turning on SMS causes myGC to also send a WhatsApp message on the practice's behalf, as its own feature — this is not something the practice chooses or authors separately. - Choose the Outstanding Amount to use: Patient, Medical Aid, or Total. This does more than pick which number to show — it also decides which invoices qualify. On Patient, an invoice that's still fully owed by a medical aid (zero patient portion) is left out of the request entirely, even though the account has a real balance. Choose Total if every open invoice should be included regardless of who owes what portion.
⚠️ Important — this setting controls what the patient is actually charged, not just what's displayed. Only use Patient unless you specifically intend for the person paying to cover more than their own portion. Setting this to Medical Aid or Total means a patient who selects "Pay All Outstanding" on myGC is charged that basis-dependent amount — which can include money owed by their medical aid, or the full account balance — not only their own outstanding portion. This is a current limitation we're looking into; if a practice has a specific, understood reason to collect more than the patient's own portion, make sure the client understands this before enabling Medical Aid or Total.
Recommendation: set this to Patient unless the practice has a specific, understood reason not to. Patient is the only option that guarantees a patient is never charged more than their own outstanding portion — treat Medical Aid or Total as a deliberate exception, not a default choice. - Complete the Min. Amount field (must be greater than 20 ZAR). This is strictly enforced: if the qualifying balance is equal to or below this amount, no request is created at all — nothing happens, with no error message. If "Send Payment Request" appears to do nothing, check this first. 4. The screen shows a read-only banking-details memo referencing the Financial and Creditors tab. Do not rely on this for payout purposes — see the note below.
⚠️ This on-screen memo is not the payout destination. Regardless of what this screen displays, payment link payouts are always paid into the banking detail recorded internally when payment links were activated (see What You Need to Send GoodX). If a client needs to change their payout bank account, direct them to Admin/Sales to update it — not to the Financial and Creditors tab in GoodX.
On GoodX Web
- Open Settings.
- Select the Entity Settings tab.
- In the payment requests section, configure: - Enable payment requests. - Enable QR codes on statements — despite the name, this is not cosmetic, and this is confirmed, not a guess: generating a statement for a debtor above the minimum amount sends that debtor a real SMS and email, the same as clicking "Send Payment Request" manually would, in addition to (or even without) the QR code appearing on the statement. This includes bulk statement runs — generating statements for a whole list of debtors at once sends this to every qualifying debtor in that run, not just one. It also happens even if the practice hasn't set banking details to display on the statement — in that case the QR code itself never appears on the page, but the SMS/email still goes out with no visible sign on the statement that it happened. > ⚠️ Please make sure a practice enabling this setting understands it will message patients, > not just add a QR code. This is easy to enable by mistake thinking it only affects what > appears on paper. - Request payment on account update (see FAQ for exactly what this triggers). - Process payment requests immediately (see FAQ). > ⚠️ Pair these two settings deliberately — don't leave "Process payment requests > immediately" on by default alongside "Request payment on account update." If a debtor's > account can change multiple times before it settles (repeat invoices, journal corrections, > medical aid remittances landing over several days), turning immediate processing on means > the patient can receive a separate SMS/email/WhatsApp for every single change — which reads as > spammy and confusing. Leaving it off lets the daily batch consolidate same-day changes > into one message per debtor. > > ℹ️ Note: "Request payment on account update" does not currently work at all (see FAQ) — > so this pairing only matters once that is fixed. It's included here now so the right > combination is already in place when it is. - Notify payment requests by SMS / Notify payment requests by email, with a template drop-down for each.
- To customize the wording sent to debtors, open Entity Settings → Workflow Event Templates, select the payment request template, and complete the Payment request message field. Use Add payment URL to insert the payment link placeholder.
ℹ️ The Outstanding Amount to use (Patient/Medical Aid/Total) and Min. Amount settings are only configurable on Desktop — the Web app has no equivalent screen for either. If a practice only uses Web, these still hold whatever value was last set on Desktop (or the system default); to change them, someone needs to open Desktop's Entity Setup screen.
⚠️ Currently, custom wording saved here does not appear in the SMS or email sent to the debtor — the message shown to the debtor uses GoodX's default wording regardless of what is saved in this template. This is a known limitation, not a setup mistake — escalate to development rather than re-saving the template. WhatsApp messages use a separate, fixed template altogether, so custom wording is never possible there.
Sending a Payment Request
- Desktop: From the debtor's account screen, select Send Payment Request (or Send Payment Request to All for a bulk send).
- Web: From the Account screen, select Request Payment. A bulk Payment Link action is also available from invoice/statement screens.
💡 Please Note: There is no limit on how many times a request can be resent. Every send creates a fresh link and immediately invalidates any earlier, unpaid link sent to the same debtor — see the FAQ below.
What Happens After Setup
The debtor receives an SMS and/or email (per the practice's notify settings) with a secure myGC link — and, automatically alongside the SMS, a WhatsApp message sent by myGC itself, not something the practice chooses separately. They open the link, choose a payment gateway if more than one is available, and pay online.
The practice can check payment status in two places, and they do not always agree:
- Web (Account screen → payment history): correctly shows Paid, Viewed, or Not Paid Yet.
- Desktop (Notaboek → Payment Requests): shows New, Viewed, or Paid — this screen has a known limitation where it checks whether the link was viewed before it checks whether it was paid, so a genuinely paid request can stay stuck showing "Viewed" rather than updating to "Paid".
⚠️ If a client says they've paid but Desktop still shows it as unpaid/viewed, check Web's payment history before assuming the payment failed — Web is the more reliable of the two screens for this.
Money collected online is not deposited to the practice immediately. GoodX batches all paid payment links from the previous day into a daily payout run and pays the practice out in full — the payout/handling fee is not deducted from this payout. It is instead billed to the practice as part of their monthly account. This is managed entirely by GoodX and is not something the practice or support needs to action.
Frequently Asked Questions
A client says an invoice on myGC shows "Total: R0,00" but they're still being asked to pay a larger amount overall — is that a fault? This can happen when Outstanding Amount to use is set to Medical Aid or Total. Each invoice's own displayed total on myGC always shows the patient's own portion only, even if that specific invoice has nothing outstanding from the patient directly (e.g. it's fully covered by a medical aid) — so it can show R0,00 while the overall amount the patient is asked to pay is genuinely more than zero. This is a display inconsistency worth reporting, but the more important thing to check with the client is what they're actually about to be charged — see the warning under Outstanding Amount to use above, since the real amount charged can include more than their own portion.
Do settings configured on Desktop carry over to Web (and vice versa)? Partly, and not instantly. Enable Payment Requests and notify by SMS/email are the same setting in both apps. Outstanding Amount basis and Min. Amount are Desktop-only — Web has no screen for them at all, so they can only be set from Desktop. A few settings only appear on Web (QR codes, Request payment on account update, Process payment requests immediately, message templates) because Desktop has no screen for them.
Importantly, "the same setting" does not mean the change appears instantly everywhere: both apps load these settings once and keep them in memory rather than checking the database every time. If a setting is changed on Desktop, an already-open Web session will not pick it up until the user logs out and back in. If a setting is changed on Web, an already-open Desktop session can take up to about an hour to notice, or needs the entity re-selected or the app restarted. If a practice says a setting "isn't taking effect," check whether they simply need to log out/in (Web) or restart (Desktop) before assuming the setting itself is broken.
How often can the same payment link be sent for the same outstanding invoice? Is there a cooldown? When a person clicks Send Payment Request, there is no cooldown — it can be resent as often as needed. Each resend creates a new link and immediately stops the previous one from working (see below). There is a built-in 2-hour cooldown against sending again for the exact same set of invoices, which applies no matter what triggered the request — but it only helps for that narrow case. If the account picks up a new or different invoice, the cooldown doesn't apply and a new message goes out regardless. It is not a substitute for pairing "Process payment requests immediately" correctly — see that FAQ entry below.
Why doesn't the wording I set up in Workflow Event Templates show in the actual SMS/email/WhatsApp sent to the client? This is a known current limitation: the custom wording is saved correctly, but the system that actually sends the message does not currently use it — it always uses GoodX's default wording for SMS and email. WhatsApp always uses a fixed, pre-approved template and can never carry custom wording, by design. Please log the SMS/email part as a limitation rather than trying to fix it through the settings screen.
Old payment request links stop opening in myGC and show "There are no forms on this link" — why? Links don't expire after a set number of days. Instead, a link stops working the moment a newer payment request is created for that same debtor — whichever is more recent always replaces the one before it. If a client reports this message, check whether a newer request exists for them and point them to that one, or simply resend a fresh request.
"Request payment on account update" — what changes trigger it? Is a link sent automatically? Will support see it was automatic? By design, any change to the debtor's account (a new invoice, a payment, a journal adjustment, a medical aid remittance posting, and so on) is meant to trigger this — it is not limited to one type of transaction — and, when triggered, send a request the same way as clicking "Send Payment Request" manually.
⚠️ Current limitation, confirmed: this automatic trigger does not currently work — enabling it does not send a request when the account changes, even though the setting saves successfully. This has been confirmed through testing, and is a known, pre-existing issue being looked into, not something a practice's specific setup is doing wrong. If a practice reports that this setting doesn't seem to send anything, please log it rather than troubleshooting further. Note: if the practice also has "Send out Patient Survey after each posted invoice" enabled, they may still see an unrelated email/SMS arrive after an invoice is posted — that is the Patient Survey feature, not a payment request, and its arrival does not mean this setting is working.
Separately, even once working, there is no visible marker distinguishing an automatically-triggered request from a manually-sent one in the payment request history — both would look the same.
"Process payment requests immediately" — what happens if it's off, and when should I use it? This setting only affects automatically-triggered requests (from "Request payment on account update") — it has no effect on a request someone sends manually from Desktop or Web, which always goes out immediately regardless of this setting. When it's off, an automatically-triggered request can wait for GoodX's daily batch run (currently scheduled at 07:00, so up to about 24 hours — this time is a configurable schedule on our side and may change) before it's actually sent — useful if a debtor's account changes several times in a day and you don't want a separate link for each change. Switch it on if the client should get the link as soon as the account changes.
💡 Recommendation: pair these two settings deliberately, don't leave "Process payment requests immediately" on by default alongside "Request payment on account update." If a debtor's account can change multiple times before it settles (repeat invoices, journal corrections, medical aid remittances landing over several days), turning immediate processing on means the patient can receive a separate SMS/email/WhatsApp for every single change — which reads as spammy and confusing. Leaving it off lets the daily batch consolidate same-day changes into one message per debtor. Only turn immediate processing on for accounts where changes are infrequent enough that instant notification won't result in repeated messages.
If a second invoice is added to the account, is a brand-new payment link always generated? Only if Request payment on account update is switched on. When it is on, any change to the account — including a second invoice — automatically creates a completely new link covering the updated total, and invalidates the previous one. When it is off, adding a second invoice does nothing by itself: no new link is created, and the existing link keeps pointing to the original (now out-of-date) balance until someone manually sends a new payment request — at which point it always covers every currently open invoice and replaces the old link.
Information to Give Our Support Staff
Send the following so that we can help:
- Your practice name, so support can find your account.
- Whether the issue is with Desktop, Web, or the myGC link the client received.
- If a client can't open a link: whether it's their most recent one, and roughly when it was sent.
- If wording looks wrong: confirmation this is a known limitation (see FAQ above) rather than a new fault.
- If "Send Payment Request" seems to do nothing: the debtor's qualifying balance (per Outstanding Amount to use) and the practice's Min. Amount setting — a balance at or below the minimum silently creates no request.
- If a client received an SMS/email they weren't expecting shortly after a statement was printed (or a bulk statement run): this is expected if Enable QR codes on statements is on — confirm the practice understands this setting sends real messages, not just adds a QR code.
- If a client says they paid but Desktop shows the request as unpaid/viewed: confirm what Web's payment history shows for the same debtor before escalating as a failed payment — this is a known Desktop display fault, not necessarily a payment problem.
Our support team retrieves your client code for you — you do not need to provide it.