VDot Crypto Payment Gateway — NOW Payments

Description

The VDot Crypto Payment Gateway for NOWPayments plugin seamlessly integrates the NOWPayments payment gateway with your WooCommerce store, allowing you to accept cryptocurrency payments from customers worldwide.

Features

  • Accept 300+ cryptocurrencies including Bitcoin (BTC), Ethereum (ETH), USDT, USDC, and more.
  • Automatic conversion to stablecoins to avoid crypto volatility.
  • Live exchange rates updated in real-time.
  • Customizable payment page with QR code generation for easy payments.
  • Email notifications for payment created, received, confirmed, failed, and expired.
  • IPN (Instant Payment Notification) processing for reliable payment verification.
  • Configurable confirmation thresholds for transaction security.
  • Detailed payment logs for troubleshooting and auditing.
  • Responsive, mobile-friendly payment page.
  • Countdown timer for payment window.
  • Multi-network support (ERC-20, BEP-20, TRC-20, etc.).
  • Exchange rate caching for improved performance.
  • Multi-wallet management with smart payment routing.
  • Setup wizard for first-time configuration.
  • Settings import/export with integrity verification.
  • Admin dashboard with payment analytics and system health.
    • WooCommerce HPOS (Custom Order Tables) compatible.
    • WooCommerce Blocks Checkout compatible.
    • Full translation ready (.pot file included).
    • Secure with nonce verification and capability checks.

How it Works

  1. Customer selects cryptocurrency payment at checkout.
  2. Customer is redirected to the payment page showing the exact amount to send, wallet address, and QR code.
  3. Customer sends the exact amount from their wallet.
  4. The plugin monitors the transaction status via NOWPayments API and webhooks.
  5. Once confirmed, the order status is automatically updated.
  6. Email notifications keep the customer informed at every step.

External Services

This plugin connects to the NOWPayments API to create cryptocurrency payments and retrieve payment statuses.

Service: NOWPayments

Purpose:
Create cryptocurrency invoices, check payment status, and process payment notifications.

Data sent:

  • Order amount
  • Currency
  • Selected cryptocurrency
  • Order ID
  • Callback URL

Data is only transmitted when a customer places an order.

Hooks

Actions

vdot_npg_before_payment_created( $order_id, $payment_data )

Triggered before a payment is created via the NOWPayments API.

vdot_npg_after_payment_created( $order_id, $payment_data )

Triggered after a payment is successfully created.

vdot_npg_before_payment_status_check( $order_id, $payment_id )

Triggered before checking payment status.

vdot_npg_after_payment_status_check( $order_id, $payment_data )

Triggered after checking payment status.

vdot_npg_payment_confirmed( $order_id, $payment_data )

Triggered when a payment is fully confirmed.

vdot_npg_payment_failed( $order_id, $payment_data )

Triggered when a payment fails.

vdot_npg_payment_expired( $order_id, $payment_data )

Triggered when a payment expires.

vdot_npg_before_send_email( $email_type, $order_id, $payment_data )

Triggered before sending a payment notification email.

Filters

vdot_npg_payment_page_vars( $vars, $order_id )

Filter the variables passed to the payment page template.

vdot_npg_payment_data( $payment_data, $order_id )

Filter the payment data before saving to order meta.

vdot_npg_api_request_args( $args, $endpoint )

Filter the arguments sent to the NOWPayments API.

vdot_npg_api_response( $response, $endpoint )

Filter the response received from the NOWPayments API.

vdot_npg_confirmation_threshold( $threshold, $currency )

Filter the required confirmation count for a cryptocurrency.

vdot_npg_cache_duration( $duration, $key )

Filter the exchange rate cache duration.

vdot_npg_email_heading( $heading, $email_type, $order_id )

Filter the email heading for payment notifications.

vdot_npg_payment_page_template( $template_path, $order_id )

Filter the payment page template path.

vdot_npg_ipn_log_capability( $capability )

Filter the capability required to view IPN log entries.

vdot_npg_allowed_payment_states( $states )

Filter the list of allowed payment states for status transitions.

vdot_npg_blockchain_explorers( $explorers )

Filter the blockchain explorer URL registry.

Screenshots

Installation

Automatic Installation

  1. Go to Plugins > Add New in your WordPress admin.
  2. Search for “VDot Crypto Payment Gateway for NOWPayments”.
  3. Click Install Now and then Activate.

Manual Installation

  1. Download the plugin zip file.
  2. Go to Plugins > Add New > Upload Plugin.
  3. Select the zip file and click Install Now.
  4. Click Activate Plugin.

After Activation

  1. Complete the setup wizard that appears on first activation.
  2. Or go to WooCommerce > Settings > Payments.
  3. Find “NOWPayments Gateway” and click Set up or Manage.
  4. Enter your NOWPayments API key and IPN secret key.
  5. Configure payment settings (allowed coins, exchange rate mode, timeout, etc.).
  6. Click Save Changes.

