Simple Quotes and InvoicesHelpContact supportOpen your dashboard
Help home Getting paid Get paid online with PayFast

Get paid online with PayFast

Updated 20 Oct 2026 · 4 minute read

This guide takes you from no online payments to a client pressing Pay and the invoice marking itself paid. You will connect your PayFast account, make a small test payment, and then go live. Allow about 15 minutes.

Note: Every invoice you send gets one big Pay button with the amount on it. When a client pays, the payment is recorded for you, the invoice is marked paid, and a receipt can be emailed.

Before you start

  • A PayFast account for your business (you can open one at payfast.co.za).
  • Your PayFast Merchant ID and Merchant Key, from the integration settings in your PayFast account.
  • Your banking details already saved under Settings, Business, so they print on your invoices.
  • A few rand for a test payment.

1. Add PayFast to your dashboard

  1. Open Settings, then Payment receipts and online payments.
  2. Under PayFast, paste your Merchant ID and Merchant Key, and fill in any other detail the page asks for.
  3. Leave Test mode switched on for now.
  4. Press Save.
PayFast settings with the Merchant ID, Merchant Key, Test mode switch and Save button
Figure 1. Example screen. (2) Paste your PayFast details, (3) leave Test mode on for now, (4) save.
The pay button a client sees at the foot of an invoice
Figure 2. Example screen. What your client sees: one big pay button with the amount.
A paid invoice with a zero balance
Figure 3. Example screen. After a successful test, the invoice shows Paid and the balance is R 0.00.
Important: Keep test mode on until step 3 is finished. In test mode a payment is practice only and no real money moves.

2. Check that an invoice shows the Pay button

  1. Open an invoice that has been sent and still has an amount owing.
  2. Open its client link and scroll to the foot. You should see one big button such as Pay R 5 290.00, with the card and PayFast logos beneath it.
Tip: No button? Drafts never show one, and a fully paid invoice hides it. Send the invoice first, and check that PayFast is saved.

3. Make a test payment

  1. Create a small invoice, for example for R 5.00, and press Mark as sent (no email).
  2. Open the invoice link, press Pay and complete the practice payment.
  3. Go back to the invoice in your dashboard. It should show Paid, with the payment listed and the balance at R 0.00 in green.

4. Go live

  1. Return to Settings, Payment receipts and online payments.
  2. Switch Test mode off and press Save.
  3. Send a real invoice. Your client can now pay straight from the link.

What your client sees

On a computer the pay panel sits in the corner of the invoice. On a phone it is one full-width button under the totals. They pay and come back to their invoice. The same button appears in the client portal.

What happens after they pay

  • The payment is recorded once, never twice.
  • The invoice is marked paid when the balance reaches zero.
  • A receipt is emailed if you have receipts switched on.
  • The fee the payment provider takes is added to your expenses, so profit and VAT figures stay right.
  • You see it under New since you last looked in the bell.

Refund a client

Open the paid invoice and use the reverse and refund form. For a PayFast card payment the money is sent back for you. If a refund cannot be sent, nothing is recorded and a message explains which step failed.

Note: Payments are never deleted. A reversal or refund keeps the original on the invoice, with a reason and who did it.

If something does not work

  • The Pay button is missing. The invoice is a draft, is already paid, or PayFast is not saved. Check step 1.
  • The test payment did not mark the invoice paid. Wait a minute and refresh. If it is still unpaid, open Help, System health and log a ticket with what it shows.
  • The money has not reached my bank. PayFast pays out on its own schedule, so check your PayFast account.
Was this article helpful?
Did not find it? Contact support

Related articles