---
title: "Swish for API only"
description: "Add Swish to your API-only integration."
url: "https://docs.adyen.com/payment-methods/swish/api-only"
source_url: "https://docs.adyen.com/payment-methods/swish/api-only.md"
canonical: "https://docs.adyen.com/payment-methods/swish/api-only"
last_modified: "2026-06-01T15:33:15+02:00"
language: "en"
---

# Swish for API only

Add Swish to your API-only integration.

[View source](/payment-methods/swish/api-only.md)

You can add Swish to your existing integration. The following instructions show only what you must add to your integration specifically for Swish.

If an instruction on this page corresponds with a step in the main integration guide, it includes a link to that corresponding step of the main integration guide.

## Requirements

| Requirement          | Description                                                                                                                                                                                                                 |   |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Integration type** | Make sure that you have an existing [API-only integration](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only).                                                                    |   |
| **Action handling**  | Make sure that your existing integration is set up to [handle the additional action](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#additional-action). `action.type`: **qr**. |   |
| **Setup steps**      | Before you begin, [add Swish in your Customer Area](/payment-methods/add-payment-methods).                                                                                                                                  |   |

## How it works

1. The shopper selects Swish as the payment method.

2. The shopper enters their details in the [payment form that you build](#build-your-payment-form).

3. When you make the payment request, you [include additional information about the items that the shopper intends to purchase](#additional-parameters-payments).

4. Handle the additional actions:

   * For shoppers on desktop or laptop, present a QR code.
   * For shoppers on mobile, present a button that redirects to the Swish app.
   * For shoppers on tablet, you can present a QR code or a button that redirects to the Swish app, or both.

5. You fulfill the order by sending items to the shopper.

## Build your payment form

Include Swish in the list of [available payment methods](#get-available-methods).

You do not need to collect any information from the shopper in your payment form.

You can [download the logo for Swish](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%2Bonly\&version=71#downloading-logos) to use in your form.

## Get Swish as an available payment method

When you make the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) to [get available payment methods](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#get-available-payment-methods), specify the following so that Swish is included in the response.

| Parameter                                                                                                          | Values      |
| ------------------------------------------------------------------------------------------------------------------ | ----------- |
| [countryCode](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods#request-countryCode)         | ****SE****  |
| [amount.currency](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods#request-amount-currency) | ****SEK**** |

**Example request for available payment methods**

```bash
curl https://checkout-test.adyen.com/v72/paymentMethods \
-H 'x-api-key: ADYEN_API_KEY' \
-H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \
-H 'content-type: application/json' \
-X POST
-d '{
   "merchantAccount": "ADYEN_MERCHANT_ACCOUNT",
   "countryCode": "SE",
   "amount": {
      "currency": "SEK",
	  "value": 1000
   },
   "shopperLocale": "se-SE"
}'
```

**Example response with Swish available**

```json
{
    "paymentMethods": [
        {
            "name": "Swish",
            "type": "swish"
        }
    ]
}
```

## Add additional parameters to your /payments request

You do not need to add any parameters when you [make a payment](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#make-a-payment).

When the shopper is on desktop or laptop, the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) response includes `action.type` : **qrCode**. Part of handling this action type is to [show the QR code to the shopper](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#additional-action).

When the shopper is on mobile, the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) response includes `action.type` : **redirect**. Part of handling this action type is to [redirect the shopper to the Swish app](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#additional-action).

## Test and go live

When you make a Swish payment in the test environment, the payment is authorised within 15 seconds. You can simulate different refusal scenarios, as outlined in the [Merchant Swish Simulator](https://developer.swish.nu/api/mss/v1), by adding the error code to the `shopperStatement` property. For example, `"shopperStatement": "FF08"`.

Check the status of Swish test payments in your **Customer Area** > **Transactions** > **Payments**.

To accept live Swish payments, you must [submit a request for Swish](/payment-methods/add-payment-methods) in your [live Customer Area](https://ca-live.adyen.com/).

## See also

* [API-only integration guide](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only)
