Documentation

Accept shielded Zcash payments. Non-custodial. Set up in minutes.

WooCommerce

If you run a WordPress + WooCommerce store, you can accept Zcash payments with a plugin — no coding required. The CipherPay WooCommerce plugin handles everything: creating invoices when customers check out, redirecting them to the payment page, and updating order statuses when payment is confirmed.

NOTE
Estimated setup time: 10 minutes. You need a CipherPay account (see Quickstart) and WordPress admin access.
How the plugin works

When a customer selects "Pay with Zcash" at checkout, the plugin:

1. Creates a CipherPay invoice via the API (with the order total in your store's currency)
2. Redirects the customer to the CipherPay hosted checkout page
3. The customer pays by scanning the QR code with their Zcash wallet
4. CipherPay sends a webhook back to your WordPress site
5. The plugin updates the WooCommerce order status to "Processing" or "Completed"
1Download the plugin

Download cipherpay-woocommerce.zip from the GitHub repository (Releases page).

2Install and activate

In your WordPress admin panel:

1. Go to Plugins → Add New → Upload Plugin
2. Select the cipherpay-woocommerce.zip file
3. Click Install Now, then Activate
3Configure the plugin

Go to WooCommerce → Settings → Payments → CipherPay (Zcash) and fill in:

API Key — Your CipherPay API key (starts with cpay_sk_). Find it in your CipherPay dashboard settings.
API URL — The CipherPay backend URL. Use https://api.cipherpay.app for mainnet, or https://api.testnet.cipherpay.app for testnet.
Webhook Secret — The secret used to verify webhook signatures. Found in your CipherPay dashboard settings (starts with whsec_).
Checkout Page URL — Where customers are sent to pay. Use https://cipherpay.app for mainnet, or https://testnet.cipherpay.app for testnet.
TIP
The plugin automatically detects your WooCommerce store currency and sends the correct price to CipherPay. CipherPay supports EUR, USD, GBP, BRL, CAD, AUD, CHF, JPY, CNY, KRW, INR, and more. After payment, customers are redirected back to your store's order confirmation page.
4Set the webhook URL in CipherPay

CipherPay needs to know where to send payment confirmations. In your CipherPay dashboard → Settings, set the Webhook URL to:

https://yourstore.com/wp-json/cipherpay/v1/webhook
text

Replace yourstore.com with your actual domain. This is the endpoint the plugin creates automatically.

5Test a payment

Add an item to your cart and proceed to checkout. You should see "Pay with Zcash (ZEC)" as a payment option. Select it, place the order, and you'll be redirected to the CipherPay payment page.

Pay with your Zcash wallet. Once the payment is confirmed, go back to WooCommerce → Orders. The order status should have changed automatically.

Troubleshooting
Payment option doesn't appear at checkout — Make sure the plugin is enabled in WooCommerce → Settings → Payments. Check that all required fields (API Key, API URL) are filled in.

Order status doesn't update — Verify your webhook URL is correct and accessible from the internet. Check that the webhook secret in your CipherPay dashboard matches the one in the plugin settings.

Currency mismatch — The plugin uses your WooCommerce store currency. CipherPay supports all major fiat currencies — check the API Reference for the full list.
CipherPay — Private Payments for the Internet