ESTAGE Support
IdeasMy tickets

Paystack

Updated October 25, 2026

Connect Paystack — a key pair of one mode, the webhook URL you paste into your Paystack dashboard, currencies, and going live.

Paystack takes payments in NGN, GHS, ZAR, KES, XOF and USD. USD is open to Nigerian and Kenyan Paystack accounts only. It works on order forms (one-off products, subscriptions and free trials), paid meetings and the online store checkout.

Paystack doesn't need Business Details before it can be offered on an order form.

Connecting Paystack

  1. In the Paystack dashboard, open Settings → API Keys & Webhooks and copy a Public Key and a Secret Key of the same mode: pk_test_ + sk_test_ while you test, pk_live_ + sk_live_ when you go live. A typo or a mixed pair is refused with Invalid API Key provided.
  2. In Genesis, open Settings → Payment Processing. Click Connect on the Paystack card, paste both keys and click Connect My Account.
  3. Click Settings on the Paystack card. It holds your keys and the webhook block: copy the URL, paste it into the same Paystack page — into Test Webhook URL for test keys or Live Webhook URL for live ones — save there, then click I've added it. Paystack has no way for us to register it for you.
  4. Make a test purchase. The webhook status turns to Webhook works when Paystack's first event arrives (usually within seconds of paying).
  5. In your ESTAGE CRM, add Paystack to the payment providers of each product it should sell. The currency menu then offers only what Paystack can charge in.

Right after you connect, the Settings window opens by itself with the webhook block. You can also connect from your CRM: Settings → Payments, Connect on Paystack, then Settings on its row for the webhook.

Why the webhook matters

One-off purchases are recorded without it. Subscription renewals, refunds, and a purchase whose buyer closed the tab right after paying are recorded only through the webhook. Until it's in place, the Paystack card carries a notice — Webhook not set up, or Webhook not confirmed after you've clicked I've added it but before the first event arrives.

Things worth knowing

  • Switching to live keys? Enter the live pair in the Paystack Settings and select Save keys — your products keep Paystack. Then paste the URL again, this time into Live Webhook URL. The status starts over until a live event arrives.
  • One Paystack account on several projects? Paystack keeps one webhook URL per account. Paste the URL of just one of those projects; it serves all of them, and the others say so in their Settings.
  • Free trials take a small card check (for example ZAR 1 or NGN 50) that is refunded at once; the first real charge comes when the trial ends.
  • What buyers see: Paystack's checkout opens over your page. If their browser won't let it open there, they pay on Paystack's own checkout page and come straight back to your site.
  • Paid bookings aren't refunded automatically. Cancelling one flags it Refund by hand in Bookings; refund it in Paystack.

Related: Payment Processing · What your buyers see

Was this helpful? Still stuck? Write to the team