TheDocumentation Index
Fetch the complete documentation index at: https://docs.pawpayments.com/llms.txt
Use this file to discover all available pages before exploring further.
pawpayments package is the official Python SDK for the Native V2 API. It exposes resource helpers that mirror the public REST surface (/api/v2/*), ships both a synchronous client (PawPayments, requests) and an asynchronous one (AsyncPawPayments, httpx), and includes helpers for verifying webhook signatures.
| Property | Value |
|---|---|
| Package name | pawpayments |
| GitHub | pawpayments/python-sdk |
| Minimum Python | 3.9 |
| Runtime dependencies | requests, httpx |
Installation
Quick start (sync)
base_url defaults to https://api.pawpayments.com, timeout defaults to 30 seconds, and you may inject a shared requests.Session.
Quick start (async)
Resources
Successful responses unwrap the standard{ ok, result } envelope into plain dicts (or typed list wrappers where applicable). API and transport failures raise PawPaymentsApiError with code, http_status, and optional details.
| Attribute | Methods |
|---|---|
paw.assets | list() |
paw.rates | get(base=..., assets=...) |
paw.balance | get() |
paw.invoices | create(**...), get(order_id), list(**...), notify(order_id) |
paw.payouts | create(..., uniq_id=...), get(id), list(**...), batch(items, uniq_id=...) |
paw.ledger | list(**...) |
paw.notifications | list(**...), test(url=...) |
paw.permanent | create(**...), get(id), list(**...), deactivate(id) |
payouts.create and payouts.batch, pass uniq_id (UUIDv4) for explicit idempotency. If omitted, the SDK generates one; repeating the same id within two hours returns HTTP 409.
Webhook verification
Use the raw request body bytes when validatingX-Paw-Signature (HMAC-SHA256 with your API key). Re-encoding JSON before hashing breaks verification.
permanent_address_id like the official plugins: acknowledge with 200 OK without treating them as checkout callbacks unless your integration owns permanent-address flows.

