IMPORTANT: This SDK is under development. We might still introduce minor breaking changes before reaching v1.
The Python SDK for the SumUp API.
Install the latest version of the SumUp SDK:
pip install sumup
# or
uv add sumupimport 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}")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())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}")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}")sumup-py maintains compatibility with Python versions that are no pass their End of life support, see Status of Python versions.