Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

The portal uses Astro with the Starlight theme. Application source sits in `src/`, with `pages/` for route entry points, `content/` for MDX docs, `components/` for reusable UI (React, Astro, and Circuit UI), and `utils/`/`lib/` for shared logic. Assets live in `src/assets` and `public/`. Build outputs go to `dist/`. Configuration resides in `astro.config.ts`, `ec.config.mjs`, and `wrangler.jsonc`; adjust them when adding new content types or deployment targets. API documentation is based on `openapi.yaml`, this file is synchronized from outside this repository, do not edit it.

## Content

Content (`content/`) of the developer portal uses United States English spelling and grammar. The articles shall be clear and concise and refer to external documentation for established standards and RFCs. We don't use emojis.

## Build, Test, and Development Commands

- `npm run dev` — watch mode with Hot Module Reloading; use when authoring docs or components.
Expand Down
366 changes: 137 additions & 229 deletions public/_redirects

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/content/docs/online-payments/checkouts/card-widget.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ A secure HTTPS connection is used to submit the payment information. We recommen

## Prerequisites

Payment Widget requires only the ability to create online checkouts via [SumUp checkout API](/api/checkouts/create), authorized by API key or access token (see the [Authorization Guide](/tools/authorization/authorization/) for details).​
Payment Widget requires only the ability to create online checkouts via [SumUp checkout API](/api/checkouts/create), authorized by API key or access token (see the [Authorization Guide](/tools/authorization/) for details).​

## Compliance

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Hosted Checkouts is available to all SumUp merchants and getting started with it

## Prerequisites

Hosted Checkout requires only the ability to create online checkouts via [SumUp checkout API](/api/checkouts/create), authorized by API key or access token (see the [Authorization Guide](/tools/authorization/authorization/) for details).​
Hosted Checkout requires only the ability to create online checkouts via [SumUp checkout API](/api/checkouts/create), authorized by API key or access token (see the [Authorization Guide](/tools/authorization/) for details).​

## Accessing Hosted Checkout

Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/online-payments/guides/refund.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ Here are the things that you need in order to complete the steps in this guide:

