PawPayments (Crypto)) that pays any Blesta invoice with cryptocurrency.
Customers are redirected to the hosted PawPayments paywall to pick an asset and
network; the invoice is reconciled automatically once the on-chain payment
confirms and PawPayments delivers a signed webhook to Blesta’s gateway callback
URL.
Download the plugin (.zip)
Ready-to-upload
pawpayments-blesta-<version>.zip.View source on GitHub
Source, releases, and issue tracker.
Install
Downloadpawpayments-blesta-<version>.zip from the
GitHub Releases page
and unzip it. The archive mirrors the Blesta install tree — one non-merchant
gateway:
pawpayments folder into your Blesta root at
components/gateways/nonmerchant/, then restore ownership:
Activate the gateway
- Settings → Payment Gateways → Available.
- Click Install next to PawPayments (Crypto).
-
Fill the fields:
-
Under Settings → Company → Currencies, enable the currencies you invoice
in — the gateway supports the fiats listed in
config.json.
Webhook URL
PawPayments sendsnotify_url on every invoice it creates, so manual webhook
setup is not required. Blesta routes the callback to the gateway’s validate()
method at:
notify_url to
use the https scheme and refuses to deliver to private, loopback, or
link-local hosts.
Lifecycle
Because the Paw
order_id is used as the Blesta transaction_id, duplicate
webhook deliveries and the browser return never double-pay an invoice. Webhooks
carrying a permanent_address_id (not bound to a Blesta invoice) are silently
acknowledged.
Status mapping
Smoke test (checkout)
The webhook body carries the Blesta invoice list inmetadata.invoices
(id=amount pairs joined by |) and the client ID in metadata.client_id:
101 transitions toward Paid once the
transaction is applied. A wrong or missing signature returns HTTP 401. You can
also replay the real webhook for an existing invoice with
POST /api/v2/invoices/{order_id}/notify.
Troubleshooting
Gateway activity is logged under Settings → Company → Gateway Logs (or the
per-gateway Logs tab).

