Integrates NOWPayments cryptocurrency payment processing into your e-commerce store.
npm install vendure-plugin-nowpayments
A cryptocurrency payment gateway plugin for Vendure that integrates with NOWPayments.io, enabling your store to accept payments in Bitcoin, Ethereum, and 100+ other cryptocurrencies.
Add the plugin to your Vendure config:
https://yourdomain.com/nowpayments/ipn
Status | Order State | Description |
---|---|---|
finished | PaymentSettled | Payment completed successfully |
partially_paid | PaymentAuthorized | Partial payment received |
confirming | PaymentAuthorized | Payment is being confirmed |
confirmed | PaymentAuthorized | Payment confirmed on blockchain |
sending | PaymentAuthorized | Payment is being sent |
waiting | PaymentAuthorized | Payment is waiting for user action |
expired | PaymentDeclined | Payment has expired |
failed | PaymentDeclined | Payment failed |
Option | Type | Required | Default | Description |
---|---|---|---|---|
apiKey | string | ✅ | - | Your NOWPayments.io API key |
ipnSecret | string | ✅ | - | Your NOWPayments.io IPN secret |
host | string | ❌ | 'http://localhost:3000' | Your Vendure server host |
sandbox | boolean | ❌ | false | Enable sandbox mode for testing |
useInvoices | boolean | ❌ | false | Use invoices instead of direct payment links |
invoicePrefix | string | ❌ | 'VC-' | Prefix for invoice numbers (must not end with digit) |
simpleTotal | boolean | ❌ | false | Use simple total calculation |
allowZeroConfirm | boolean | ❌ | true | Allow zero confirmation payments |
formSubmissionMethod | boolean | ❌ | true | Use form submission method |
debugEmail | string | ❌ | - | Email for debug notifications |
debugPostUrl | string | ❌ | - | URL for debug POST notifications |
is_fixed_rate | boolean | ❌ | false | Use fixed rate pricing for cryptocurrency conversions |
is_fee_paid_by_user | boolean | ❌ | false | Whether transaction fees are paid by the user |
The plugin extends the Vendure GraphQL API with the following:
nowpayments
- The payment method handler for NOWPaymentsPOST /nowpayments/ipn
- Webhook endpoint for NOWPayments IPN callbacksThe plugin automatically generates the following URLs for payment flows:
{host}/checkout/confirmation/{orderCode}
- Redirected to after successful payment{host}/checkout/cancel/{orderCode}
- Redirected to if payment is cancelled{host}/nowpayments/ipn
- Webhook endpoint for payment notificationsNote: Replace {host}
with your actual Vendure server URL (e.g., https://yourdomain.com
).
IPN not received:
Invalid signature errors:
Payment not settling:
Sandbox mode issues:
NOWPAYMENTS_SANDBOX=true
is setEnable debug mode by setting the environment variable:
This will log detailed information about payment processing and IPN handling.
For support with this plugin:
This plugin is licensed under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
See CHANGELOG.md for a list of changes between versions.
Add Release commit