Skip to content

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.

  • A Yoco merchant account. Sign up at hello.yoco.com/signup if you don’t have one.
  • OWNER or ADMIN on the Looped team.
  1. Log in to your Yoco account at portal.yoco.co.za.
  2. In the left sidebar, click Sell OnlinePayment Gateway.
  3. Scroll to Your keys.
  4. Take note of:
    • LIVE PUBLIC KEY (starts with pk_live_…)
    • LIVE SECRET KEY (starts with sk_live_…)

You’ll paste these into Looped in the next step.

  1. Open SettingsIntegrations in Looped Invoices.
  2. Click Connect next to Yoco.
  3. Paste the public and secret keys you copied from Yoco.
  4. Click Save.

The badge flips to Connected and Yoco appears as a payment option on every invoice you send going forward.

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:

  1. Yoco posts a webhook to Looped at app.looped.sh/invoices/api/yoco/notify/<teamId>.
  2. Looped marks the invoice as PAID.
  3. 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.

Open SettingsIntegrations 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.

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.

The simplest end-to-end test:

  1. Send yourself a small-value invoice (e.g. R10) to a personal email.
  2. Open the Pay link.
  3. Pay with a real card — small enough that you don’t mind eating the fee.
  4. Confirm the invoice flips to PAID in Looped within a few seconds of payment confirmation.

You can refund yourself from the Yoco portal afterwards.

  • “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.