โ† Help Center
๐ŸงพInvoicing & Quotes

Getting Paid Online: Pay Now Buttons on Your Invoices

Connecting your own PayFast account so customers can pay an invoice by card or EFT.

What this is

Connect your own PayFast merchant account, and every unpaid rand invoice you send gets a Pay Now button on its public view page. Your customer clicks it, pays by card or EFT on PayFast's secure checkout, and the invoice marks itself paid.

Set it up under Settings โ†’ Getting Paid Online.

Why it matters

An invoice that ends with bank details asks your customer to do work: open banking, retype an account number, get the reference right, and remember to do it. Every one of those steps is a chance for the payment to be delayed to "later" โ€” and later is where invoices go to age.

A button removes all of it. The same invoice, sent the same way, gets paid faster because paying takes ten seconds instead of a task for tomorrow.

The money goes straight to you

This is your PayFast account, not ours. Payments settle directly into your account on PayFast's normal terms. Allsorts CRM never touches, holds or handles the money โ€” we generate the checkout and listen for PayFast's confirmation so we can mark the invoice paid. There is no commission and no markup from us on anything your customers pay you.

The subscription you pay us runs through our own separate PayFast account and has nothing to do with this.

When to set it up

As soon as you're invoicing regularly. It costs nothing to have connected โ€” PayFast charges per transaction, so you only pay when you've actually been paid.

How to set it up

  1. Log in to your PayFast account and go to Settings โ†’ Integration.
  2. Copy your Merchant ID and Merchant Key.
  3. Set a passphrase on that same PayFast page if you haven't already.
  4. In Allsorts CRM, go to Settings โ†’ Getting Paid Online and paste all three in.
  5. Save.

Tick Use PayFast sandbox first if you want to test the whole flow without real money โ€” just remember to untick it before invoicing a real customer.

The passphrase must match exactly on both sides. A mismatch is the single most common cause of a "signature mismatch" error at checkout, and it looks like a broken button rather than a settings problem.

Where the button appears

On the public invoice page โ€” the same link your customer already gets when you email an invoice or scan the QR code on the PDF. Nothing changes about how you send documents.

The button appears only when all of these are true:

  • The document is an invoice, not a quote. Nothing has been agreed on a quote yet, so there's nothing to pay.
  • Its status isn't already Paid or Cancelled.
  • The amount is in rand. PayFast settles in ZAR only, so invoices in other currencies keep showing your bank transfer details instead.
  • The total is more than zero.

Your bank transfer details still show underneath either way โ€” some customers prefer EFT, and taking that option away would cost you payments.

What happens when someone pays

  1. The customer completes payment on PayFast.
  2. PayFast notifies us directly, server to server. This is what confirms the payment โ€” not the customer landing back on the page, which can't be trusted.
  3. We check the notification is genuinely from PayFast, signed with your passphrase, for your merchant account, and for at least the full invoice amount.
  4. Only then does the invoice flip to Paid, with the date, amount and PayFast reference recorded on it.
  5. A note goes onto the linked contact, company and deal's timeline, and everyone on your team gets a notification.

If you use webhooks, a document.paid event fires too, so you can push the payment into another system.

Briefly after paying, a customer may see "your payment is being confirmed" โ€” that's the gap between them finishing at PayFast and PayFast's confirmation reaching us, usually under a minute. They don't need to pay again, and a repeated notification from PayFast can never mark the same invoice paid twice.

What this doesn't do yet

  • No partial payments. A payment for less than the invoice total is rejected rather than recorded as a deposit.
  • No card storage or recurring collection โ€” each invoice is paid once, deliberately.
  • Rand only, as above.
Getting Paid Online: Pay Now Buttons on Your Invoices | Help | Allsorts CRM