### [Paystack Addon](https://wpforms.com/docs/paystack-addon/)

**Published:** October 5, 2026
**Author:** Umair Majeed

**Excerpt:** Learn how to connect Paystack to WPForms and accept payments in Nigeria, Ghana, Kenya, and South Africa.

**Content:**

Paystack Addon is a Pro Feature

 Unlock Paystack Addon and other powerful features to grow your business.

 [ Get WPForms Pro ](https://wpforms.com/pricing/) 

Would you like to accept payments from customers in Nigeria, Ghana, Kenya, or South Africa? Buyers in these countries expect to pay with the methods they already use every day, like local cards, bank transfers, and mobile money.

The Paystack addon connects your forms to Paystack so buyers complete their payment in a secure popup without leaving your site. This tutorial will show you how to install and use the Paystack addon with WPForms.

- [Connecting Paystack to Your Site](#aioseo-connecting-paystack-to-your-site)
- [Setting Up Paystack Webhooks](#aioseo-setting-up-paystack-webhooks)
- [Adding Paystack to Your Forms](#aioseo-adding-paystack-to-your-forms)
- [Testing Paystack Payments](#aioseo-testing-paystack-payments)
- [Setting Up Conditional Logic (Optional)](#aioseo-setting-up-conditional-logic-optional)
- [Frequently Asked Questions](#aioseo-frequently-asked-questions)

**Requirements:**

- You’ll need a Pro license or higher to access the Paystack addon.
- Ensure that you’ve installed WPForms version 2.0.2.2 or higher to meet the [minimum required version](https://wpforms.com/docs/why-you-should-always-use-the-latest-version-of-wpforms/#version-requirements) for the Paystack addon.
- You’ll need a Paystack account registered in Nigeria, Ghana, Kenya, or South Africa.

---

Before you get started, be sure to [install and activate WPForms](https://wpforms.com/docs/install-wpforms-plugin/) on your WordPress site. After [verifying your license](https://wpforms.com/docs/verify-wpforms-license/), you’ll be able to quickly [install and activate the Paystack addon](https://wpforms.com/docs/install-activate-wpforms-addons/).

## Connecting Paystack to Your Site

Once the Paystack addon is installed and activated, you’ll need to connect your Paystack account to WPForms. To do this, you’ll copy your API keys from your Paystack dashboard into your WPForms payment settings. We’ll walk through each step below.

### Getting Your Paystack API Keys

To get started, log in to your [Paystack dashboard](https://dashboard.paystack.com/#/settings/developers). Then click **Settings** at the bottom of the menu on the left.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-settings-1-1024x552.png) Once there, open the **API Keys & Webhooks** tab.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-dashboard-api-keys-tab-1024x350.png)Paystack shows the keys for the mode your dashboard is in. To accept real payments, you’ll need your live keys, which appear under **API Configuration – Live Mode**.

**Note:** New Paystack accounts start in Test Mode, and live keys only become available after Paystack activates your business. To activate it, open the **Compliance** page in your Paystack dashboard, complete each section, and click **Activate Business**. Your dashboard switches to Live Mode once Paystack approves your details. For the full steps, see Paystack’s guide to [activating your business](https://support.paystack.com/en/articles/2125506).

While you wait for approval, you can still try the addon with your test keys. See the Testing Paystack Payments section below.

Next, click the eye icon next to your **Live Secret Key**. Paystack will ask for your account password before it shows the key. Then copy the key.

After that, copy your **Live Public Key** from the field below it.

![](https://wpforms.com/wp-content/uploads/2026/10/copy-secret-key-1-1024x717.png)Keep this page open. You’ll paste both keys into WPForms in the next step, and you’ll come back here to add your webhook URL.

### Finishing the Connection in WPForms

In your WordPress admin area, go to **WPForms » Settings** and click on the **Payments** tab.

First, check the **Currency** setting at the top of the page. It needs to match the currency of the country where your Paystack account is registered. For example, a Kenyan account needs Kenyan Shilling (KES).

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-currency-setting-1024x142.png)**Note:** Each Paystack account processes payments in a single currency, set by the country you chose when you signed up. If the WPForms currency doesn’t match it, you’ll see a warning in your payment settings, and payments won’t go through until the currencies match.

Next, scroll down to the **Paystack** section. Paste your secret key into the **Live Secret Key** field. Then paste your public key into the **Live Public Key** field.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-live-keys-wpforms-1024x420.png)When you’re done, click **Save Settings**.

WPForms verifies your secret key with Paystack and checks that both keys belong to the mode you’re in. If a key is mistyped or belongs to the other mode, you’ll see an error right away. Live keys start with `sk_live_` and `pk_live_`, while test keys start with `sk_test_` and `pk_test_`. When the connection works, the **Connection Status** reads **Connected to Paystack in Live mode**.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-connected-2-1024x401.png)**Note:** Test Mode and live mode each use their own pair of keys. To try your form’s Paystack integration before taking real payments, see the Testing Paystack Payments section below.

## Setting Up Paystack Webhooks

Webhooks are how Paystack tells your site about payment updates that happen after a customer submits your form. For example, a webhook lets WPForms know when a bank transfer arrives or when you refund a payment from your Paystack dashboard.

Paystack doesn’t let WPForms add a webhook for you, so you’ll copy one URL from WPForms and paste it into your Paystack dashboard yourself. It only takes a minute, and you only need to do it once for each mode.

After you save your keys, 2 new settings appear in the Paystack section. Leave **Enable Webhooks** turned on. Then click the copy icon next to the **Webhooks Endpoint** field to copy your webhook URL.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-webhooks-endpoint-1024x252.png)Now go back to the **API Keys & Webhooks** page in your Paystack dashboard. Paste the URL into the **Live Webhook URL** field. Then click **Save changes**.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-webhook-url-field-1-1024x813.png)WPForms will now receive payment updates from Paystack.

**Note:** Paystack keeps separate webhook settings for Test Mode and Live Mode, but WPForms uses the same URL for both. If you’re testing first, paste the URL into the **Test Webhook URL** field. If you use both modes, add it to both fields.

## Adding Paystack to Your Forms

After connecting your account, you’re ready to accept payments in your forms. To begin, [create a new form](https://wpforms.com/docs/creating-first-form/) or edit an existing one to open the form builder.

Your form needs at least one payment field that sets an amount, such as Single Item, Multiple Items, Checkbox Items, or Dropdown Items. It also needs an Email field, since Paystack requires the customer’s email address. There’s no separate Paystack field to add. Paystack collects the payment details in its own popup when the form is submitted.

Next, go to **Payments » Paystack** in the form builder and turn on the **Enable Paystack payments** toggle.

![Dashboard showing a left-hand gateway menu (Stripe, PayPal Commerce, Square, Authorize.Net, Paystack) with Paystack selected, and a right panel to enable Paystack payments including description and customer details fields.](https://wpforms.com/wp-content/uploads/2026/10/paystack-enable-payments-builder-1024x377.png)Then fill out the settings for this form’s payments:

- **Payment Description:** A short description of the payment, such as your product or service name. It appears in the payment details in your Paystack dashboard.
- **Customer Email:** The field in your form that holds the customer’s email address. This setting is required. Paystack needs an email address to create the payment, and it sends its receipt to this address.
- **Customer Name:** The field in your form that holds the customer’s name. It appears in the payment details in your Paystack dashboard.

If your form already has an Email field and a Name field, WPForms selects them for you.

![Toggle switch to enable Paystack payments with fields for description, email, and name below it](https://wpforms.com/wp-content/uploads/2026/10/paystack-payment-settings-builder-1024x588.png)**Note:** Paystack payments need AJAX form submission, which is turned on by default for new forms. If it’s off, WPForms will remind you when you save the form. To turn it back on, go to **Settings » General**, open the **Advanced** section, and check **Enable AJAX form submission**.

When you’re done, save your form. It’s now ready to accept payments.

### How Customers Pay With Paystack

When a customer submits your form, a Paystack popup opens over the page. The form is only submitted after the payment goes through.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-checkout-popup-1024x581.png)The payment options in the popup depend on your Paystack account’s currency:

- **Nigerian Naira (NGN):** Card and bank transfer
- **Ghanaian Cedi (GHS):** Card and mobile money
- **Kenyan Shilling (KES):** Card and mobile money
- **South African Rand (ZAR):** Card

Once the payment succeeds, the popup closes and the customer sees your form’s confirmation message.

## Testing Paystack Payments

Before you start taking real payments, it’s a good idea to run a payment through your form yourself. Paystack’s test mode lets you complete the whole flow without any money moving.

### Turning On Test Mode

To make sure no real payments are processed while you’re testing, go to **WPForms » Settings** and click on the **Payments** tab.

Under Paystack, turn on the **Test Mode** toggle. The **Test Secret Key** and **Test Public Key** fields will appear in place of the live ones.

**Note:** Test Mode and live mode are set up separately, so you’ll need to add your test keys here even if you’ve already connected your live keys. WPForms will remind you of this when you switch modes.

Next, go back to the **API Keys & Webhooks** page in your Paystack dashboard. If your dashboard is in Live Mode, use the toggle at the top right of the dashboard to switch to Test Mode.

Copy your **Test Secret Key** and paste it into the **Test Secret Key** field in WPForms. Then do the same for your **Test Public Key**.

Click **Save Settings**. The **Connection Status** will read **Connected to Paystack in Test mode**.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-test-mode-connected-1024x505.png)To receive webhooks while testing, paste your **Webhooks Endpoint** URL into the **Test Webhook URL** field in your Paystack dashboard as well.

### Making a Test Payment

Next, open a page with your Paystack form on it and fill it out the way a customer would. Then submit the form to open the Paystack popup.

In test mode, the **Card** option shows test scenarios instead of card fields. Select **Success** and click the **Pay** button to complete a successful test payment. To see how your form handles a failed payment, choose **Declined** instead.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-test-card-success-1024x584.png)To enter card details yourself, click **Use another card** and use one of Paystack’s [test cards](https://paystack.com/docs/payments/test-payments/). For example, the card number `4084 0840 8408 4081` with CVV `408` and any future expiry date completes a successful payment. The same page lists test numbers for mobile money and bank transfers too.

### Viewing Your Test Payments

To find your test payments, go to **WPForms » Payments** and turn on the **Test Data** toggle.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-test-data-toggle-1024x184.png)Click on a payment to see its details. From there, the **View in Paystack** link opens the transaction in your Paystack dashboard.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-payment-details-1024x463.png)For more on payment details, statuses, and trends, check out our guide to [viewing and managing payments](https://wpforms.com/docs/viewing-and-managing-payments/).

## Setting Up Conditional Logic (Optional)

Conditional logic lets you decide when a Paystack charge should be processed, based on what the customer selects in your form. For example, you might only want to charge customers who choose a paid option.

To set this up, go to **Payments » Paystack** in the form builder and turn on **Enable Conditional Logic**. Then build the rule that decides when to process the charge.

![](https://wpforms.com/wp-content/uploads/2026/10/paystack-conditional-logic-1024x478.png)For more examples, see our tutorial on [using conditional logic](https://wpforms.com/docs/how-to-use-conditional-logic-with-wpforms/).

## Frequently Asked Questions

Below, we’ve addressed some of the most common questions about using the Paystack addon.

#### Which countries and currencies can I use with the Paystack addon?

The addon works with Paystack accounts registered in Nigeria, Ghana, Kenya, and South Africa. Each account processes payments in its country’s currency: Nigerian Naira (NGN), Ghanaian Cedi (GHS), Kenyan Shilling (KES), or South African Rand (ZAR). Set the matching currency in **WPForms » Settings » Payments**.

#### Why is my Paystack payment marked as Pending?

Bank transfers and mobile money payments can take a little longer to confirm than card payments. If a customer picks one of these options and closes the popup before Paystack confirms the payment, WPForms saves the entry and marks the payment as Pending.

Until the payment is confirmed, WPForms holds back the form’s notification emails. It also waits to activate accounts created with the [User Registration addon](https://wpforms.com/docs/how-to-install-and-use-user-registration-addon-with-wpforms/) and to count the use of any coupon. Once Paystack confirms the payment, WPForms marks it Completed and finishes these steps. With webhooks set up, this usually takes a few seconds. Without them, it can take up to 30 minutes.

#### Do I need to set up webhooks?

We recommend it. Without webhooks, WPForms checks with Paystack every 15 minutes and updates payments that are still waiting, so bank transfers and mobile money payments still complete. Card payments stay Processed for up to 30 minutes until that check marks them Completed. However, refunds you make in your Paystack dashboard won’t sync back to WPForms.

If WPForms notices that payments are only updating through these checks, it shows a notice in your WordPress admin asking you to check your webhook setup. To fix it, copy the **Webhooks Endpoint** URL from **WPForms » Settings » Payments** into the Webhook URL field for the mode you’re using in your Paystack dashboard.

#### Why does my form say “Payments are currently unavailable”?

This message appears when WPForms can’t process a Paystack payment on your form. Here are the most common causes and how to fix each one:

- **Paystack isn’t connected in the current mode**: For example, Test Mode is turned on, but no test keys are saved. Go to WPForms » Settings » Payments and add the keys for the mode you’re using.
- **The currencies don’t match**: Paystack only processes payments in your account’s currency, so changing the WPForms currency pauses payments. Set the currency back to match your Paystack account.
- **AJAX form submission is turned off**: Paystack payments need AJAX form submission, and some form templates, including the User Registration templates, have it turned off by default. To turn it on, open your form’s Settings » General, expand Advanced, and check Enable AJAX form submission.

#### Why do I see “The payment amount is below the minimum allowed”?

Paystack sets a minimum amount for each currency, and WPForms checks the total before it opens the popup. The minimums are NGN 50, GHS 0.10, KES 3, and ZAR 1. If your form’s total can fall below this amount, adjust your prices or use conditional logic to skip the charge for those orders.

#### Does WPForms store my customers’ card details?

No. The Paystack popup is hosted by Paystack, so card details go directly to Paystack and never touch your site. WPForms only saves the payment record, along with the card brand and last 4 digits for your reference.

That’s it! You can now accept card, bank transfer, and mobile money payments through the WPForms Paystack addon.

Next, want to keep a closer eye on the payments coming through your forms? Check out our guide to [viewing and managing payments](https://wpforms.com/docs/viewing-and-managing-payments/) to learn about payment details, statuses, and refunds.

**Categories:** Payments, Advanced (Pro) Addons

---

