Skip to main content
The WooCommerce plugin adds a single payment gateway — PawPayments (Crypto) — to the WooCommerce checkout. It is checkout‑only: WooCommerce has no native credit balance, so there is no top‑up flow.

Download the plugin (.zip)

Ready-to-upload pawpayments-for-woocommerce-<version>.zip.

View source on GitHub

Source, releases, and issue tracker.

Install

  1. Download the latest pawpayments-for-woocommerce-<version>.zip from the GitHub Releases page (or build it yourself with zip -r ... woocommerce-plugin).
  2. Plugins → Add New → Upload Plugin, choose the zip, click Install Now, then Activate.
  3. WooCommerce → Settings → Payments, find PawPayments (Crypto), click Manage.

Configure

Webhook

WooCommerce auto‑registers the handler at https://<your-store>/?wc-api=pawpayments. The plugin sends this URL as notify_url on every invoice it creates, so you do not need to set a callback URL on the merchant side.

Order lifecycle

  1. Customer chooses Pay with Crypto and is redirected to a https://paw.now/invoice#… paywall.
  2. The order is created in On hold with the invoice id stored in _pawpayments_order_id.
  3. After the on‑chain payment confirms, Paw posts a webhook with status=success. The plugin verifies the X-Paw-Signature header and calls payment_complete() — the order becomes Processing (or Completed for virtual goods) with a PawPayments: Paid X USDT (order …) note.
payment_complete() is natively idempotent, so duplicate webhook deliveries never double‑credit an order. Webhooks carrying a permanent_address_id are silently acknowledged with 200 OK.

Smoke test

A healthy response is OK with HTTP 200, and the order transitions to Processing.

Troubleshooting

Uninstall

Deactivate and delete the plugin via Plugins → Installed Plugins. Settings live in wp_options.woocommerce_pawpayments_settings; remove with wp option delete woocommerce_pawpayments_settings if needed. The plugin does not create any custom database tables.