
Swish Handel eller Swish QR-kod?
Swish för företag finns i flera varianter. För appar används Swish Handel, där betalningen startas från er app eller webbplats och resultatet skickas tillbaka automatiskt till ert system. För betalning på plats, till exempel i en kassa, vid ett loppisbord eller på en faktura, räcker ofta en Swish QR-kod som kunden skannar.
| Swish Handel | Swish QR-kod | |
|---|---|---|
| Användning | Betalning i app eller på webbplats | Fysisk betalning, affisch, faktura |
| Belopp | Sätts av ert system per köp | Fast eller valfritt |
| Bekräftelse till ert system | Automatisk via callback | Ingen automatisk koppling |
| Kräver utveckling | Ja, server och integration | Nej, kan skapas direkt |
| Avtal | Swish Handel via bank | Swish-avtal via bank |
Behöver ni bara en QR-kod kan ni skapa en gratis med vår Swish QR-kodsgenerator.
Observera att Swish bara får användas för fysiska varor och tjänster i appar, som mat, bokade tider eller biljetter. Digitalt innehåll som låses upp i appen ska enligt Apples och Googles regler i regel betalas via deras egna köpsystem. Läs mer om avgifterna i App Store och Google Play.
Det här behövs innan utvecklingen
- Avtal om Swish Handel med er bank. Ni får ett Swish-nummer för handel. Banken sätter avgifterna, så jämför villkoren hos er bank.
- Certifikat. Kommunikationen med Swish skyddas med ett klientcertifikat som ni hämtar ut via Swish certifikatportal efter att avtalet är klart. Certifikatet har en giltighetstid och måste förnyas.
- En server. Certifikatet får aldrig ligga i själva appen. Alla anrop till Swish görs från er server, till exempel en Node.js-tjänst.
- En publik HTTPS-adress för callback dit Swish skickar resultatet.
Avtalet tar olika lång tid beroende på bank, så börja i god tid. Tekniska detaljer och villkor finns på swish.nu.
Så går en Swish-betalning i appen till
- Kunden väljer vara eller tid och trycker på Betala med Swish.
- Appen ber er server att skapa en betalning med belopp och ordernummer.
- Servern skickar en betalningsförfrågan till Swish API med certifikatet, ert Swish-nummer, beloppet, ett meddelande och callback-adressen.
- Swish svarar med en token för förfrågan.
- Appen öppnar Swish-appen med denna token (växling mellan appar). Kunden ser belopp och mottagare.
- Kunden godkänner med BankID i Swish.
- Swish skickar resultatet – betald, nekad, avbruten eller fel – till er callback-adress.
- Servern uppdaterar ordern och meddelar appen, som visar en bekräftelse när kunden kommer tillbaka.
Om kunden använder appen på en annan enhet än den där Swish finns, till exempel en surfplatta, kan flödet i stället bygga på att kunden anger sitt telefonnummer och godkänner förfrågan i Swish-appen på mobilen.
Callback och felhantering
Callback är det enda tillförlitliga beskedet om att pengarna är betalda. Därför ska ordern aldrig markeras som betald bara för att kunden kommit tillbaka till appen. Bra praxis:
- Verifiera på servern. Kontrollera att callback gäller rätt betalning och belopp.
- Hämta status vid behov. Om callback dröjer kan servern fråga Swish om betalningens status.
- Hantera avbrott. Kunden kan stänga Swish, sakna täckning eller låta förfrågan löpa ut.
- Visa tydlig status i appen medan betalningen väntar, så att kunden inte betalar två gånger.
- Återbetalningar görs via ett separat anrop till Swish och bör finnas i adminpanelen.
Testmiljö: Merchant Swish Simulator
Swish erbjuder en testmiljö, Merchant Swish Simulator (MSS), med egna testcertifikat. Där kan hela flödet testas utan riktiga pengar, inklusive olika felkoder och svarstider. Testerna omfattar även situationer som är svåra att framkalla med riktiga betalningar, till exempel att kunden saknar täckning, att förfrågan löper ut eller att Swish svarar långsamt. Först när allt fungerar byter vi till produktionsmiljön med ert riktiga certifikat och Swish-nummer, och gör en testbetalning med ett litet belopp.
Säkerhet och drift
Swish Handel är säkert i sig, men integrationen behöver skötas:
- Förnya certifikatet i tid. Ett utgånget certifikat stoppar alla betalningar. Lägg in en påminnelse långt före utgångsdatumet.
- Skydda callback-adressen. Kontrollera att anropen verkligen kommer från Swish och att betalningen matchar en order i er databas.
- Övervaka flödet. Larm vid ovanligt många fel eller uteblivna callbacks gör att problem upptäcks innan kunderna hör av sig.
- Spara betalnings-ID. Varje betalning har ett eget referensnummer som behövs vid återbetalning, avstämning och bokföring.
- Testa efter uppdateringar. När iOS eller Android uppdateras ska växlingen mellan appen och Swish testas igen.
Övervakning och uppdateringar ingår i våra underhållsavtal.
Swish tillsammans med kortbetalning
Många appar erbjuder både Swish och kort. Kortbetalning hanteras då av en betalleverantör som Stripe, medan Swish går direkt via Swish Handel eller via en betalleverantör som har Swish i sitt utbud. Det senare kan förenkla integrationen och rapporteringen, men villkoren varierar.
Om ni väljer båda bör betalsidan i appen visa Swish först för svenska kunder, eftersom de flesta har appen installerad och betalningen går snabbt. Kortbetalning behövs ändå för kunder utan Swish, till exempel besökare från andra länder. Ordern och kvittot ska se likadana ut oavsett betalsätt, så att adminpanelen och bokföringen hanterar båda på samma sätt.
Swish i appen är vanligt i till exempel en bokningsapp, en medlemsapp och en träningsapp, där kunden betalar för en tid, en avgift eller ett pass.
Vad som ingår när vi bygger Swish-betalning
| Ingår | Ingår inte |
|---|---|
| Serverintegration mot Swish API | Avtal och avgifter hos er bank |
| Växling till Swish-appen och tillbaka | Uthämtning av certifikat (vi visar hur) |
| Callback, statuskontroll och felhantering | Bokföringsintegration, om den inte är beställd |
| Test i MSS och testbetalning i produktion | Kortbetalning, som byggs separat |
| Återbetalning från adminpanelen |
Swish-betalning ingår typiskt i en mellanstor app. Få en uppskattning för just er app i priskalkylatorn.
Vanliga frågor
Nej, för betalningar i en app krävs Swish Handel, som är ett eget avtal med banken och ger tillgång till API och certifikat.
Allt som finns i appen kan i princip plockas ut av den som laddar ner den. Med certifikatet skulle någon kunna skapa betalningsförfrågningar i ert namn, så det ska bara finnas på er server.
Swish skickar resultatet till er servers callback-adress. Servern uppdaterar ordern och appen hämtar statusen därifrån. Att kunden kommer tillbaka till appen räcker inte som bevis.
För fysiska varor och tjänster går det bra. Digitalt innehåll som låses upp i appen ska enligt Apples och Googles regler i regel säljas via deras köpsystem.
Uppdaterad 2 november 2026