IMPORTANT: This SDK is under development. We might still introduce minor breaking changes before reaching v1.
The Python SDK for the SumUp API.
Installation
Install the latest version of the SumUp SDK:
pip install sumup
# or
uv add sumup
Usage
Synchronous Client
import os
from sumup import Sumup
client = Sumup(api_key="sup_sk_MvxmLOl0...")
# Get merchant profile
merchant = client.merchants.get(merchant_code=os.environ["SUMUP_MERCHANT_CODE"])
print(f"Merchant: {merchant.merchant_code}")
Async Client
import asyncio
import os
from sumup import AsyncSumup
async def main():
client = AsyncSumup(api_key="sup_sk_MvxmLOl0...")
# Get merchant profile
merchant = await client.merchants.get(merchant_code=os.environ["SUMUP_MERCHANT_CODE"])
print(f"Merchant: {merchant.merchant_code}")
asyncio.run(main())
Creating a Checkout
import os
import uuid
from sumup import Sumup
client = Sumup(api_key="sup_sk_MvxmLOl0...")
merchant_code = os.environ["SUMUP_MERCHANT_CODE"]
# Create a checkout
checkout = client.checkouts.create(
amount=10.00,
currency="EUR",
checkout_reference=str(uuid.uuid4()),
merchant_code=merchant_code,
description="Test payment",
redirect_url="https://example.com/success",
return_url="https://example.com/webhook",
)
print(f"Checkout ID: {checkout.id}")
print(f"Checkout Reference: {checkout.checkout_reference}")
Creating a Reader Checkout
from sumup import Sumup
client = Sumup(api_key="sup_sk_MvxmLOl0...")
# Create a reader checkout
reader_checkout = client.readers.create_checkout(
reader_id="your-reader-id",
merchant_code="your-merchant-code",
total_amount={
"value": 1000, # 10.00 EUR (amount in cents)
"currency": "EUR",
"minor_unit": 2,
},
description="Coffee purchase",
return_url="https://example.com/webhook",
)
print(f"Reader checkout created: {reader_checkout}")
Version Support Policy
sumup-py maintains compatibility with Python versions that have not passed end-of-life. As of June 8, 2026, that means Python 3.10 through 3.14. See Status of Python versions.
Metadata
Release files for sumup 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sumup-0.3.2.tar.gz | 58.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sumup-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 125.3 kB
Release files / sumup-0.3.2.tar.gz
| Download URL | sumup-0.3.2.tar.gz |
|---|---|
| Size | 58.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
798dea69f740b375df3e12858a84417ff89a7f9132a9bcb822da68a2619a286d
|
|
BLAKE2b-256 checksum How to use checksums |
41fa7bf6fa82768574b68cd6b4029325015dc8dc72df635b79f76995363cf775
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / sumup-0.3.2-py3-none-any.whl
| Download URL | sumup-0.3.2-py3-none-any.whl |
|---|---|
| Size | 67.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e607fab5f7330c99020b2c8fbdd1f292072cf94eedc44871492d19f1dce84703
|
|
BLAKE2b-256 checksum How to use checksums |
4aaa1d2831eb202006c914f8e774399e6759025f50fabc4b54d0c4e23a08c895
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|