PayzCore Docs

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.

How It Works

  1. Customer selects "Pay with USDT/USDC" at checkout.
  2. WooCommerce creates the order and the plugin calls the PayzCore API.
  3. Customer sees the wallet address, QR code, and exact amount to send.
  4. Customer sends stablecoins from their wallet.
  5. PayzCore detects the transfer on-chain and sends a webhook.
  6. 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

  1. In WordPress admin: Plugins > Add New
  2. Search for "PayzCore"
  3. Click Install Now then Activate

Manual Upload

  1. Download the latest plugin ZIP from WordPress.org (use the Download button)
  2. In WordPress admin: Plugins > Add New > Upload Plugin
  3. Upload the ZIP file and click Activate

Configuration

  1. Go to WooCommerce > Settings > Payments
  2. Enable PayzCore (Stablecoin) and click Manage
  3. Fill in the settings:
SettingValueNotes
API Keypk_live_...From your PayzCore project
Webhook Secretwhsec_...From your PayzCore project
Title"Pay with USDT"Shown to customer at checkout
DescriptionPayment instructionsShown below the title
  1. Click Save changes. On save the plugin tests the connection and calls GET /v1/config to 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.

  2. Set your webhook URL in the PayzCore dashboard to:

https://yourstore.com/wp-json/payzcore/v1/webhook

Order Status Mapping

PayzCore EventWooCommerce StatusNotes
payment.completedProcessingNormal successful payment
payment.overpaidProcessingOrder note added with overpayment details
payment.partialOn HoldCustomer needs to send remaining amount
payment.expiredCancelledPayment 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

  1. At checkout, customer selects the PayzCore payment method and, if your wallet supports several, a network and stablecoin
  2. 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
  3. Customer sends the exact amount from their wallet
  4. 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 payzcore entries)
  • 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/config returns no networks)

See Also

On this page