Paystack with Easy Digital Downloads
Install the Paystack EDD extension from the WordPress plugin directory or GitHub, enter your API keys under Downloads > Settings > Payment Gateways, and configure your webhook URL. EDD handles the download delivery automatically after Paystack confirms the payment. It is lighter than WooCommerce for businesses that only sell digital products.
Why Easy Digital Downloads Over WooCommerce
WooCommerce is built for e-commerce broadly. It handles physical products, digital products, shipping zones, inventory counts, and every variation in between. That flexibility comes with weight. Database tables, admin menus, and configuration options pile up even if you only sell PDF downloads.
Easy Digital Downloads (EDD) does one thing well: sell files. If your entire product catalog consists of downloadable items (e-books, design templates, stock photos, software licenses, music files, course materials), EDD gives you exactly what you need and nothing you do not.
The practical differences that matter:
- Simpler admin. EDD's admin interface focuses on downloads, not products. No shipping settings, no inventory management, no weight calculations. Less to configure, less to break.
- Lighter performance. Fewer database queries per page load because EDD does not carry the overhead of physical product features.
- Built-in file protection. EDD generates secure, time-limited download links. Customers cannot share a permanent URL to your files.
- Software licensing. EDD has a first-party extension for software license key generation and management. If you sell WordPress plugins, themes, or other software, this is valuable.
The Paystack EDD extension brings African payment methods to this ecosystem. Your customers in Nigeria, Kenya, Ghana, and South Africa can pay with cards, bank transfers, or mobile money and receive their digital download immediately after payment confirmation.
This guide is part of the Paystack plugins and no-code integrations cluster.
Installation and Setup
Step 1: Install Easy Digital Downloads. In your WordPress admin, go to Plugins > Add New. Search for "Easy Digital Downloads." Install and activate the plugin by Sandhills Development.
Step 2: Install the Paystack EDD extension. Search the WordPress plugin directory for "Paystack EDD" or download the extension from GitHub. Install and activate it.
Step 3: Configure the Paystack gateway. Go to Downloads > Settings > Payment Gateways. You should see Paystack listed. Enable it by checking the box. Click on the Paystack tab to enter your API keys:
- Test Public Key and Test Secret Key (for testing)
- Live Public Key and Live Secret Key (for production)
Step 4: Set your currency. Under Downloads > Settings > General, set the currency to match your Paystack account. Nigerian merchants use NGN, Kenyan merchants use KES, Ghanaian merchants use GHS.
Step 5: Configure the webhook. Copy the webhook URL shown in the Paystack EDD settings. Go to your Paystack Dashboard (Settings > API Keys & Webhooks) and paste it as your webhook URL. This URL must be publicly accessible.
Step 6: Add a digital product. Go to Downloads > Add New. Enter the product name, description, and price. Under "Download Files," upload the file customers will receive after payment. Publish the product.
Step 7: Test. Enable test mode in the Paystack gateway settings. Visit your product page, add it to cart, and go to checkout. Select Paystack as the payment method. Use the test card (4084 0840 8408 4081) to complete the purchase. Verify that the download link is delivered after payment.
How Download Delivery Works
Understanding the delivery flow helps you troubleshoot when things go wrong.
When a customer purchases a download:
- EDD creates a pending payment record in your WordPress database.
- The Paystack gateway initializes a transaction with the payment amount and customer email.
- The customer completes payment on Paystack's checkout (inline popup or redirect, depending on the extension's configuration).
- Paystack sends a webhook to your site confirming the payment.
- The EDD extension verifies the transaction by calling Paystack's Verify Transaction API.
- If verification succeeds, EDD marks the payment as "Complete" and generates a secure, time-limited download link.
- The customer sees the download link on the purchase confirmation page and receives it via email.
The download link is protected. It expires after a configurable number of clicks or a time period (set under Downloads > Settings > Misc). This prevents customers from sharing a permanent link to your files.
If the webhook does not arrive (network issue, server downtime, firewall blocking), the payment stays "Pending" and the download link is not generated. The customer paid but cannot access their file. This is why webhook configuration is critical. Check the Paystack Dashboard webhook logs regularly to ensure deliveries are succeeding.
Product Configuration Tips
Multiple file downloads. A single EDD product can include multiple files. If you sell a course, you might include a PDF workbook, a video file, and a resource pack. All files are made available after payment.
Variable pricing. EDD supports variable pricing, which lets you offer different versions of a product at different prices (Standard and Premium tiers, for example). Each tier can include different files. Paystack processes the correct amount based on the customer's selection.
Discount codes. Create discount codes under Downloads > Discount Codes. These work with Paystack just like any other gateway. The discounted amount is what gets sent to Paystack for processing.
File access limits. Under Downloads > Settings > Misc, set the maximum number of times a customer can download a purchased file and how long the download link remains active. This protects against link sharing.
Customer accounts. EDD can require customers to create an account before purchasing, or it can allow guest checkout. If you sell content that customers need to access repeatedly (courses, software updates), requiring accounts makes sense. The customer can log in and re-download their purchases from their account page.
Common Issues and Fixes
Customer paid but download link not showing. The most common cause is a webhook failure. Check the Paystack Dashboard webhook logs. If the webhook delivery shows a non-200 response, your server rejected it. Common reasons: security plugin blocking POST requests, incorrect webhook URL, or PHP errors in the EDD extension. Fix the webhook issue and manually mark the payment as "Complete" in Downloads > Payment History to release the download.
Currency mismatch error. EDD's currency setting must match your Paystack account's currency. If EDD is set to USD but your Paystack account expects KES, the transaction will fail. Set the currency correctly under Downloads > Settings > General.
Checkout shows blank page or JavaScript error. This is usually a JavaScript conflict with another plugin. Temporarily deactivate other plugins to isolate the conflict. Caching plugins and JavaScript optimization plugins are common culprits. Exclude the checkout page from caching.
Download file says "No file attached." You need to upload the file under the "Download Files" section when editing the product, not in the regular WordPress media library attachment. EDD uses its own file association system.
Emails not sending after purchase. EDD sends purchase confirmation emails with download links. If emails are not arriving, check your WordPress email configuration. Many hosting providers block the default WordPress mail function. Use an SMTP plugin (like WP Mail SMTP) to route emails through a reliable email service.
Reporting and Analytics
EDD includes built-in reporting that shows earnings, sales counts, and customer data. Go to Downloads > Reports to see:
- Total earnings by date range
- Sales by product
- Top-selling downloads
- Customer purchase history
- Payment gateway breakdown (useful if you use Paystack alongside other gateways)
These reports show the WordPress side of the data. For the payment side, check your Paystack Dashboard, which shows transaction details, settlement timelines, and fee breakdowns.
For automated reporting, you can connect Paystack webhooks to Google Sheets via Zapier or n8n to build a real-time sales log that combines data from both systems.
If your digital product business grows and you need accounting integration, see Paystack with Xero or QuickBooks reconciliation for automated bookkeeping.
Key Takeaways
- ✓Easy Digital Downloads is a WordPress plugin specifically designed for selling digital products like e-books, courses, software, templates, and music.
- ✓The Paystack EDD extension handles payment processing, transaction verification, and download link delivery without needing WooCommerce.
- ✓EDD is lighter than WooCommerce because it skips shipping, inventory, and physical product features that digital sellers do not need.
- ✓Always test the full flow: purchase, payment confirmation, and download delivery. The download link should only be generated after Paystack confirms the payment.
- ✓Webhook configuration is essential. If the webhook fails, the customer might pay but not receive their download link.
- ✓EDD supports discount codes, file access limits, and customer accounts, all of which work with the Paystack gateway.
Frequently Asked Questions
- Can I sell both physical and digital products with EDD and Paystack?
- EDD is designed for digital products only. It does not have shipping, weight, or inventory features. If you need to sell both physical and digital products, WooCommerce is a better fit. You can use the Paystack WooCommerce plugin for the full e-commerce experience.
- Does the Paystack EDD extension support subscriptions?
- The base Paystack EDD extension handles one-time payments. EDD has a separate Recurring Payments extension that adds subscription support. Compatibility between the Recurring Payments extension and the Paystack gateway depends on the specific versions. Check the extension documentation for current subscription support status.
- Can I offer free downloads alongside paid ones?
- Yes. EDD lets you set a price of zero for free downloads. Customers can still be required to enter their email address to access the download, which is useful for lead generation. Paystack is not involved in free download transactions.
- How do I migrate from WooCommerce to EDD if I only sell digital products?
- EDD has import tools that can bring in products and customer data from WooCommerce. The migration involves exporting your WooCommerce products and customer records, then importing them into EDD. You will need to reconfigure the Paystack gateway settings in EDD separately, as those do not transfer from the WooCommerce plugin.
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