npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sumup/sdk

v0.1.5

Published

The official TypeScript SDK for the SumUp API

Readme

SumUp Node.js SDK

NPM Version JSR Version Documentation Build Status Downloads License

IMPORTANT: This SDK is under development. We might still introduce minor breaking changes before reaching v1.

The Node.js SDK for the SumUp API.

To learn more, check out our API Reference and Developer Documentation. You can also find the full documentation of the SumUp Node.js SDK at sumup.github.io/sumup-ts.

Requirements

Node 18 or higher.

The package is published to both npm and JSR, so you can use it from modern JavaScript runtimes that provide the standard fetch, Headers, Request, and Response APIs.

Installation

Install the package with:

npm install @sumup/sdk
# or
yarn add @sumup/sdk
# or
pnpm add @sumup/sdk
# or
bun add @sumup/sdk

Install from jsr:

deno add jsr:@sumup/sdk
# or
npx jsr add @sumup/sdk

Supported Features

The SDK provides:

  • Typed clients for all SumUp API endpoints.
  • API key authentication and OAuth access token usage through the same client.
  • ESM and CommonJS entry points.
  • Base and per-request overrides for headers, authorization, host, timeout, retries, and abort signals.
  • Access to both parsed data and the raw Response object via companion *WithResponse() methods.

Setup

Before making requests:

  1. Create a SumUp API key, see Authorization guide in the SumUp Developer portal.
  2. Export your credentials as environment variables.
  3. Use your merchant code for merchant-scoped requests and examples.
export SUMUP_API_KEY="sup_sk_..."
export SUMUP_MERCHANT_CODE="MC123456789"

Usage

const { SumUp } = require("@sumup/sdk");

const client = new SumUp({
  apiKey: 'sup_sk_MvxmLOl0...'
});

const merchantCode = process.env.SUMUP_MERCHANT_CODE;

client.merchants.get(merchantCode)
  .then(merchant => console.info(merchant))
  .catch(error => console.error(error));

Or using ES modules and async/await:

import SumUp from "@sumup/sdk";

const client = new SumUp({
  apiKey: 'sup_sk_MvxmLOl0...',
});

const merchantCode = process.env.SUMUP_MERCHANT_CODE!;
const merchant = await client.merchants.get(merchantCode);
console.info(merchant);

Per-request options are available as the last argument to any SDK call. For example, you can override authorization, timeout, retries, or headers for a single request:

await client.checkouts.list(undefined, {
  timeout: 5_000,
});

await client.merchants.get(merchantCode, {
  authorization: `Bearer ${accessToken}`,
  headers: {
    "x-request-id": "req_123",
  },
  maxRetries: 1,
});

If you need the raw response metadata together with the parsed payload:

const { data, response } = await client.merchants.getWithResponse(merchantCode);

console.info(response.status, data);

Examples

Install dependencies inside an example directory before running it:

cd examples/checkout
npm install

Available examples:

examples/checkout

Creates an online checkout and shows how to process it with card details.

Required environment variables:

export SUMUP_API_KEY="sup_sk_..."
export SUMUP_MERCHANT_CODE="MC123456789"

Run it with:

cd examples/checkout
npx tsx index.ts

examples/card-reader-checkout

Lists paired readers for a merchant and creates a terminal checkout on the first available reader.

Required environment variables:

export SUMUP_API_KEY="sup_sk_..."
export SUMUP_MERCHANT_CODE="MC123456789"

Run it with:

cd examples/card-reader-checkout
npx tsx index.ts

examples/oauth2

Runs a local Express app that implements the OAuth 2.0 Authorization Code flow with PKCE and then uses the returned access token with the SDK.

Required environment variables:

export CLIENT_ID="..."
export CLIENT_SECRET="..."
export REDIRECT_URI="http://localhost:8080/callback"
export PORT="8080"

Run it with:

cd examples/oauth2
npx tsx index.ts

Then open http://localhost:8080/login in your browser to start the flow.

Support

For SDK reference material and API details:

If you need to report a bug or request an enhancement, open an issue in this repository.