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 sumupfrom sumup import Sumup client = Sumup(api_key="sup_sk_MvxmLOl0...") # Get merchant profile merchant = client.merchant.get() print(f"Merchant: {merchant.merchant_profile.merchant_code}")import asyncio from sumup import AsyncSumup async def main(): client = AsyncSumup(api_key="sup_sk_MvxmLOl0...") # Get merchant profile merchant = await client.merchant.get() print(f"Merchant: {merchant.merchant_profile.merchant_code}") asyncio.run(main())from sumup import Sumup from sumup.checkouts import CreateCheckoutBody import uuid client = Sumup(api_key="sup_sk_MvxmLOl0...") # Get merchant code merchant = client.merchant.get() merchant_code = merchant.merchant_profile.merchant_code # Create a checkout checkout = client.checkouts.create( body=CreateCheckoutBody( 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 from sumup.readers import CreateReaderCheckoutBody, CreateReaderCheckoutAmount client = Sumup(api_key="sup_sk_MvxmLOl0...") # Create a reader checkout reader_checkout = client.readers.create_checkout( reader_id="your-reader-id", body=CreateReaderCheckoutBody( total_amount=CreateReaderCheckoutAmount( 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.