PayFast integration, done properly.
South Africa's most widely used payment gateway, integrated into your website, online shop, or app — with correct signature handling, ITN callbacks, and a checkout flow that doesn't leak customers.
What we integrate
- Standard checkout (once-off payments) for product and service sales
- Subscription and recurring billing
- Instant Transaction Notification (ITN) webhook handling
- PayFast sandbox testing before go-live
- Order confirmation emails and payment status pages
What we typically build.
Online shop checkout
A custom product catalogue with a PayFast checkout flow — cart, checkout form, payment redirect, and a confirmation page that shows when payment is confirmed. Includes ITN handling so your order system updates automatically when payments succeed or fail.
Subscription billing
Monthly or annual subscription flows for SaaS tools, membership sites, or recurring service billing. PayFast's subscription API is used — we handle the signup flow, the recurring charge setup, and cancellation handling.
Service booking with payment
A booking form that takes a deposit or full payment at the point of booking. The appointment is only confirmed once payment clears — confirmed via ITN webhook rather than a redirect URL that can be manipulated.
The things that actually break at scale.
PayFast has good documentation, but there are two areas where most self-integrated or cheaply integrated sites fail:
Relying on the return URL instead of the ITN
The return URL (where PayFast sends the customer after payment) is not a reliable confirmation of payment. A customer can close the browser before being redirected, or the URL can be visited directly without a payment ever being made. Order confirmation must come from the ITN callback — an asynchronous server-to-server notification PayFast sends when a payment is confirmed. Most poorly built integrations skip this or treat it as optional.
Incorrect signature generation
PayFast uses a MD5 signature to verify that requests haven't been tampered with. Getting the parameter order, URL encoding, and passphrase handling right requires careful implementation. An incorrect signature means payments fail silently in production — often only discovered when a customer complains they were charged but their order wasn't confirmed.
What people ask about PayFast integration.
Do I need a PayFast account before we start?
Yes — you'll need a verified PayFast merchant account. The verification process (ID document, bank account details) typically takes 1–3 business days. We can start building against the PayFast sandbox while your account is being verified, so there's no delay in the build.
What does PayFast charge per transaction?
PayFast's fee structure changes from time to time — check their official site for current rates. As of 2026, standard card payments are charged at a percentage of the transaction value, with a minimum per-transaction fee. There's no monthly fee for the standard integration. We don't mark up PayFast fees — what they charge is what you pay them directly.
Can PayFast be integrated into a mobile app?
Yes — PayFast supports in-app payment flows for Android and iOS. The integration approach is slightly different from a website integration. If you're building a custom app, this is something we scope and quote as part of the app build.
Is this included in your online shop service?
Yes. Our online shop builds include PayFast checkout as standard. If you already have an existing website or app that just needs PayFast added to it, that's a standalone integration job — we scope and quote it separately.
What platforms do you integrate PayFast into?
Custom-built websites (HTML/PHP/Node), custom mobile apps (Android/iOS), and existing sites where the backend can be accessed. We don't do plugin installations on WordPress or WooCommerce — PayFast has their own official WooCommerce plugin for that.
Tell us what you're building.
A short description of your site or app and what you need customers to pay for is enough to scope and quote the integration. WhatsApp is the fastest way to start.
