Open Source WooCommerce Plugin

CryptoProcessor Payment Gateway

Turn every WooCommerce sale into Bitcoin. Customers pay with BTC or credit cards — every payment settles directly to your self-hosted BTCPay Server. Build your treasury with every transaction.

Request Access Setup Guide
Version
1.3.0
License
GPL-2.0+
Requires
PHP 8.1+
Platform
WooCommerce
Requirements

What You Need

CryptoProcessor connects your WooCommerce store to BTCPay Server through a fiat on-ramp. Here's what you need to get started.

WordPress + WooCommerce

WordPress 6.0+ with WooCommerce 7.0+ installed and active. Supports both classic and block checkout.

BTCPay Server

Your own BTCPay Server instance with a synced Bitcoin node, a store, and a Greenfield API key.

Fiat On-Ramp Partner

An approved account with a fiat on-ramp provider (ChangeNOW, Onramper, or similar) for card-to-crypto conversion.

SSL Certificate

HTTPS is required for your WordPress site and BTCPay Server. All API calls and webhooks use encrypted connections.

Architecture

Plugin Structure

Clean, modular architecture with separated concerns for each integration layer.

cryptoprocessor/
  cryptoprocessor.php # Main plugin entry point
  uninstall.php # Clean uninstall handler
  includes/
    class-gateway.php # WC_Payment_Gateway extension
    class-btcpay-client.php # BTCPay Greenfield API client
    class-onramper-client.php # Fiat on-ramp API client
    class-encryption.php # AES-256-GCM credential encryption
    class-webhook-handler.php # BTCPay webhook processor
    class-blocks-integration.php # WooCommerce Block checkout
  assets/
    js/blocks-checkout.js # Block checkout registration
Setup Guide

Installation & Configuration

Get up and running in under 10 minutes.

Upload the Plugin

Upload the cryptoprocessor folder to your wp-content/plugins/ directory, or install via the WordPress plugin uploader.

Activate in WordPress

Go to Plugins → Installed Plugins and activate CryptoProcessor. WooCommerce must be active first.

Configure BTCPay Server

Navigate to WooCommerce → Settings → Payments → CryptoProcessor. Enter your BTCPay Server URL, API key, and Store ID.

BTCPay URL: https://btcpay.yourdomain.com
Store ID: Your BTCPay Store ID
API Key: Greenfield API key with invoice permissions

Set Up Webhooks

Create a webhook in your BTCPay Server store pointing to your site's webhook endpoint. Copy the webhook secret into the plugin settings.

Webhook URL: https://yourstore.com/?wc-api=cryptoprocessor
Events: Invoice Settled, Invoice Processing, Invoice Expired, Invoice Invalid

Configure Fiat On-Ramp

Enter your fiat on-ramp API key. This enables automatic card-to-Bitcoin conversion for your customers.

Test a Transaction

Place a test order on your store to verify the full flow: checkout → card payment → BTC purchase → invoice settlement.

Security

Enterprise-Grade Protection

Every layer of the plugin is built with security as the top priority.

AES-256-GCM Encryption

All API keys and credentials are encrypted at rest using authenticated encryption with WordPress salt keys. Keys never stored in plaintext.

HMAC-SHA256 Webhooks

Every incoming BTCPay webhook is verified using timing-safe HMAC-SHA256 signature comparison. Tampered requests are rejected.

Server-Side Only

All API calls happen server-side via PHP. No API keys, secrets, or sensitive data are ever exposed to the browser or frontend.

Self-Custody Treasury

Bitcoin goes directly to your BTCPay Server wallet. Every sale builds your treasury. CryptoKitt never holds, touches, or has access to your funds.

Input Sanitization

All user inputs are sanitized and escaped following WordPress coding standards. Admin settings require manage_woocommerce capability.

Clean Uninstall

Removing the plugin deletes all stored settings and order metadata. No orphaned data left in your database.

FAQ

Common Questions

Do my customers need a Bitcoin wallet?

No. Customers can pay with a standard credit or debit card. A licensed on-ramp converts their payment to Bitcoin and sends it directly to your treasury.

What happens if the Bitcoin price changes during checkout?

The BTCPay invoice locks in the exact BTC amount at the time of creation. The fiat on-ramp purchases that exact amount, so the merchant receives what was quoted.

Do I need to run my own Bitcoin node?

BTCPay Server includes a Bitcoin node. You can run a pruned node to minimize storage. A fully synced node is required before processing payments.

Is KYC required?

Merchants need an approved account with a fiat on-ramp partner (ChangeNOW, Onramper, etc.) which requires business KYC. End customers go through the on-ramp's own verification flow at checkout.

Does it work with WooCommerce Block Checkout?

Yes. CryptoProcessor supports both the classic shortcode checkout and the modern WooCommerce Block checkout out of the box.

Can I use this on multiple stores?

Yes. Each WooCommerce installation configures its own BTCPay Server and API credentials independently. There's no cross-site dependency.

Ready to Get Started?

Contact us for plugin access, setup assistance, or partnership inquiries.

Get In Touch