# Payment Processing

> Connect a payment gateway so your order forms, paid bookings and online store can accept real payments.

Source: https://knowledge.estage.com/commerce/payments/
Part of the ESTAGE knowledge base (https://knowledge.estage.com). Full corpus: https://knowledge.estage.com/llms-full.txt

---
The **Payment Processing** tab connects payment gateways to your project so your
[order forms](/order-forms/), paid [meeting bookings](/rooms/meeting-booking/) and
[online store](/store/) can charge real money. Connect one or several.

## Before you start

Fill in the [Business Details](/project-settings/business-details/) tab first. Most gateways
**require** your business information before they'll connect, and it appears on customer
receipts.

## Supported gateways

| Gateway | What you enter |
| --- | --- |
| **Stripe** | Publishable Key + Secret Key |
| **PayPal** | Client ID + Secret Key |
| **Razorpay** | Key ID + Secret Key |
| **Square** | Application ID + Access Token + Location ID |
| **Easy Pay Direct** | Private Security Key + Public Security Key + Webhook Signing Key |
| **Paystack** | Public Key + Secret Key — then a webhook URL in your Paystack dashboard ([see below](#paystack)) |

## Connecting a gateway

1. Click **Connect** on the gateway card.
2. Fill in the credentials from your gateway's dashboard.
3. Click **Connect My Account**.

The card shows **Active** once connected. From then on:

- **Details** shows the keys stored for the gateway (Paystack's button is **Settings** instead —
  see below).
- **Pause** stops using the gateway without removing it; **Activate** turns it back on.
- **Disconnect** removes it (a confirmation appears first).

## Paystack

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.

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

**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.

**Good to know**

- **Switching to live keys?** 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.

:::caution
Keep your [Business Details](/project-settings/business-details/) filled in even after
connecting — clearing them can break an active gateway, since the info is reused on receipts.
:::

:::tip
Your keys are stored securely and used only to process payments for your order forms. Use your
gateway's **live** keys when you're ready to take real payments, and **test** keys while you
build.
:::
