payzum (Python)
Official SDK for Payzum — accept stablecoin and crypto payments, and verify IPN webhooks.
pip install payzum
⚠️ This is a
0.0.1placeholderIt reserves the package name. It contains no client yet. A half-working payment client is worse than none, so this release deliberately ships only a version constant and the base URLs.
Until v1 lands, integrate against the REST API directly. If you do, read the webhook section below first — it is where integrations most often go wrong.
What v1 will contain
- Payments: create, read (by payment id or your own
order_id) and list invoices. - Buyer status: the public, unauthenticated invoice status endpoint.
- Rates:
estimateandmin-amount, so you can reject an under-minimum amount before creating an invoice instead of gettingAMOUNT_BELOW_MINIMUM. - Currencies: the detailed catalogue, which tells you the chain of each
asset — the flat list cannot, since
ethappears once per chain. - Webhooks: three separate verifiers, one per signature scheme, each with its header and algorithm fixed internally.
- Typed errors: all 16 API error codes, each classified as retryable or not.
- Decimal-safe amounts: no
floatever crosses the public boundary.
Mass payouts (UTXO and EVM) are planned for v1.1.
The webhook trap, if you are integrating by hand today
Payzum sends three kinds of signed webhook and none of them is interchangeable:
| Webhook | Algorithm | Header |
|---|---|---|
| Payment IPN (default) | HMAC-SHA-512 | x-nowpayments-sig |
| Payment IPN, CoinPayments-mode merchants | HMAC-SHA-512 over a form-encoded body | HMAC |
| Mass payout | HMAC-SHA-256 | X-Payzum-Signature |
The payment IPN header is named after Payzum's NowPayments-compatible dialect,
which lets an existing NowPayments integration point at Payzum without code
changes. Using X-Payzum-Signature for a payment IPN is the single most common
bug with this API — the signature never verifies, deliveries get a 401, and
orders are silently never fulfilled.
Always verify against the raw request bytes, before parsing the JSON, and compare in constant time. Header lookup is case-insensitive.
Requirements
Python 3.9 or newer.
Links
- Documentation: https://merchant.payzum.com/docs
- Machine-readable reference for AI agents: https://merchant.payzum.com/llms.txt
- Sandbox: https://staging.payzum.com
Note that api.payzum.com does not serve the API. Use
merchant.payzum.com.
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file payzum-0.0.1.tar.gz.
File metadata
- Download URL: payzum-0.0.1.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebc51c1c401195eef78dea2a67ce641d48bcdc9a5e0cfce4eefe5de2df4bf2af
|
|
| MD5 |
56d507dd6eb6c7cec50933786ef128fb
|
|
| BLAKE2b-256 |
afed2d5311267f2565b702602d23d8105012cc5b92853962b70e9b241e11484c
|
File details
Details for the file payzum-0.0.1-py3-none-any.whl.
File metadata
- Download URL: payzum-0.0.1-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa74521ca1a03bf956bae9cb40ea3b5a7d125cbe9fdffa634e86ce16f27a59aa
|
|
| MD5 |
6b679fb433e7c8313d147d10b04ebc25
|
|
| BLAKE2b-256 |
74ebebee09cf94cfbdb78d34914237ea74f694480da96c93a251f3e52b0e4131
|