Yoco (South Africa)
Yoco is a South African payment processor. Connecting it to Looped Invoices lets clients pay you with a credit / debit card from any invoice you send.
This integration is per team — different teams in your account can have different Yoco accounts, or only some teams can use Yoco at all.
Prerequisites
Section titled “Prerequisites”- A Yoco merchant account. Sign up at hello.yoco.com/signup if you don’t have one.
- OWNER or ADMIN on the Looped team.
Get your Yoco API keys
Section titled “Get your Yoco API keys”- Log in to your Yoco account at portal.yoco.co.za.
- In the left sidebar, click Sell Online → Payment Gateway.
- Scroll to Your keys.
- Take note of:
- LIVE PUBLIC KEY (starts with
pk_live_…) - LIVE SECRET KEY (starts with
sk_live_…)
- LIVE PUBLIC KEY (starts with
You’ll paste these into Looped in the next step.
Connect Yoco in Looped
Section titled “Connect Yoco in Looped”- Open Settings → Integrations in Looped Invoices.
- Click Connect next to Yoco.
- Paste the public and secret keys you copied from Yoco.
- Click Save.
The badge flips to Connected and Yoco appears as 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 include a “Pay with Yoco” button. Clicking it opens Yoco’s hosted checkout where the client enters card details.
After they pay:
- Yoco posts a webhook to Looped at
app.looped.sh/invoices/api/yoco/notify/<teamId>. - Looped marks the invoice as
PAID. - Funds settle into your Yoco account on Yoco’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 Yoco transaction fees apply — see yoco.com/za/fees for current rates.
Disconnecting
Section titled “Disconnecting”Open Settings → Integrations in Looped → click Disconnect next to Yoco.
Past invoices that were already paid stay marked paid. Disconnection only stops new invoices from offering Yoco.
If you reconnect with different keys later, future invoices use the new account; past invoices are unchanged.
Multiple payment integrations
Section titled “Multiple payment integrations”You can have Yoco connected alongside Stripe, PayFast — clients pick which to use on the Pay portal. Some teams enable just one; others offer multiple to give clients flexibility.
Testing the integration
Section titled “Testing the integration”The simplest end-to-end test:
- Send yourself a small-value invoice (e.g. R10) to a personal email.
- Open the Pay link.
- Pay with a real card — small enough that you don’t mind eating the fee.
- Confirm the invoice flips to
PAIDin Looped within a few seconds of payment confirmation.
You can refund yourself from the Yoco portal afterwards.
Troubleshooting
Section titled “Troubleshooting”- “Yoco not configured” — check the connection in Looped settings; the keys may have been entered wrong or never saved.
- Payment succeeds in Yoco but Looped doesn’t flip to PAID — Yoco’s webhook didn’t reach Looped. Check Yoco’s portal for webhook delivery logs and verify the webhook URL is
app.looped.sh/invoices/api/yoco/notify/<teamId>. Reach out to support@looped.sh if it’s not. - Pay button is missing on the Pay link — the integration might not be enabled, or the invoice was sent before you connected. Re-send the invoice and the new Pay link will include Yoco.