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.
Prerequisites
Section titled “Prerequisites”- A PayFast merchant account. Sign up at registration.payfast.io if you don’t have one.
- OWNER or ADMIN on the Looped team.
Get your PayFast credentials
Section titled “Get your PayFast credentials”- Log in to PayFast at login.payfast.io. Pick Aggregation at sign-in.
- In the sidebar, click Settings → Developer Settings.
- Take note of three values from the top of the page:
- Merchant ID
- Merchant Key
- Security Passphrase (just below)
Connect PayFast in Looped
Section titled “Connect PayFast in Looped”- Open Settings → Integrations in Looped Invoices.
- Click Connect next to PayFast.
- Paste the three values from above.
- Click Save.
The badge flips to Connected and PayFast becomes a payment option on every invoice you send going forward.
What clients see
Section titled “What clients see”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:
- PayFast posts a notification to Looped at
app.looped.sh/invoices/api/payfast/notify/<teamId>. - 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)
- If all three checks pass, the invoice flips to
PAID. - 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.
Disconnecting
Section titled “Disconnecting”Open Settings → Integrations in Looped → click Disconnect next to PayFast.
Past invoices already paid stay marked paid. New invoices stop offering PayFast as a method.
Multiple payment integrations
Section titled “Multiple payment integrations”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.
Testing the integration
Section titled “Testing the integration”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.
Troubleshooting
Section titled “Troubleshooting”- 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.