Skip to content

PayFast (South Africa)

PayFast is a South African payment provider. Connecting it to Looped Invoices lets your clients pay invoices via card, EFT, or any of PayFast’s other supported methods (Mukuro, Zapper, etc.).

The integration is per team — connect a different PayFast merchant account per team if you want.

  • A PayFast merchant account. Sign up at registration.payfast.io if you don’t have one.
  • OWNER or ADMIN on the Looped team.
  1. Log in to PayFast at login.payfast.io. Pick Aggregation at sign-in.
  2. In the sidebar, click SettingsDeveloper Settings.
  3. Take note of three values from the top of the page:
    • Merchant ID
    • Merchant Key
    • Security Passphrase (just below)
  1. Open SettingsIntegrations in Looped Invoices.
  2. Click Connect next to PayFast.
  3. Paste the three values from above.
  4. Click Save.

The badge flips to Connected and PayFast becomes a payment option on every invoice you send going forward.

When you send an invoice, the email and the Pay portal show a “Pay with PayFast” button. Clicking it submits a form to PayFast’s hosted checkout where your client picks their payment method (card, EFT, etc.) and pays.

After payment:

  1. PayFast posts a notification to Looped at app.looped.sh/invoices/api/payfast/notify/<teamId>.
  2. Looped verifies:
    • The HMAC signature using your passphrase
    • The originating IP is a known PayFast IP
    • A server confirmation call back to PayFast (defense-in-depth)
  3. If all three checks pass, the invoice flips to PAID.
  4. Funds settle into your PayFast wallet on PayFast’s standard schedule.

If the payment fails, the invoice stays PENDING and the client can retry from the same Pay link.

Looped doesn’t take a cut. Standard PayFast transaction fees apply — see payfast.io/fees for current rates.

Open SettingsIntegrations in Looped → click Disconnect next to PayFast.

Past invoices already paid stay marked paid. New invoices stop offering PayFast as a method.

You can have PayFast alongside Stripe, Yoco — the client picks one on the Pay portal. Many SA teams enable both PayFast and Yoco for redundancy + payment-method coverage.

PayFast has a sandbox for testing without real money. To use it, set up a separate sandbox account at sandbox.payfast.io and connect those credentials to a test Looped team. You can then send test invoices and pay them with PayFast’s test cards.

For full production confidence, send yourself a small live invoice and pay it for real — easy to refund afterwards from the PayFast dashboard.

  • Payment succeeds but Looped doesn’t flip to PAID — most often signature verification failure. Check that the Security Passphrase in Looped exactly matches what’s set in PayFast (no leading/trailing spaces, copy carefully). If it does, drop us a line at support@looped.sh — there may be an IP-allowlist issue.
  • Pay button isn’t showing — the invoice might have been sent before you connected the integration. Re-send the invoice; the new Pay link will include PayFast.
  • Sandbox payments aren’t going through — make sure the credentials in Looped are the sandbox credentials, not the production ones. The two are separate.