Download the plugin (.zip)
Ready-to-upload
pawpayments-for-woocommerce-<version>.zip.View source on GitHub
Source, releases, and issue tracker.
| Property | Value |
|---|---|
| GitHub | pawpayments/woocommerce-plugin |
| Download | Latest release .zip |
| WordPress | 6.0+ |
| WooCommerce | 7.0+ |
| PHP | 7.4+ (8.0+ recommended) |
| Required extensions | ext-curl, ext-json |
| HPOS | Compatible (High‑Performance Order Storage) |
Install
- Download the latest
pawpayments-for-woocommerce-<version>.zipfrom the GitHub Releases page (or build it yourself withzip -r ... woocommerce-plugin). - Plugins → Add New → Upload Plugin, choose the zip, click Install Now, then Activate.
- WooCommerce → Settings → Payments, find PawPayments (Crypto), click Manage.
Configure
| Field | Value |
|---|---|
| Enable / Disable | Tick to expose the gateway at checkout. |
| Title | Customer‑facing label (e.g. Pay with Crypto). |
| Description | Optional helper text under the title. |
| API Key | Merchant API key from the Paw dashboard. |
| API Base URL | https://api.pawpayments.com (default). |
| Debug Log | Writes to WooCommerce → Status → Logs → pawpayments. |
Webhook
WooCommerce auto‑registers the handler athttps://<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
- Customer chooses Pay with Crypto and is redirected to a
https://paw.now/invoice#…paywall. - The order is created in On hold with the invoice id stored in
_pawpayments_order_id. - After the on‑chain payment confirms, Paw posts a webhook with
status=success. The plugin verifies theX-Paw-Signatureheader and callspayment_complete()— the order becomes Processing (or Completed for virtual goods) with aPawPayments: 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
OK with HTTP 200, and the order transitions to Processing.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Gateway not visible at checkout | Disabled in settings, or cart currency not enabled on the merchant account. |
Payment error: Invalid API key | Wrong key, or the merchant account is not yet activated. |
| Order stays On hold after payment | Webhook not delivered — confirm the store is reachable over HTTPS and not behind a firewall blocking outbound Paw deliveries. |
| Webhook returns HTTP 401 | Signature mismatch — the gateway’s API key differs from the one used when the invoice was issued. |
| No log entries | Enable Debug Log and check WooCommerce → Status → Logs. |
Uninstall
Deactivate and delete the plugin via Plugins → Installed Plugins. Settings live inwp_options.woocommerce_pawpayments_settings; remove with wp option delete woocommerce_pawpayments_settings if needed. The plugin does not create any custom database tables.
