Download the Paystack OpenCart extension from GitHub, upload the files to your OpenCart installation, configure your API keys under Extensions > Payments > Paystack, set your webhook URL in the Paystack Dashboard, and test with a small transaction. OpenCart is a lightweight alternative to WooCommerce and Magento, popular among African merchants with modest hosting budgets.
OpenCart fills a specific niche in the e-commerce landscape. It is lighter than Magento, simpler than WooCommerce (because it does not sit on top of WordPress), and free to use. For small to mid-size African merchants, OpenCart is attractive for several reasons:
The honest tradeoff: OpenCart's community is smaller than WooCommerce's, documentation can be sparse, and the platform has fewer developers available for hire. But for straightforward e-commerce with African payment needs, it does the job well.
This guide is part of the Paystack plugins and no-code integrations cluster.
The Paystack OpenCart extension is available on GitHub. Installation involves downloading the extension files and uploading them to your OpenCart directory.
Step 1: Download the extension. Visit the Paystack OpenCart repository on GitHub. Download the ZIP file for your OpenCart version (2.x or 3.x). The extension files are different for each major version.
Step 2: Upload the files. Extract the ZIP file. You will see folders matching OpenCart's directory structure (typically admin, catalog, and system). Upload these folders to your OpenCart root directory using FTP, SFTP, or your hosting file manager. The files merge into the existing directory structure without overwriting core OpenCart files.
Step 3: Install the extension in admin. Log in to your OpenCart admin panel. Navigate to Extensions > Extensions (or Extensions > Payments, depending on version). Select "Payments" from the dropdown filter. Find "Paystack" in the list and click the green "Install" button (the plus icon).
Step 4: Configure. After installation, click the blue "Edit" button next to Paystack. Enter your API keys, set the payment status to "Enabled," configure the order status mappings, and save.
If you use OpenCart's built-in extension installer (available in 3.x), you may be able to upload the extension as a ZIP file directly through the admin panel without using FTP. Check if the extension provides an installer-compatible package.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
The Paystack extension settings in OpenCart typically include:
API Keys. Enter your Test Public Key, Test Secret Key, Live Public Key, and Live Secret Key from the Paystack Dashboard.
Test Mode. Toggle between test and live modes. Start with test mode enabled.
Order Status on Success. Set the OpenCart order status that gets assigned when a Paystack payment succeeds. "Processing" is the standard choice for stores that need to fulfill orders before marking them complete.
Order Status on Failure. Set the status for failed or abandoned payments. "Failed" or "Canceled" are typical choices.
Geo Zone. OpenCart lets you restrict payment methods to specific geographic zones. If you only want to show Paystack to customers with shipping addresses in Nigeria or Kenya, configure the appropriate geo zone.
Sort Order. If you have multiple payment methods, the sort order determines the display order at checkout. Lower numbers appear first.
Webhook URL. The extension should display the webhook URL you need to enter in the Paystack Dashboard. Copy this URL and paste it into the Paystack Dashboard under Settings > API Keys & Webhooks.
Test the full checkout flow before accepting real payments:
Also verify:
Once testing passes, switch to live mode. Enter live API keys. Update the webhook URL in the Paystack Dashboard if it changes between test and live environments. Process a small real transaction to verify the live integration.
OpenCart 2.x and 3.x have significant differences in how extensions are structured and managed:
Admin interface. OpenCart 3.x reorganized the admin menu. Extensions are under Extensions > Extensions with a category filter, rather than the flat menu structure in 2.x. The Paystack settings page location differs between versions.
Extension format. OpenCart 3.x introduced a new extension installer that accepts .ocmod.zip files. Some extensions are distributed in this format. Others still use the traditional file-upload approach. The Paystack extension may be available in one or both formats depending on the version.
OCMOD vs VQMOD. OpenCart 2.x often used VQMOD for modification files. OpenCart 3.x uses OCMOD natively. If the Paystack extension includes modification files, make sure they match your OpenCart version's modification system.
PHP version requirements. OpenCart 3.x requires PHP 7.0 or later. OpenCart 2.x can run on PHP 5.x. If you are on very old hosting with PHP 5.x, you are limited to OpenCart 2.x and the corresponding extension version. However, PHP 5.x has been end-of-life since 2018, so upgrading your PHP version is strongly recommended regardless of OpenCart version.
When downloading the Paystack extension, make sure you get the version that matches your OpenCart installation. Installing a 3.x extension on a 2.x store (or vice versa) will not work.
Extension does not appear in the payment methods list. After uploading the files, you need to install the extension through the admin panel (Extensions > Extensions > Payments > Install). Simply uploading the files is not enough. Also check file permissions: the uploaded files should be readable by the web server.
Checkout page shows error or blank payment section. Check the OpenCart error log (System > Maintenance > Error Logs). Common causes: a PHP error in the extension code (often a version mismatch), missing files from an incomplete upload, or a conflict with another extension.
Payment succeeds on Paystack but order status does not update. The webhook is not reaching your server. Check the Paystack Dashboard webhook logs. If the delivery fails, verify the webhook URL is correct and publicly accessible. Check if your hosting firewall blocks POST requests from external servers.
Currency errors. OpenCart's default currency must match what your Paystack account accepts. If your store displays prices in USD but your Paystack account expects NGN, the transaction will fail. Set your store's currency under System > Settings > Local tab.
SSL certificate issues. Paystack requires HTTPS. If your OpenCart store does not have SSL configured, the payment form will not load. Enable SSL in OpenCart admin (System > Settings > Server tab) and ensure your hosting has a valid SSL certificate.
KES 2,999
The definitive guide to building payment systems with Paystack — from your first transaction to production-grade payment infrastructure across Africa. 9 modules, 47 lessons. Free preview available.
Start Paystack Course