API Reference Sumup v#1.0.0

Copy Markdown View Source

Modules

A production-grade Elixir client for the SumUp API.

A SumUp Checkout: the core online-payment primitive. Created with an amount/currency/reference, then processed with a payment method (card, token, or an alternative payment method such as iDEAL/Bancontact/Blik).

Checkouts: create a payment intent, then process it with a card, saved token, or an alternative payment method (Boleto, iDEAL, Bancontact, Blik, Google Pay, Apple Pay). API version v0.1 (v0.2 for Apple Pay sessions).

Low-level HTTP transport shared by every Sumup.* resource module.

Validated configuration for a Sumup client.

A vaulted SumUp customer, used to store payment instruments for later reuse.

Customers: a lightweight vault for storing payer identity and reusable payment instruments. API version v0.1.

Normalized representation of every error the SumUp API can return.

A user account under a merchant (id prefixed mem_).

Members: user accounts under a merchant, including virtual/managed users. API version v0.1.

A membership relation between the currently authenticated user and a resource (typically a merchant or organization), including the roles and effective permissions granted there.

Memberships: lists the currently authenticated user's memberships across merchants/organizations, optionally filtered by resource type, role, status, or parent. API version v0.1.

A merchant's legal entity profile: company details, business profile, and locale/currency defaults.

Merchants: legal entity and KYC profile data. API version v1.

SumUp represents money in two different, incompatible shapes depending on which API generation you're calling

Money as represented by SumUp's legacy resources (Checkouts, Customers' payment instruments, Transactions, Payouts): a decimal major-unit float plus an ISO 4217 currency code, e.g. %{"amount" => 10.5, "currency" => "EUR"}.

Money as represented by SumUp's newer Readers API: an integer value in minor units, an explicit minor_unit (decimal exponent), and an ISO 4217 currency code, e.g. %{"value" => 5033, "minor_unit" => 2, "currency" => "EUR"} for €50.33.

Generic lazy pagination built on Stream.resource/3, used by every resource module that exposes a list_all/2-style function (e.g. Sumup.Transactions.list_all/2, Sumup.Members.list_all/2).

A tokenized, reusable payment method saved against a Sumup.Customer.

Payment instruments: tokenized cards saved against a Sumup.Customer, created as a side effect of a Sumup.Checkouts.process/3 call with purpose: "SETUP" (or a regular charge that opts to save the method). API version v0.1.

A single payout (or payout-adjusting) entry in a merchant's financial report.

Payouts: a date-ranged report of funds settled to (or deducted from) a merchant's bank account. API version v1.0.

A SumUp Solo card reader (id prefixed rdr_), paired to a merchant.

Live device status for a paired reader (battery, firmware, connectivity).

Readers: pair, manage, and push payments to physical SumUp Solo card readers. API version v0.1.

A detailed, printable/emailable receipt for a transaction.

Receipts: detailed, receipt-formatted view of a transaction, keyed by transaction id plus the merchant id (mid). API version v1.1.

Exception wrapper around Sumup.Error, raised by bang (!) functions and by Sumup.Pagination.stream/2 (since Enumerable/Stream.resource/3 can only propagate failures by raising).

A role definition (built-in or custom), grouping a set of permissions assignable to members.

Roles: role definitions (built-in and custom) grouping permissions, assignable to Sumup.Members. API version v0.1.

Sumup instruments every HTTP call with :telemetry spans (default prefix [:sumup, :request], configurable via Sumup.Config.t/0's :telemetry_prefix).

A single SumUp transaction (card-present, online, or refund).

Transactions: read-heavy history and lookup endpoints (API version v2.1), plus refunds (API version v1.0).

A decoded SumUp webhook payload.

Handling for SumUp's online-payments webhooks.