About

Swish is a popular payment method in Sweden that allows users to scan a QR code to validate the payment in their Swish app.

Region

Sweden

Currencies

SEK

Refunds

Yes

Disputes

Users authenticate directly with their bank, so there is no dispute process and a low risk of unrecognized or fraudulent payments

Preauthorization

No

Recurring payments

No

How it works

The Swish pay-in flow provides the following checkout experience:

1

User chooses payment method

On your app or website, the user selects Swish as the payment method

2

Payment initiation

You create the payment request by calling POST Create a Swish PayIn, specifying the ReturnURL.

3

Redirection

On a website, you redirect the user via the RedirectURL response value to a hosted payment page containing the QR code. Alternatively, you can integrate a PNG of the QR code into your payment page using the QRCodeURL value (which is Base64-encoded).

In an app-to-app flow, you redirect the user to their Swish app via the DeepLinkURL response value.

After pressing the pay button, the user uses the Swedish Mobile BankID system to validate the payment.

Note – Timeout after 3 minutes

The payment session lasts for 3 minutes, at which point the pay-in fails automatically if no action has been taken by the user.

4

Return

After payment, the user is returned to the ReturnURL that you specified in the payment request.

5

Outcome

The transaction is complete when the pay-in status changes from CREATED to SUCCEEDED or FAILED, indicating the outcome.

Hooks

You should also set up hook notifications for the relevant event types:

  • PAYIN_NORMAL_SUCCEEDED
  • PAYIN_NORMAL_FAILED