NakoPay for Easy Digital Downloads
NakoPay plugin for edd
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/nakopayhq/plugin-edd/archive/refs/heads/main.zipCrypto checkout gateway for Easy Digital Downloads. Payments settle directly to your wallet - NakoPay never touches your funds.
Requirements
- WordPress 6.0+
- Easy Digital Downloads 3.0+
- PHP 8.0+
- A NakoPay account (sign up free)
Install
Option A: Upload zip (recommended)
- Download
nakopay-edd.zipfrom the latest release - In wp-admin: Plugins > Add New > Upload Plugin > Choose File > pick the zip > Install Now > Activate
Option B: Clone from GitHub
cd wp-content/plugins
git clone https://github.com/NakoPayHQ/plugin-edd.git nakopay-edd
Activate in wp-admin: Plugins > Installed Plugins > NakoPay for Easy Digital Downloads > Activate
Configure
- Get your API key at nakopay.com/dashboard/api-keys
- In wp-admin: Downloads > Settings > Payments > Gateways
- Check NakoPay (Bitcoin) to enable it
- Click the NakoPay tab under Gateway Settings
- Paste your Secret key (
sk_test_*orsk_live_*) in the API Key field - Paste your Webhook Signing Secret (
whsec_*) in the Webhook Secret field - Click Save Changes
Webhook URL
Set this URL in your NakoPay dashboard at nakopay.com/dashboard/webhooks:
https://your-site.com/?edd-listener=nakopay
Subscribe to events: invoice.paid, invoice.expired, invoice.canceled
Test mode
Use sk_test_* keys and enable EDD Test Mode to test the full checkout flow
without real funds. Flip to sk_live_* when you're ready for production.
How it works
- Customer selects "Bitcoin via NakoPay" at EDD checkout
- Plugin creates a NakoPay invoice via the API
- Customer is redirected to NakoPay's hosted checkout page (QR code + pay address)
- On payment confirmation, NakoPay sends a webhook to your site
- Plugin verifies the HMAC-SHA256 signature and marks the EDD payment as complete
- Customer receives download links
Supported features
- [x] One-time purchases
- [x] Hosted checkout (redirect)
- [x] HMAC-SHA256 webhook verification
- [x] Test/live mode toggle
- [x] Transaction ID storage for accounting
- [x] Automatic payment status updates
Troubleshooting
NakoPay doesn't appear at checkout
- Downloads > Settings > Payments > Gateways - make sure NakoPay is checked
- Make sure you have an API key entered in the NakoPay settings tab
Payment stays pending after customer pays
- Check the webhook URL in nakopay.com/dashboard/webhooks matches your domain
- Re-paste the
whsec_*secret (don't retype) - Resend the webhook from the dashboard - one-click retry
"Could not create NakoPay invoice" error
- Verify your API key is valid at nakopay.com/dashboard/api-keys
- Check your server can make outbound HTTPS requests
Support
About Easy Digital Downloads
Easy Digital Downloads - WordPress plugin for selling digital products. Visit their website to learn more about the platform and its features.
License
MIT
Subscription Webhooks
NakoPay supports recurring crypto subscriptions. When enabled, your webhook endpoint receives these additional events:
| Event | Description |
|---|---|
subscription.created |
New subscription activated |
subscription.renewed |
Renewal invoice generated, billing period advanced |
subscription.past_due |
Payment overdue (3-day grace period expired) |
subscription.updated |
Subscription details changed |
subscription.canceled |
Subscription ended (manual cancel or non-payment after 7 days past due) |
Each event payload includes the subscription id, amount, coin, interval, status, and metadata (plan name, plan ID). Renewal and past-due events also include the invoice_id.
To enable subscription webhooks, add subscription.* to your webhook endpoint's enabled events in your NakoPay dashboard at nakopay.com/dashboard/settings.