Why we built around PayFast
Choosing a payment processor is a long-term commitment. Here is why we picked PayFast for ClientPulse — and what that means for you.
When we sat down to pick a payment processor for ClientPulse, we had three real options for the South African market: PayFast, Yoco Online, and PayGate (now Network International).
We picked PayFast. Here is why, and what that decision means for you as a customer.
The criteria
For a CRM aimed at SA small business, the payment processor needs to be:
- Familiar to South African customers. When they hit the pay screen, they should not be confused by an interface they have never seen.
- PCI-DSS Level 1 compliant, so we never touch card numbers ourselves.
- Multi-instrument — card, EFT, Instant EFT, SnapScan, Zapper. SA payments are diverse.
- Subscription-capable, because half of our customers want recurring billing.
- Reasonable fees on small transactions, because R200 invoices are common.
PayFast scored highest on every criterion. It is the most familiar pay flow for SA customers — there is a real brand recognition that translates to higher completion rates. It supports every instrument we needed, including subscriptions. And the fee structure works at small ticket sizes.
What this means for you, the operator
When you create an invoice in ClientPulse, the pay link goes to PayFast's hosted checkout. The customer sees a payment screen they recognise. They pay with whatever instrument is most convenient — card, EFT, SnapScan, whatever.
The payment confirmation comes back to ClientPulse via webhook within seconds. The invoice is marked paid. The receipt and tax invoice are generated automatically.
You never see card numbers. We never see card numbers. PayFast is the only party in the loop with cardholder data.
The subscription angle
In April 2026 we shipped automatic tax-invoice generation when a PayFast subscription payment succeeds. This was the missing piece for businesses on retainer or monthly billing.
Before that change, recurring payments came in as receipts but you had to manually issue a sequential tax invoice every month. Now it happens automatically — sequential numbering, stored against the client, ready for SARS.
That feature exists specifically because PayFast's webhook coverage is comprehensive enough to make it work cleanly. If we had picked a different processor, that feature would have shipped six months later or not at all.
The trade-off we accepted
PayFast is ZAR-only for settlement. If you invoice in USD or EUR, the payment converts to ZAR at PayFast's rate.
Some businesses with USD-heavy clients have asked us why we do not also support Stripe. The honest answer is that Stripe Africa coverage was thin when we started, and the second-processor maintenance cost is real. We may add Stripe later for cross-border-heavy businesses, but the default will remain PayFast for SA.
What we did not want
We did not want to build a payment processor ourselves. We did not want to be in the cardholder-data business. We did not want to take on PCI compliance scope.
PayFast carries that load. We integrate, we get notified, we update the invoice. The payment system stays cleanly outside our blast radius.
For our customers, that is actually the most important thing this article is about: when ClientPulse takes payment, your customer's card data never lives inside ClientPulse, even for a moment. That is by design and it is a property of the architecture, not a policy.
A boring article about a payment processor choice. But getting this layer right is what lets the rest of the product feel simple.