Accept Bitcoin and crypto payments for MemberPress memberships, courses, and subscriptions. Non-custodial, wallet-to-wallet - NakoPay never holds your funds.
- WordPress 6.0+
- MemberPress 1.9+
- PHP 8.0+
- A NakoPay account (sign up free)
- Download
nakopay-memberpress.zipfrom the latest release - In wp-admin: Plugins > Add New > Upload Plugin > Choose File > pick the zip > Install Now > Activate
cd wp-content/plugins
git clone https://github.com/NakoPayHQ/plugin-memberpress.git nakopay-memberpressActivate in wp-admin: Plugins > Installed Plugins > NakoPay for MemberPress > Activate
- Get your API key at nakopay.com/dashboard/api-keys
- In wp-admin: MemberPress > Settings > Payments tab
- Click Add Payment Method (or the + button)
- Select NakoPay (Bitcoin) from the Gateway dropdown
- 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 Update Options
Set this URL in your NakoPay dashboard at nakopay.com/dashboard/webhooks:
https://your-site.com/?mepr-listener=nakopay
Subscribe to events: invoice.paid, invoice.expired
Use sk_test_* keys to test the full checkout flow without real funds. Flip
to sk_live_* when you're ready for production.
- Member selects a membership and chooses "NakoPay (Bitcoin)" as payment method
- Plugin creates a NakoPay invoice via the API
- Member 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 activates the membership
- Member gets immediate access to protected content
- One-time membership payments
- Hosted checkout (redirect)
- HMAC-SHA256 webhook verification
- Test/live mode toggle
- Transaction ID storage
- Automatic membership activation
- Admin settings panel
- Recurring subscription renewals (planned)
NakoPay doesn't appear in the gateway dropdown
- Make sure MemberPress is installed and active before activating NakoPay for MemberPress
- Deactivate and reactivate the NakoPay plugin
Membership doesn't activate after payment
- 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
"NakoPay error" on checkout
- Verify your API key is valid at nakopay.com/dashboard/api-keys
- Check that the API key starts with
sk_test_orsk_live_
MemberPress - WordPress membership plugin for subscriptions, courses, and paywalls. Visit their website to learn more about the platform and its features.
MIT
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.