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, within 13 months | 
| 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.If the ReturnURL redirects to your app, rather than a website, you need to also set the PaymentFlow to APP.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 minutesThe 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 on your specified 
ReturnURL:- To a website if 
PaymentFlowisWEB(default value) - To a mobile app if the 
PaymentFlowisAPP 
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