- [SumUp merchant account](https://me.sumup.com/login) with completed [account details](https://me.sumup.com/account).
- You can also use a [test account](/online-payments/#getting-a-test-account).
- [Registered client application](/tools/authorization/register-app/) with SumUp.
- Valid access token obtained with the [Authorization code flow](/tools/authorization/authorization/#authorization-code-flow).
- [Registered client application](/tools/authorization/oauth/#register-oauth-application) with SumUp.
- Valid access token obtained with the [Authorization code flow](/tools/authorization/oauth/#authorization-code-flow).
- You have processed a checkout and you have the checkout ID.


<Aside type="note">

Transactions are associated with active merchant user accounts. As a result, you _cannot_ use an access token obtained via the [Client credentials flow](/tools/authorization/authorization/#client-credentials-flow) to complete the steps in this guide.
Transactions are associated with active merchant user accounts. As a result, you _cannot_ use an access token obtained via the [Client credentials flow](/tools/authorization/oauth/#client-credentials-flow) to complete the steps in this guide.

</Aside>

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/online-payments/guides/single-payment.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ When you complete these steps, you will have processed a payment with a payment

- [SumUp merchant account](https://me.sumup.com/login) with completed [account details](https://me.sumup.com/account).
- You can also use a [test account](/online-payments/#getting-a-test-account).
- [Registered client application](/tools/authorization/register-app/) with SumUp.
- Valid access token obtained either with the [Authorization code flow](/tools/authorization/authorization/#authorization-code-flow) or [Client credentials flow](/tools/authorization/authorization/#client-credentials-flow).
- [Registered client application](/tools/authorization/oauth/#register-oauth-application) with SumUp.
- Valid access token obtained either with the [Authorization code flow](/tools/authorization/oauth/#authorization-code-flow) or [Client credentials flow](/tools/authorization/oauth/#client-credentials-flow).

## Steps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ You will go through the following steps:

- You have a merchant account with [SumUp](https://me.sumup.com/login) and have already filled in your [account details](https://me.sumup.com/account).
- You can also create a [test account](/online-payments/#getting-a-test-account). Please note that setting up 3DS verification in a test account requires contact with our team at integrations@sumup.com.
- You have an API Key. For more details see the [Authorization Guide](/tools/authorization/authorization/#api-keys).
- You have an API Key. For more details see the [Authorization Guide](/tools/authorization/api-keys/).
- You have control over the backend server to retrieve data securely.


Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/online-payments/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ When finished experimenting with the test account, switch back to a regular acco

## Authorization

All online payment products use SumUp APIs, which require authorization via an API key or access token. See the [Authorization Guide](/tools/authorization/authorization/) for details on available options.​
All online payment products use SumUp APIs, which require authorization via an API key or access token. See the [Authorization Guide](/tools/authorization/) for details on available options.​

## Checkout Products

Expand Down Expand Up @@ -91,12 +91,12 @@ The API handles requests and responses primarily in JSON format, except when req

### Receiving Payments

To receive payments, [create a checkout](/online-payments/guides/single-payment/#1-create-a-checkout). Use merchant-direct payments or initiate on a merchant's behalf based on your [authorization type](/tools/authorization/authorization/). Checkouts are created via server-to-server communication to keep access tokens and credentials secret and prevent changes to sensitive details like transaction amount or recipient.
To receive payments, [create a checkout](/online-payments/guides/single-payment/#1-create-a-checkout). Use merchant-direct payments or initiate on a merchant's behalf based on your [authorization type](/tools/authorization/). Checkouts are created via server-to-server communication to keep access tokens and credentials secret and prevent changes to sensitive details like transaction amount or recipient.

[Completing checkouts](/online-payments/guides/single-payment/#2-complete-a-checkout) via web browser or mobile app to avoid handling sensitive data like card details on your servers, eliminating PCI DSS compliance needs.

<Aside type="tip">
A checkout can be completed in a browser only from a domain that is present as an authorized JavaScript origin when [creating your client credentials](/tools/authorization/register-app/#3-create-oauth-client-credentials).
A checkout can be completed in a browser only from a domain that is present as an authorized JavaScript origin when [creating your client credentials](/tools/authorization/oauth/#3-create-oauth-client-credentials).
</Aside>

SumUp offers the following checkout completion options:
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/online-payments/plugins/prestashop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ Currently, Alternative Payment Methods (APMs) are not available in SumUp plugins

## Installation

1. Follow [the register application guide](/tools/authorization/register-app) to obtain the client credentials for your app.
2. Download the client credentials JSON as described in the [access client credentials section](/tools/authorization/register-app/#4-access-the-client-credentials).
1. Follow [the register application guide](/tools/authorization/oauth/#register-oauth-application) to obtain the client credentials for your app.
2. Download the client credentials JSON as described in the [access client credentials section](/tools/authorization/oauth/#4-access-the-client-credentials).
3. Upload the JSON to the **Module Configuration** page in PrestaShop Backoffice.
4. After SumUp account verification, [contact us](/contact) to enable online payments scope for your PrestaShop online store.

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/online-payments/plugins/wix.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ WIX integration supports the following Alternative Payment Methods (APMs): iDeal

## Installation

1. First, create your secret API Key. [See this article](/tools/authorization/authorization/#integration-via-api-keys) for details. Copy your key before proceeding.
1. First, create your secret API Key. [See this article](/tools/authorization/api-keys/#create-an-api-key) for details. Copy your key before proceeding.
2. In WIX dashboard, go to **Settings** > **Accept payments**.
3. Select **SumUp**, paste your secret API Key in **Account Information**, and **Save**.

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/online-payments/plugins/woocommerce.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Available for plugin versions above `2.5`.
### Advanced Integration

1. Once the plugin is activated, click **Advanced version**.
2. [Create your API Key](/tools/authorization/authorization/#create-api-key).
2. [Create your API Key](/tools/authorization/api-keys/#create-an-api-key).
3. Enter SumUp credentials (API Key, email, and merchant code) and settings.

## Additional Configuration
Expand Down Expand Up @@ -111,7 +111,7 @@ To create client credentials you must have an active [SumUp account](https://me.
Monday through Friday.
</Aside>

Once you ensure you've met the above requirements, you can proceed with our [Register application guide](/tools/authorization/register-app/) to set up your client credentials.
Once you ensure you've met the above requirements, you can proceed with our [Register application guide](/tools/authorization/oauth/#register-oauth-application) to set up your client credentials.

## Plugin Configuration

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/online-payments/sdks/react-native.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ SumUp's React Native Payment SDK provides a payment sheet that is displayed on t
Here are the things that you need in order to complete the steps in this guide:
- You have a merchant account with [SumUp](https://me.sumup.com/login) and have already filled in your [account details](https://me.sumup.com/account).
- For a **test account** reach out to our support team through this [contact form](/contact).
- You have [registered your client application](/tools/authorization/register-app/) with SumUp.
- You have a valid access token obtained via the [Authorization code flow](/tools/authorization/authorization/#authorization-code-flow).
- You have [registered your client application](/tools/authorization/oauth/#register-oauth-application) with SumUp.
- You have a valid access token obtained via the [Authorization code flow](/tools/authorization/oauth/#authorization-code-flow).
- The restricted `payment_instruments` scope is enabled for your client application. If it isn't enabled, [contact us](/contact) and request it.
- Review how to create a single payment [here](https://developer.sumup.com/online-payments/guides/single-payment/#before-you-begin).

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/terminal-payments/cloud-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The { cloudapiname } integration supports:

## Prerequisites

* Your device must be authorized to use the { cloudapiname }. [Refer to the authorization guide](/tools/authorization/authorization/) and implement the method that best fits your use case. An API key should be sufficient if you don’t plan to delegate access to third parties.
* Your device must be authorized to use the { cloudapiname }. [Refer to the authorization guide](/tools/authorization/) and implement the method that best fits your use case. An API key should be sufficient if you don’t plan to delegate access to third parties.
* You must [create an Affiliate Key](/tools/authorization/affiliate-keys/) for your app, as SumUp { cloudapiname } requires this key in checkout requests.
* We strongly recommend keeping the Solo terminal plugged in when using the { cloudapiname }.
* If you want to use mobile data, ensure you are not connected to Wi-Fi. Disconnect from Wi-Fi if necessary—when both mobile data and Wi-Fi are available, the Solo reader will always use Wi-Fi.
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/terminal-payments/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ You can accept card payments using SumUp’s platform accompanied by our proprie

* Before integrating either the [Native SDK](/terminal-payments/sdks/) or the [Payment API Switch](/terminal-payments/payment-switch), create a SumUp account in the [SumUp Dashboard](https://me.sumup.com). The dashboard offers [a test account](#getting-a-test-account), allowing for integration tests without involving real money.

* Once you have an account, [create an Affiliate Key](/tools/authorization/affiliate-keys/) for your app and [provide authorization](/tools/authorization/authorization/).
* Once you have an account, [create an Affiliate Key](/tools/authorization/affiliate-keys/) for your app and [provide authorization](/tools/authorization/).

<Aside type="caution">

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/terminal-payments/payment-switch.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Your app initiates a request to charge a card, opens the SumUp app on the mercha

The API integration also allows the possibility to pre-fill the checkout amount and cardholder information, and send a receipt via SMS or email. You can use the cash option, not available in our SDK, for better reporting and management of your funds in the SumUp dashboard.

Activate the [mandatory authorization scopes](/tools/authorization/authorization/#authorization-scopes) for a smooth performance. They require an access token for your client application for authentication and authorization with the SumUp REST API.
Activate the [mandatory authorization scopes](/tools/authorization/oauth/#authorization-scopes) for a smooth performance. They require an access token for your client application for authentication and authorization with the SumUp REST API.

## Integration Documentation

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/terminal-payments/sdks/android-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ SumUpLogin sumupLogin = SumUpLogin.builder(mAffiliateKey).accessToken("MY_ACCESS
SumUpAPI.openLoginActivity(MainActivity.this, sumupLogin, 1);
```

For information about how to obtain a token, please see the [Authorization Documentation](/tools/authorization/authorization).
For information about how to obtain a token, please see the [Authorization Documentation](/tools/authorization/).

If the token is invalid, `SumUpAPI.Response.ResultCode.ERROR_INVALID_TOKEN` is returned.

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/terminal-payments/sdks/android-ttp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,11 @@ interface AuthTokenProvider {

There are several ways for a consumer app to provide the access token to the SDK.

1. Using the OAuth 2.0 [flow](https://developer.sumup.com/tools/authorization/authorization#integration-via-oauth-20):
1. Using the OAuth 2.0 [flow](https://developer.sumup.com/tools/authorization/oauth/#integration-via-oauth-20):
The consumer app can implement the OAuth 2.0 flow to get the access token and provide it to the SDK. The SDK provides the `AuthTokenProvider` interface that should be implemented by the consumer app. The implementation of the `getAccessToken` method should return the access token. This way is preferable and recommended because it provides a more secure way to authenticate the user.

2. Using API Key:
You can use an API Key as an auth token. Generate the key in the [SumUp Dashboard](https://developer.sumup.com/tools/authorization/authorization#create-api-key) and provide it to the SDK through `AuthTokenProvider.getAccessToken()` method.
You can use an API Key as an auth token. Generate the key in the [SumUp Dashboard](https://developer.sumup.com/tools/authorization/#create-api-key) and provide it to the SDK through `AuthTokenProvider.getAccessToken()` method.

> ⚠️ **Important:**
> The API keys should be stored securely and should not be hardcoded in the app. Instead, they should be stored in the secure storage and provided to the SDK when needed. Do not share your secret API keys in publicly accessible places such as GitHub repositories, client-side code, etc.
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/terminal-payments/sdks/ios-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ SumUp { iossdkname } supports either the OAuth 2.0 Authorization Code Flow login

### Implementing Authentication with OAuth 2.0

SumUp can issue Access Tokens in accordance with the OAuth 2.0 Authorization Code Flow, which is our recommended authorization approach (Client Credentials Flow is not supported by this SDK). See the [Authorization Documentation](/tools/authorization/authorization#integration-via-oauth-20) for more details.
SumUp can issue Access Tokens in accordance with the OAuth 2.0 Authorization Code Flow, which is our recommended authorization approach (Client Credentials Flow is not supported by this SDK). See the [Authorization Documentation](/tools/authorization/oauth/#integration-via-oauth-20) for more details.

### Implementing Authentication with View Controller

Expand Down
Loading