Paystack with PrestaShop
Download the Paystack PrestaShop module from GitHub, upload it to your PrestaShop modules directory, install and configure it through the admin panel under Modules > Payment, enter your API keys, set the webhook URL in the Paystack Dashboard, and test with a small transaction. PrestaShop is particularly popular among francophone West African merchants.
PrestaShop in the African Market
PrestaShop has a smaller footprint in anglophone Africa (Nigeria, Kenya, Ghana) than WooCommerce or Shopify, but it has a loyal user base, particularly in francophone West Africa. Merchants in Senegal, Cote d'Ivoire, Cameroon, and the Democratic Republic of Congo often choose PrestaShop because it has strong French language support, an active French-speaking community, and official documentation in French.
The platform sits between WooCommerce's flexibility and Shopify's managed simplicity. It is self-hosted (you manage your own server), but it does not require WordPress. It handles product catalogs, orders, shipping, and customer management out of the box. The module system lets you extend functionality with payment gateways, shipping integrations, and marketing tools.
For African merchants, the key advantage of PrestaShop is its multi-language and multi-currency support. A store in Cameroon can serve customers in French and English, display prices in XAF and XOF, and process payments through Paystack's supported channels. That flexibility matters in Africa's linguistically diverse markets.
This guide is part of the Paystack plugins and no-code integrations cluster.
Installing the Paystack Module
The Paystack PrestaShop module is available on GitHub. Installation is manual.
Step 1: Download the module. Clone or download the Paystack PrestaShop module from GitHub. The module should include a directory structure that matches PrestaShop's modules format.
Step 2: Upload to your server. Upload the module directory (typically named paystack) to the modules directory of your PrestaShop installation using FTP, SFTP, or your hosting file manager.
Step 3: Install through the admin panel. Log in to your PrestaShop admin (Back Office). Navigate to Modules > Module Manager (or Modules > Modules & Services in older versions). Search for "Paystack" in the module list. Click "Install."
Step 4: Configure. After installation, click "Configure" on the Paystack module. Enter your API keys from the Paystack Dashboard. Set the module to test mode. Save the configuration.
Step 5: Set the webhook URL. The configuration page should display the webhook URL. Copy it and paste it into the Paystack Dashboard under Settings > API Keys & Webhooks.
Configuration and Customization
The Paystack module configuration in PrestaShop typically includes:
API Keys. Test and live public and secret keys. Always start with test keys.
Payment Mode. Toggle between test and live environments.
Payment Title. The text that appears at checkout. You can customize this per language if your store supports multiple languages. For a French-English store, you might set "Payer avec Paystack" for French and "Pay with Paystack" for English.
Order Status Mapping. Map Paystack payment outcomes to PrestaShop order statuses. Typically: successful payment maps to "Payment accepted," failed payment maps to "Payment error," and pending payment maps to "Awaiting payment."
Checkout Style. Some versions of the module support choosing between the inline popup and the redirect flow. The inline popup keeps the customer on your site. The redirect sends them to Paystack's hosted payment page.
Logo Display. You can configure whether the Paystack logo or payment method icons (Visa, Mastercard, M-Pesa) appear at checkout.
PrestaShop's module system uses hooks to integrate with the checkout flow. The Paystack module registers on the payment hook, which means it appears as a payment option at the payment step of checkout. You do not need to modify any PrestaShop templates manually.
Multi-Language and Multi-Currency Setup
PrestaShop's native multi-language support is one of its strongest features for African merchants. Here is how it interacts with Paystack:
Language. The Paystack module's checkout text (payment method title, description, error messages) can be translated through PrestaShop's translation system. Go to International > Translations, select the module translations category, and translate the Paystack module's strings into your store's languages.
Currency. PrestaShop supports multiple currencies with automatic or manual exchange rates. However, Paystack processes payments in the currency of your Paystack account. If your store displays prices in USD but your Paystack account is in NGN, the module needs to convert the amount to NGN before sending it to Paystack. Check whether the module handles this conversion automatically or if you need to configure your store's default currency to match your Paystack account.
The safest approach: set your store's primary currency to match your Paystack account's currency. Display other currencies for convenience, but process payments in the Paystack-compatible currency. This avoids conversion errors and ensures the amount your customer sees matches the amount Paystack charges.
Testing the Integration
Test the complete checkout flow before going live:
- Enable test mode in the Paystack module configuration.
- Browse your store. Add a product to the cart.
- Go to checkout. Fill in the customer information and shipping details.
- On the payment step, select Paystack.
- Complete payment with Paystack's test card (4084 0840 8408 4081, any future expiry, CVV 408).
- Verify the order confirmation page appears.
- Check the order in your PrestaShop admin (Orders > Orders). It should have the correct status.
- Check the Paystack Dashboard for the test transaction.
- Check the Paystack webhook logs for a successful delivery.
Test edge cases too: what happens if the customer closes the payment popup? What happens if they click "Back" during payment? These scenarios should leave the order in a "Pending" or "Awaiting payment" state, not in "Payment accepted."
Once testing passes, switch to live API keys, save the configuration, and test with a small real transaction.
Common Issues and Fixes
Module not appearing at checkout. Check that the module is both installed and enabled. In PrestaShop, installing a module does not automatically enable it for all customer groups or zones. Go to the module configuration and verify it is enabled. Also check Module Manager > Modules to ensure there are no error messages.
Payment page shows a blank section. Clear the PrestaShop cache (Advanced Parameters > Performance > Clear Cache). A stale cache can prevent new modules from rendering correctly. Also check the browser console for JavaScript errors.
Order status not updating after payment. The webhook is the most likely cause. Verify the webhook URL in the Paystack Dashboard. Check the webhook delivery logs. Common blockers: the URL is wrong, the server returns a non-200 response, or a security module on your server blocks POST requests from external sources.
Currency conversion issues. If the amount charged on Paystack does not match the price displayed on your store, there is a currency mismatch. Either your store is displaying prices in a different currency than your Paystack account supports, or the conversion is incorrect. Set your primary currency to match your Paystack account and verify the amounts.
Compatibility with PrestaShop 8.x. PrestaShop 8 introduced significant changes to the module system and Symfony framework integration. Some older Paystack modules may not be compatible. Check the GitHub repository for PrestaShop 8 compatibility or look for a community fork that supports the latest version.
Key Takeaways
- ✓PrestaShop is an open-source e-commerce platform popular in francophone Africa, with a strong presence in Senegal, Cote d'Ivoire, and Cameroon.
- ✓The Paystack PrestaShop module is installed by uploading files to the modules directory and activating through the admin panel.
- ✓PrestaShop supports multi-language storefronts natively, which is useful for merchants serving both French-speaking and English-speaking customers.
- ✓Webhook configuration in the Paystack Dashboard is essential. Set the correct URL and verify delivery through webhook logs.
- ✓PrestaShop uses hooks for module integration. The Paystack module hooks into the payment step of the checkout flow.
- ✓Always test the complete checkout flow (cart to payment to order confirmation) before switching to live API keys.
Frequently Asked Questions
- Is PrestaShop free to use?
- PrestaShop is open-source and free to download. You host it yourself. The PrestaShop Addons marketplace sells premium modules and themes. The Paystack module is free (available on GitHub). Your costs are hosting, domain name, SSL certificate, and any premium modules you choose to buy.
- Can I use Paystack on PrestaShop Cloud (PrestaShop Edition)?
- PrestaShop Edition (formerly PrestaShop Cloud) is a hosted version of PrestaShop with its own module restrictions. Check whether third-party payment modules are supported on your PrestaShop Edition plan. Self-hosted PrestaShop gives you full control over module installation.
- Does the Paystack module support one-page checkout on PrestaShop?
- One-page checkout modules for PrestaShop modify the default multi-step checkout. Compatibility with the Paystack module depends on how the one-page checkout module handles payment hooks. Test the integration with your specific one-page checkout module before going live.
- Can I process refunds from the PrestaShop admin?
- Refund support depends on the Paystack module version. Some versions support initiating refunds from the PrestaShop order page, which calls the Paystack Refund API. If your version does not support this, process refunds directly through the Paystack Dashboard.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.
Apply to the McTaba Marathon