WooCommerce
WordPress WooCommerce plugin for USDT/USDC blockchain payment monitoring. Auto-detect stablecoin transfers at checkout with PayzCore webhook notifications.
WooCommerce Integration
The PayzCore WooCommerce plugin adds USDT/USDC blockchain monitoring as a payment method in your WordPress store.
- WordPress.org: wordpress.org/plugins/payzcore-for-woocommerce
- Source: github.com/payzcore/woocommerce
- Requirements: WordPress 5.8+, WooCommerce 7.0+, PHP 7.4+, PayzCore account
How It Works
- Customer selects "Pay with USDT/USDC" at checkout.
- WooCommerce creates the order and the plugin calls the PayzCore API.
- Customer sees the wallet address, QR code, and exact amount to send.
- Customer sends stablecoins from their wallet.
- PayzCore detects the transfer on-chain and sends a webhook.
- Plugin receives the webhook and updates the order status to "Processing".
PayzCore monitors the blockchain for the transfer. The plugin does not handle any funds — it only reads the PayzCore API and updates WooCommerce order statuses.
Installation
From WordPress.org (Recommended)
- In WordPress admin: Plugins > Add New
- Search for "PayzCore"
- Click Install Now then Activate
Manual Upload
- Download the latest plugin ZIP from WordPress.org (use the Download button)
- In WordPress admin: Plugins > Add New > Upload Plugin
- Upload the ZIP file and click Activate
Configuration
- Go to WooCommerce > Settings > Payments
- Enable PayzCore (Stablecoin) and click Manage
- Fill in the settings:
| Setting | Value | Notes |
|---|---|---|
| API Key | pk_live_... | From your PayzCore project |
| Webhook Secret | whsec_... | From your PayzCore project |
| Title | "Pay with USDT" | Shown to customer at checkout |
| Description | Payment instructions | Shown below the title |
-
Click Save changes. On save the plugin tests the connection and calls
GET /v1/configto detect the networks and tokens of your connected wallet. The Connection Status row shows the result. The checkout network and token dropdowns are filled automatically; no manual selection is needed. -
Set your webhook URL in the PayzCore dashboard to:
https://yourstore.com/wp-json/payzcore/v1/webhookOrder Status Mapping
| PayzCore Event | WooCommerce Status | Notes |
|---|---|---|
payment.completed | Processing | Normal successful payment |
payment.overpaid | Processing | Order note added with overpayment details |
payment.partial | On Hold | Customer needs to send remaining amount |
payment.expired | Cancelled | Payment window closed. Paying the order again creates a new payment (v1.0.3+, order id {order_id}-r…) |
Checkout Block and Classic Checkout
Since v1.0.3 the plugin supports both checkouts:
- Checkout block (the default for new stores since WooCommerce 8.3): PayzCore appears as a payment option with the network and stablecoin selectors inside the block.
- Classic checkout (
[woocommerce_checkout]shortcode): same selectors, rendered by the plugin.
If PayzCore does not appear in the Checkout block, update the plugin to v1.0.3 or later.
Late payments
PayzCore re-checks expired payments for 24 hours. If the full amount arrives late, it sends payment.completed (or payment.overpaid) with "late_payment": true and the plugin completes the order, even if it was already cancelled or the customer started a new attempt. Check such orders before shipping, or refund the customer if the item is no longer available.
Customer Experience
- At checkout, customer selects the PayzCore payment method and, if your wallet supports several, a network and stablecoin
- After placing the order, they see:
- The wallet address to send funds to
- A QR code of the address (for mobile wallets)
- The exact amount to send (in USDT/USDC)
- A countdown timer showing time remaining
- Customer sends the exact amount from their wallet
- Once confirmed, the order automatically moves to "Processing"
Currency Handling
USDT and USDC are pegged to the US dollar, so the payment method is only available when the store currency is USD. The order total is used as-is (a $50.00 order = 50 USDT/USDC). With any other store currency, PayzCore is hidden at checkout.
Troubleshooting
Webhook not received
- Verify the webhook URL in your PayzCore dashboard matches
https://yourstore.com/wp-json/payzcore/v1/webhook(the WordPress REST API must be reachable; some security plugins block/wp-json/) - Ensure your server allows POST requests from external sources
- Check for firewall rules or security plugins blocking external POST requests
- Review webhook delivery logs in PayzCore dashboard: Payments > [Payment] > Webhook Logs
Order not updating
- Confirm the Webhook Secret matches between PayzCore dashboard and WooCommerce settings
- Check WooCommerce logs: WooCommerce > Status > Logs (look for
payzcoreentries) - Verify the plugin is activated and the payment method is enabled
Payment method not showing at checkout
- Ensure the plugin is activated in Plugins
- Ensure the payment method is enabled in WooCommerce > Settings > Payments
- Check that all required fields (API Key, Webhook Secret) are filled in and that Connection Status shows your networks
- Make sure the store currency is USD
- Make sure your PayzCore wallet supports at least one network (the plugin hides itself when
GET /v1/configreturns no networks)
See Also
- Getting Started - Account and project setup
- Webhooks Guide - Events, headers, and signature verification
- Supported Networks - Available networks and tokens
- Error Reference - HTTP status codes and troubleshooting
PHP SDK
Official PHP SDK for PayzCore. Create payments, verify webhook signatures, handle errors. Laravel and vanilla PHP examples. Requires PHP 8.1+ with cURL.
Shopify
Shopify app for USDT/USDC blockchain payment monitoring. Self-hosted Express.js app that integrates PayzCore with your Shopify store for stablecoin checkout.