Obtaining API Keys

  1. Register or log in at NOWPayments.
  2. Navigate to Settings > API Keys.
  3. Generate a new API key.
  4. Copy the API key and IPN secret key into the plugin settings.
  5. Set the IPN callback URL to: https://your-site.com/wp-json/vdot-nowpayments/v1/webhook

FAQ

What cryptocurrencies are supported?

Over 300 cryptocurrencies are supported including Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Bitcoin Cash (BCH), Binance Coin (BNB), Ripple (XRP), Cardano (ADA), Solana (SOL), Polygon (MATIC), USD Coin (USDC), Tether (USDT), and many more.

What networks are supported?

Support depends on the cryptocurrency. Common networks include BTC, ETH (ERC-20), BSC (BEP-20), TRX (TRC-20), MATIC, SOL, and XRP Ledger.

Are there any transaction fees?

NOWPayments charges a 0.5% fee per transaction. Additional blockchain network fees may apply.

Can I accept stablecoins?

Yes. You can enable stablecoin conversion to accept volatile cryptocurrencies while being paid in stablecoins like USDT, USDC, or DAI.

How long does the customer have to complete the payment?

The payment window is configurable in the plugin settings. The default is 30 minutes.

How many confirmations are required?

This is configurable per cryptocurrency. Default values are provided by NOWPayments based on security best practices.

What happens if the payment expires?

The order will be marked as “Failed” and the customer will receive an email notification to try again.

Is the payment page mobile-friendly?

Yes, the payment page is fully responsive and works on all devices.

Can I customize the payment page?

The payment page template is located in the plugin’s templates directory. You can override it by copying the template to your theme’s vdot-crypto-gateway-nowpayments/ directory.

How do I test the plugin?

Enable Sandbox Mode in the plugin settings. Use the NOWPayments sandbox API endpoints. No real transactions will be processed.

Is the plugin compatible with WooCommerce HPOS?

Yes. The plugin fully supports WooCommerce High-Performance Order Storage (Custom Order Tables).

Does it work with the WooCommerce Blocks Checkout?

Yes. The plugin is compatible with both the classic shortcode checkout and the new WooCommerce Blocks-based checkout.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“VDot Crypto Payment Gateway — NOW Payments” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

2026-08-21
* Updated author from Sipho213 to Nhlapo Sipho.
* Full WordPress 7.1 compatibility.
* Full PHP 8.1, 8.2, and 8.3 compatibility.
* Full WooCommerce HPOS (High-Performance Order Storage) compatibility.
* Full WooCommerce Blocks Checkout compatibility.
* Added Site Health integration: API connection test, webhook test, PHP requirements, WooCommerce requirements.
* Added payment recovery email system with automated retry notifications.
* Added invoice regeneration feature for customers and admins.
* Added admin analytics dashboard with Revenue Today, Revenue This Week, Revenue This Month, Success Rate, and Expired Payments.
* Added comprehensive error logging throughout all components.
* Added audit trail logging for all payment state changes.
* Added nonce verification to all AJAX endpoints.
* Added capability checks to all admin actions.
* Sanitized all GET, POST, and REQUEST values.
* Escaped all output using esc_html, esc_attr, wp_kses_post, and appropriate escaping functions.
* Verified ABSPATH protection in all PHP files.
* Improved uninstall cleanup for options, transients, cron jobs, and log files.
* Added keyboard navigation support across all interactive elements.
* Added ARIA labels and WCAG 2.1 Level AA compliance improvements.
* Reduced database queries with optimized order lookups.
* Added exchange rate caching for improved performance.
* Lazy loaded admin assets for faster page loads.
* Verified all text strings are translation-ready with proper text domain.
* Verified all REST endpoints use permission callbacks.
* Verified all webhooks use signature validation.
* Removed deprecated functions and improved code standards.
* Full PHPCS WordPress Coding Standards compliance.
* Plugin Check and Plugin Review ready.
* Maintained backward compatibility with existing installations.
* Production-ready for WordPress.org and commercial deployment.

1.0.0

2026-07-08
* Initial release.
* NOWPayments API integration for payment creation and status checking.
* Customizable payment page with QR code, wallet address, and countdown timer.
* WooCommerce email notifications for all payment states.
* IPN/webhook handler for automatic payment verification.
* Admin order page with detailed payment information and IPN log.
* Configurable confirmation thresholds per cryptocurrency.
* Exchange rate caching for improved performance.
* Multi-network support (ERC-20, BEP-20, TRC-20).
* Multi-wallet management with smart payment routing.
* Setup wizard for guided first-time configuration.
* Admin dashboard with payment analytics.
* Settings import/export with integrity verification.
* WooCommerce HPOS (Custom Order Tables) compatible.
* WooCommerce Blocks Checkout compatible.
* Full translation ready.