Swish
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:
User chooses payment method
On your app or website, the user selects Swish as the payment method
Payment initiation
You create the payment request by calling POST Create a Swish PayIn, specifying the ReturnURL
.
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.
Return
After payment, the user is returned to the ReturnURL
that you specified in the payment request.
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