PayGate

Enable online invoice payments, connect providers, and automate reconciliation.

8 min read
Last updated 2026-02-03
Overview
PayGate adds a Pay Now button and keeps invoice status in sync when payments clear.

What PayGate does

Adds a Pay Now button to invoices.

Connects to your payment provider (PayFast, Yoco, PayStack, and more).

Auto-updates invoice status when webhooks confirm payment.

Test mode vs Live mode

Use Test mode to validate your setup before charging real customers.

Use Live mode when you’re ready to take real payments.

If you see authentication errors (e.g. invalid_client), the most common cause is a mismatch between selected mode and the credentials you entered.

Fast check

If PayGate is set to Live mode, make sure you’ve entered Live keys (not test keys).

If PayGate is set to Test mode, make sure you’ve entered test/sandbox keys.

Which credentials do I paste into PayGate?

Each provider uses different credential names (Merchant ID, Secret Key, Client ID, etc). Illumi shows the exact field labels for the selected provider.

Keep credentials private. Never share them in emails or invoices.

If you rotate keys in your provider dashboard, update them in Settings → PayGate immediately.

Warning

Never paste provider secret keys into invoices, emails, or client notes. Only paste them into Settings → PayGate.

Set it up

1. Go to Settings → PayGate
Choose your provider and connect your credentials.
2. Set your primary provider
If you connect multiple, pick one as primary.
3. Send a test invoice
Use Preview and send yourself a test invoice to confirm the Pay Now flow.
Pay page URL format
Use this format to share a direct pay link (provider is optional if you set a primary provider).
https://www.illumi.co.za/pay/<INVOICE_NUMBER>?provider=<provider>

Webhooks (payment status updates)

Some providers send a server-to-server webhook after payment completes so Illumi can automatically mark the invoice paid.

Only configure webhook endpoints that match your connected provider. If you’re unsure, start by testing Pay Now links first.

Note

Stripe uses a webhook secret (STRIPE_WEBHOOK_SECRET) to verify events. If you set up Stripe webhooks, you must set that secret on the server.

Stripe webhook endpoint
Use this endpoint when configuring Stripe webhooks (Checkout Session Completed).
https://www.illumi.co.za/api/webhooks/paygate
PayFast ITN endpoint (subscription / server notifications)
Use this endpoint if your PayFast flow requires ITN/notify callbacks (provider dependent).
https://www.illumi.co.za/api/payfast/notify

UI preview

PayGate settings
Test mode
PayFast
Available
Yoco
Available
PayStack
Available
Connect