Accept Paystack
payments on WooCommerce
The PaymentHood plugin registers Paystack as a standard WooCommerce payment gateway, so it appears in the normal checkout alongside your other methods and works with both the classic and block-based checkout. Paystack's card, bank transfer, USSD and mobile money channels all arrive through that one gateway entry — you do not install a plugin per payment method.
- NGN
- GHS
- ZAR
- KES
- USD
- Platform
- WooCommerce 6.0+
- Provider
- Paystack
- Install via
- Plugins → Add New → Upload Plugin
- Billing
- One-time
- PaymentHood fee
- None
Paystack on WooCommerce at a glance
- WooCommerce version
- WooCommerce 6.0+
- Where you install it
- WordPress admin → Plugins → Add New → Upload Plugin
- Coverage
-
- Nigeria
- Ghana
- South Africa
- Kenya
- Côte d'Ivoire
- Currencies
-
- NGN
- GHS
- ZAR
- KES
- USD
- Billing models
- One-time checkout payments. Recurring billing is not supported by the WooCommerce plugin yet.
- Cost
- The plugin is free and open source. You pay Paystack's own fees, published on their pricing page (opens in new tab). PaymentHood adds nothing on top.
Coverage, currencies and payment methods as published by Paystack, who set and update them. For the current list see Paystack's own documentation (opens in new tab).
What WooCommerce customers can pay with
Each method Paystack supports appears in your WooCommerce checkout. Enabling one is a PaymentHood dashboard setting — nothing changes on the WordPress side.
Cards
Visa, Mastercard and Verve debit and credit cards
Bank transfer
Customer-initiated transfer to a generated account number
USSD
Nigerian bank shortcodes, no smartphone required
Mobile money
M-PESA, MTN, AirtelTigo and Vodafone, in the countries where each operates
QR
Scan-to-pay at checkout
Dedicated Virtual Account
A persistent account number per customer, for recurring collections
Running Paystack on WooCommerce
Your store currency has to be one Paystack accepts
WooCommerce charges in a single store currency, set under WooCommerce → Settings → General. Paystack settles in NGN, GHS, ZAR, KES and USD, and which of those your account can actually charge in depends on the country you registered it in. If your store currency is outside that set, the gateway will not appear at checkout — that is the first thing to check when Paystack is configured but not showing.
Block checkout and classic checkout both work
The plugin registers through the standard WooCommerce gateway API, so it renders in the older shortcode checkout and in the newer Cart/Checkout blocks without a separate setting. If you have migrated to blocks and the method is missing, the cause is almost always the currency mismatch above rather than block incompatibility.
Webhooks need a publicly reachable store
Paystack confirms payment by calling back to your server, and PaymentHood verifies that callback's HMAC SHA512 signature before it marks an order paid. A local or firewalled staging site never receives the callback, so orders sit in pending even though the payment succeeded. Use sandbox mode on a publicly reachable URL when testing, not localhost.
One-time orders only, for now
The WooCommerce plugin covers standard one-off checkout. It does not yet drive WooCommerce Subscriptions renewals, so a subscription product will take its first payment but not rebill. If you need recurring billing today, WHMCS is the PaymentHood integration that supports it.
Connect Paystack to WooCommerce
Four steps, no code. The full walkthrough with screenshots is in the WooCommerce installation guide.
Open a Paystack account
Register with Paystack and finish their onboarding. Funds settle from Paystack to your own bank account.
Add it in PaymentHood
Paste your Paystack credentials into the PaymentHood dashboard. They stay server-side and never reach your storefront.
Install the plugin
Download the WooCommerce plugin and install it from Plugins → Add New → Upload Plugin in your WordPress admin.
Enable and test
Paste your PaymentHood API key into the plugin settings, run a sandbox order end to end, then switch to live.
Rather than a direct Paystack plugin
A single-provider plugin works until you need a second provider. These are the parts you would otherwise build and maintain yourself.
- Webhook security
- HMAC SHA512 signature on the x-paystack-signature header, verified before any order is marked paid
- Payment verification
- Server-side transaction re-verification against the Paystack API before fulfilment
- Credentials
- Secret key, held server-side in PaymentHood — never exposed to the storefront
- Add a second provider without touching your WooCommerce checkout
- Automatic failover when Paystack is unreachable, instead of a failed order
- Idempotent charge creation, so a double-submitted order is not a double charge
- One reconciliation view across every provider you run
- Free and open source — read the plugin on GitHub (opens in new tab)