[Skip to main content](#vessel-content)

☰ Documentation

#  Paystack payment plugin

Details    Written by: Administrator    Category: [Payment plugins](/support/documentation/hikashop/payment-plugins)     Published: 09 November 2026     Hits: 7

## Installation

- 1) Open a Paystack account at paystack.com. It starts in test mode; it takes real payments once Paystack has verified your business.
- 2) Download the Paystack plugin from our website, install it on your Joomla or WordPress website and enable it.
- 3) In HikaShop, go to System &gt; Payment methods, click New, choose Paystack, and type your secret key: in your Paystack dashboard, Settings, API Keys &amp; Webhooks, the test secret key (sk\_test\_...) to try it, the live one (sk\_live\_...) to take real payments. Save.
- 4) Copy the Webhook URL the payment method shows, and paste it on the same page of your Paystack dashboard, in the Webhook URL of the mode of your key (Test Webhook URL for a test key, Live Webhook URL for a live one). Leave the Callback URL empty: the plugin sends its own with each payment.
- 5) Make a test payment with the test cards Paystack lists in its documentation, then replace the test key with the live one, and set the live webhook URL in the dashboard.

## Configuration

![The Paystack settings in the HikaShop payment method](/images/doc/plugins/paystack/paystack_settings.png)

- **Secret key**: the secret key of your Paystack account. A test key (sk\_test\_...) puts the payment method in test mode, which "test mode" next to the method at the checkout reminds you of; a live key (sk\_live\_...) takes real payments. Paystack also signs its notifications with it. Left empty, the payment method refuses to start a payment.
- **Webhook URL**: shown only, the address to paste in your Paystack dashboard so Paystack notifies your shop. Without it, an order is only confirmed when the customer comes back to your shop.
- **Payment channels**: the channels offered on the Paystack page. Leave them all unticked to offer those turned on in your Paystack dashboard. A channel is only shown when your account and the currency of the order have it.
- **Debug**: writes every exchange with Paystack in the payment log of HikaShop. Turn it on while you test or look into a problem.
- **Invalid status**: the status of an order whose payment failed or was cancelled on the Paystack page (cancelled by default).
- **Verified status**: the status of a paid order (confirmed by default).
- **Refunded status**: moving an order to this status refunds what is left of its payment on Paystack (refunded by default).

## Troubleshooting

- "The payment could not be started (Currency not supported by merchant)": your Paystack account does not take the currency of the order. Each account takes the currencies of its country (a Nigerian business NGN and USD, a Ghanaian one GHS...): show this payment method only for those currencies.
- "The payment could not be started ("email" must be a valid email)": Paystack needs a real email address for the customer.
- "The key typed is a public key": you pasted the public key (pk\_...); the plugin needs the secret key (sk\_...).
- Orders stay in the created status after a payment: the webhook URL is missing from your Paystack dashboard, or set in the other mode (test or live) than your key; the customers who come back to the shop still confirm their order.
- "The refund was refused by Paystack": the order keeps its status, and the payment log of HikaShop has Paystack's reason (only a successful payment can be refunded, never more than what is left of it).
- A refund refused by Paystack after it was accepted (a "failed" line in the history) is no longer counted: you can refund again.
