Learn how to pair SumUp card readers and start in-person payments using the SumUp SDKs. This repository contains backend examples for all our SDKs and a couple of frontend starters for managing readers and initiating checkouts.
All you need to get started is an API key (if you don't have one yet, create it in the SumUp Dashboard) and your merchant code (which you can find in the settings). We recommend starting with a Sandbox account that you can create in the dashboard to be able to test as many payments as you want without processing real money.
Set your environment:
export SUMUP_API_KEY="your_api_key"
export SUMUP_MERCHANT_CODE="your_merchant_code"Minimal servers that expose the following endpoints:
-
POST /readers– link (pair) a reader using a pairing code and name -
GET /readers– list readers for the merchant -
POST /readers/{id}/checkout– start a checkout on a reader for a given amount -
Node.js SDK (https://github.com/sumup/sumup-ts)
-
Python SDK (https://github.com/sumup/sumup-py)
cd backend/python uv run app.py -
Java SDK (https://github.com/sumup/sumup-java)
cd backend/java gradle run -
Go SDK (https://github.com/sumup/sumup-go)
cd backend/go go run .
-
Rust SDK (https://github.com/sumup/sumup-rs)
cd backend/rust cargo run -
.NET SDK (https://github.com/sumup/sumup-dotnet)
cd backend/dotnet dotnet run
Both front-ends talk to the backend endpoints above. They let you pair a reader, list existing readers, and start a checkout with a chosen amount.
The UI also links to https://virtual-solo.sumup.com/ which provides a web-based card reader for testing.
All backend examples use:
export SUMUP_API_KEY="your_api_key"
export SUMUP_MERCHANT_CODE="your_merchant_code"If the front-end is served from another origin, enable CORS on the backend or use a proxy.