SumUp’s REST API operates with JSON HTTP requests and responses. The request bodies are sent through resource-oriented URLs and use the standard HTTP response codes.
You can experiment and work on your integration in a sandbox that doesn't affect your regular data and doesn't process real transactions. To create a sandbox merchant account visit the dashboard. To use the sandbox when interacting with SumUp APIs create an API key and use it for authentication.
https://api.sumup.comSDKs
The SumUp SDKs reduce the amount of work required to use our REST APIs. SumUp maintains SDKs for PHP, Node.js, Python, Java, Go, Rust, and .NET.
# Select a client library to see installation instructions.npm install --save @sumup/sdkgo get github.com/sumup/sumup-go// Maven<dependency> <groupId>com.sumup</groupId> <artifactId>sumup-sdk</artifactId> <version>0.0.6</version></dependency>
// Gradleimplementation "com.sumup:sumup-sdk:0.0.6"dotnet add package SumUppip install sumup# oruv add sumupcomposer require sumup/sumup-phpcargo add sumupYou can also explore out APIs in Postman using SumUp Developers public collection.
Authentication
The SumUp API uses API keys to authenticate requests. You can view, create, and manage your API keys in the Dashboard.
Test mode secret keys have the prefix sk_test_ and live mode secret keys have the prefix sk_live_. Alternatively, you can use restricted API keys for granular permissions.
Keep your API keys secret and safe. Do not share your API keys or expose them in a publicly accessible areas such as client-side code (browser or apps) or in the GitHub.
All API requests must be made over HTTPS and authenticated. Calls made over plain HTTP or calls without authentication will fail.
curl https://api.sumup.com/v0.1/checkouts \ -H "Authorization: Bearer sup_sk_MvxmLOl0..."import { SumUp } from '@sumup/sdk';
const sumup = new SumUp({ apiKey: 'sup_sk_MvxmLOl0...' });package main
import ( "github.com/sumup/sumup-go/client" sumup "github.com/sumup/sumup-go")
func main() { client := sumup.NewClient(client.WithAPIKey("sup_sk_MvxmLOl0..."))}SumUpClient client = SumUpClient.builder() .accessToken("sup_sk_MvxmLOl0...") .build();using SumUp;
var client = new SumUpClient(new SumUpClientOptions{ AccessToken = "sup_sk_MvxmLOl0...",});from sumup import Sumup
client = SumUp(api_key="sup_sk_MvxmLOl0...")$sumup = new \SumUp\SumUp("sup_sk_MvxmLOl0...");use sumup::Client;
let client = Client::default().with_authorization("sup_sk_MvxmLOl0...");