payzum 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,6 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ dist/
4
+ build/
5
+ *.egg-info/
6
+ .venv/
payzum-0.0.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Payzum
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
payzum-0.0.1/PKG-INFO ADDED
@@ -0,0 +1,111 @@
1
+ Metadata-Version: 2.5
2
+ Name: payzum
3
+ Version: 0.0.1
4
+ Summary: Official Python SDK for the Payzum crypto payment API — accept stablecoin and crypto payments, verify IPN webhooks.
5
+ Project-URL: Homepage, https://merchant.payzum.com
6
+ Project-URL: Documentation, https://merchant.payzum.com/docs
7
+ Project-URL: Source, https://github.com/payzum-dev/payzum-python
8
+ Project-URL: Issues, https://github.com/payzum-dev/payzum-python/issues
9
+ Author: Payzum
10
+ License: MIT License
11
+
12
+ Copyright (c) 2026 Payzum
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy
15
+ of this software and associated documentation files (the "Software"), to deal
16
+ in the Software without restriction, including without limitation the rights
17
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18
+ copies of the Software, and to permit persons to whom the Software is
19
+ furnished to do so, subject to the following conditions:
20
+
21
+ The above copyright notice and this permission notice shall be included in all
22
+ copies or substantial portions of the Software.
23
+
24
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30
+ SOFTWARE.
31
+ License-File: LICENSE
32
+ Keywords: bitcoin,crypto,ethereum,payment-gateway,payments,payzum,stablecoin,usdc,usdt
33
+ Classifier: Development Status :: 1 - Planning
34
+ Classifier: Intended Audience :: Developers
35
+ Classifier: License :: OSI Approved :: MIT License
36
+ Classifier: Programming Language :: Python :: 3
37
+ Classifier: Topic :: Office/Business :: Financial
38
+ Requires-Python: >=3.9
39
+ Description-Content-Type: text/markdown
40
+
41
+ # payzum (Python)
42
+
43
+ Official SDK for [Payzum](https://payzum.com) — accept stablecoin and crypto
44
+ payments, and verify IPN webhooks.
45
+
46
+ ```
47
+ pip install payzum
48
+ ```
49
+
50
+ > ## ⚠️ This is a `0.0.1` placeholder
51
+ >
52
+ > It reserves the package name. **It contains no client yet.** A half-working
53
+ > payment client is worse than none, so this release deliberately ships only a
54
+ > version constant and the base URLs.
55
+ >
56
+ > Until v1 lands, integrate against the [REST API](https://merchant.payzum.com/docs)
57
+ > directly. If you do, read the webhook section below first — it is where
58
+ > integrations most often go wrong.
59
+
60
+ ## What v1 will contain
61
+
62
+ - **Payments:** create, read (by payment id *or* your own `order_id`) and list
63
+ invoices.
64
+ - **Buyer status:** the public, unauthenticated invoice status endpoint.
65
+ - **Rates:** `estimate` and `min-amount`, so you can reject an under-minimum
66
+ amount before creating an invoice instead of getting `AMOUNT_BELOW_MINIMUM`.
67
+ - **Currencies:** the detailed catalogue, which tells you the chain of each
68
+ asset — the flat list cannot, since `eth` appears once per chain.
69
+ - **Webhooks:** three separate verifiers, one per signature scheme, each with
70
+ its header and algorithm fixed internally.
71
+ - **Typed errors:** all 16 API error codes, each classified as retryable or not.
72
+ - **Decimal-safe amounts:** no `float` ever crosses the public boundary.
73
+
74
+ Mass payouts (UTXO and EVM) are planned for v1.1.
75
+
76
+ ## The webhook trap, if you are integrating by hand today
77
+
78
+ Payzum sends **three** kinds of signed webhook and none of them is
79
+ interchangeable:
80
+
81
+ | Webhook | Algorithm | Header |
82
+ |---|---|---|
83
+ | Payment IPN (default) | HMAC-SHA-512 | `x-nowpayments-sig` |
84
+ | Payment IPN, CoinPayments-mode merchants | HMAC-SHA-512 over a form-encoded body | `HMAC` |
85
+ | Mass payout | HMAC-SHA-256 | `X-Payzum-Signature` |
86
+
87
+ The payment IPN header is named after Payzum's NowPayments-compatible dialect,
88
+ which lets an existing NowPayments integration point at Payzum without code
89
+ changes. Using `X-Payzum-Signature` for a payment IPN is the single most common
90
+ bug with this API — the signature never verifies, deliveries get a 401, and
91
+ orders are silently never fulfilled.
92
+
93
+ Always verify against the **raw request bytes, before parsing the JSON**, and
94
+ compare in constant time. Header lookup is case-insensitive.
95
+
96
+ ## Requirements
97
+
98
+ Python 3.9 or newer.
99
+
100
+ ## Links
101
+
102
+ - Documentation: <https://merchant.payzum.com/docs>
103
+ - Machine-readable reference for AI agents: <https://merchant.payzum.com/llms.txt>
104
+ - Sandbox: <https://staging.payzum.com>
105
+
106
+ Note that `api.payzum.com` does **not** serve the API. Use
107
+ `merchant.payzum.com`.
108
+
109
+ ## License
110
+
111
+ MIT — see [LICENSE](LICENSE).
payzum-0.0.1/README.md ADDED
@@ -0,0 +1,71 @@
1
+ # payzum (Python)
2
+
3
+ Official SDK for [Payzum](https://payzum.com) — accept stablecoin and crypto
4
+ payments, and verify IPN webhooks.
5
+
6
+ ```
7
+ pip install payzum
8
+ ```
9
+
10
+ > ## ⚠️ This is a `0.0.1` placeholder
11
+ >
12
+ > It reserves the package name. **It contains no client yet.** A half-working
13
+ > payment client is worse than none, so this release deliberately ships only a
14
+ > version constant and the base URLs.
15
+ >
16
+ > Until v1 lands, integrate against the [REST API](https://merchant.payzum.com/docs)
17
+ > directly. If you do, read the webhook section below first — it is where
18
+ > integrations most often go wrong.
19
+
20
+ ## What v1 will contain
21
+
22
+ - **Payments:** create, read (by payment id *or* your own `order_id`) and list
23
+ invoices.
24
+ - **Buyer status:** the public, unauthenticated invoice status endpoint.
25
+ - **Rates:** `estimate` and `min-amount`, so you can reject an under-minimum
26
+ amount before creating an invoice instead of getting `AMOUNT_BELOW_MINIMUM`.
27
+ - **Currencies:** the detailed catalogue, which tells you the chain of each
28
+ asset — the flat list cannot, since `eth` appears once per chain.
29
+ - **Webhooks:** three separate verifiers, one per signature scheme, each with
30
+ its header and algorithm fixed internally.
31
+ - **Typed errors:** all 16 API error codes, each classified as retryable or not.
32
+ - **Decimal-safe amounts:** no `float` ever crosses the public boundary.
33
+
34
+ Mass payouts (UTXO and EVM) are planned for v1.1.
35
+
36
+ ## The webhook trap, if you are integrating by hand today
37
+
38
+ Payzum sends **three** kinds of signed webhook and none of them is
39
+ interchangeable:
40
+
41
+ | Webhook | Algorithm | Header |
42
+ |---|---|---|
43
+ | Payment IPN (default) | HMAC-SHA-512 | `x-nowpayments-sig` |
44
+ | Payment IPN, CoinPayments-mode merchants | HMAC-SHA-512 over a form-encoded body | `HMAC` |
45
+ | Mass payout | HMAC-SHA-256 | `X-Payzum-Signature` |
46
+
47
+ The payment IPN header is named after Payzum's NowPayments-compatible dialect,
48
+ which lets an existing NowPayments integration point at Payzum without code
49
+ changes. Using `X-Payzum-Signature` for a payment IPN is the single most common
50
+ bug with this API — the signature never verifies, deliveries get a 401, and
51
+ orders are silently never fulfilled.
52
+
53
+ Always verify against the **raw request bytes, before parsing the JSON**, and
54
+ compare in constant time. Header lookup is case-insensitive.
55
+
56
+ ## Requirements
57
+
58
+ Python 3.9 or newer.
59
+
60
+ ## Links
61
+
62
+ - Documentation: <https://merchant.payzum.com/docs>
63
+ - Machine-readable reference for AI agents: <https://merchant.payzum.com/llms.txt>
64
+ - Sandbox: <https://staging.payzum.com>
65
+
66
+ Note that `api.payzum.com` does **not** serve the API. Use
67
+ `merchant.payzum.com`.
68
+
69
+ ## License
70
+
71
+ MIT — see [LICENSE](LICENSE).
@@ -0,0 +1,39 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "payzum"
7
+ version = "0.0.1"
8
+ description = "Official Python SDK for the Payzum crypto payment API — accept stablecoin and crypto payments, verify IPN webhooks."
9
+ readme = "README.md"
10
+ license = { file = "LICENSE" }
11
+ requires-python = ">=3.9"
12
+ authors = [{ name = "Payzum" }]
13
+ keywords = [
14
+ "payzum",
15
+ "payments",
16
+ "crypto",
17
+ "stablecoin",
18
+ "usdt",
19
+ "usdc",
20
+ "payment-gateway",
21
+ "bitcoin",
22
+ "ethereum",
23
+ ]
24
+ classifiers = [
25
+ "Development Status :: 1 - Planning",
26
+ "Intended Audience :: Developers",
27
+ "License :: OSI Approved :: MIT License",
28
+ "Programming Language :: Python :: 3",
29
+ "Topic :: Office/Business :: Financial",
30
+ ]
31
+
32
+ [project.urls]
33
+ Homepage = "https://merchant.payzum.com"
34
+ Documentation = "https://merchant.payzum.com/docs"
35
+ Source = "https://github.com/payzum-dev/payzum-python"
36
+ Issues = "https://github.com/payzum-dev/payzum-python/issues"
37
+
38
+ [tool.hatch.build.targets.wheel]
39
+ packages = ["src/payzum"]
@@ -0,0 +1,21 @@
1
+ """Placeholder for the official Payzum Python SDK.
2
+
3
+ This 0.0.1 release exists to reserve the package name. It intentionally ships
4
+ no client: publishing a half-working payment client would be worse than
5
+ publishing none. See the README for what v1 will contain.
6
+ """
7
+
8
+ __version__ = "0.0.1"
9
+
10
+ #: Production API host. ``api.payzum.com`` does NOT serve the API.
11
+ BASE_URL = "https://merchant.payzum.com"
12
+
13
+ #: Sandbox host. Isolated data, separate API keys.
14
+ SANDBOX_URL = "https://staging.payzum.com"
15
+
16
+ __all__ = ["__version__", "BASE_URL", "SANDBOX_URL", "is_ready"]
17
+
18
+
19
+ def is_ready() -> bool:
20
+ """Return ``False`` — this release is a name reservation, not a client."""
21
+ return False