Sedan vi på Krokedil utvecklade Klarna Checkout för WooCommerce och det introducerades 2012 har en inbäddad kassa- eller checkout-lösning varit ett mycket populärt betalsätt bland e-handlare och kunder. Till en början var Klarna ensamma om upplägget, men idag finns det många aktörer som erbjuder inbäddade kassor, så som Payson, Ecster, Nets, Collector Bank, Briqpay, Billmate med flera och därför mer att välja på för dig som har en webbutik.
En snabbgenomgång om skillnader i upplägg
För dig som inte är helt bekant med upplägget kring inbäddade kassor, och hur de skiljer sig från traditionella betalsätt, så kommer här en snabbgenomgång.
Inbäddad kassa
- Att en kassa är inbäddad betyder att själva checkouten ligger externt hos betaltjänstleverantören, men att den visas i din webbutik genom att bäddas in via en iframe.
- En inbäddad kassa ersätter till stor del webbutikens egen kassa.
- I en inbäddad kassa anger kunden både sina adressuppgifter samt väljer betalsätt.
- Med en inbäddad kassa skapas först en väntande order i WooCommerce, men köpet slutförs i betalhanterarens kassa först (eftersom det är i denna iframe som ”Slutför köp”-knappen finns). Därefter kontaktas din webbutik för att genomföra själva processandet/behandlingen av ordern så att den går från väntande till färdigbehandlad.
Traditionellt betalsätt
- Ett traditionellt betalsätt visas som ett av (vanligtvis) flera olika betalningsalternativ i webbutikens egen kassa.
- Ett traditionellt betalsätt hanterar endast betalningen. Som kund identifierar du dig inte via betalsättet.
- Med ett traditionellt betalsätt slutförs ordern i webbutiken först (när kunden klickar på ”Slutför köp”-knappen i kassan). Därefter kontaktas betaltjänstleverantören för att genomföra själva betalningen – tvärtom mot hur det fungerar i en inbäddad kassa.
Hur skapas en order?
En kassasida i en webbutik är egentligen ingenting mer än ett formulär som i slutändan postas till webbutiken när kunden klickar på ”Slutför köp”-knappen. När denna formulärdata processas så skapas en order och varje fält i formuläret sparas i denna order.
Om vi nu pratar om e-handelsplattformen WooCommerce (som är den plattform vi på Krokedil jobbar med) så triggas i denna sekvens även ett flertal events och så kallade action hooks. Detta är händelser som andra add-ons till WooCommerce, t.ex. ett plugin för betalningar, kan tänkas lyssna på och agera utifrån.
I våra plugin försöker vi efterlikna WooCommerce egna flöde så mycket som möjligt för att öka kompatibilitet med andra plugin och undvika övriga problem som kan uppstå.
Flödet i en inbäddad kassa ser ut såhär:
- När en kund klickar på Slutför köp i kassan försöker vi skapa en order i WooCommerce med statusen Inväntar betalning.
- Om detta går bra skickas informationen vidare till betaltjänstleverantören som i sin tur gör sina kontroller, exempelvis att det finns pengar på kortet om kortbetalning är det valda betalsättet.
- Efter att dessa kontroller är klara skickas kunden till butikens Tack-sida och vi slutför ordern i WooCommerce och uppdaterar statusen till Behandlas.
Om det är så att betalningen av någon anledning nekas hos betaltjänstleverantören kommer inte ordern i WooCommerce uppdateras utan kommer behålla statusen Inväntar betalning. Att ha flera ordrar med statusen Inväntar betalning men som i realiteten är avbrutna kan så klart vara ett problem för en e-handlare. Men det finns sätt att få dessa ordrar att automatiskt omvandlas till Avbruten och hur du gör det kan du läsa om på Configuring WooCommerce Settings.
Kompatibilitet
WooCommerce är inte byggt för att hantera inbäddade kassor så vi behöver bygga in stöd för detta i våra plugin. Det är även så att olika extensions implementerar/utökar funktionaliteten på lite olika sätt samt att inte alla teman visar kassan och dess kassafält på samma sätt. Här finns alltid en liten risk att det kan uppstå kompabilitetsproblem.
Vår ambition är hela tiden att våra plugin ska vara kompatibla med så mycket funktioner och tillägg som möjligt. Vi jobbar aktivt med detta och släpper löpande uppdateringar som leder till en bättre upplevelse, både för dig som e-handlare men också för dina kunder.
Denna artikel skrevs ursprungligen i december 2017 men uppdaterades i juni 2021 och vi kan nöjt konstatera att vi bland annat kunde stryka flera stycken om funktioner som saknade stöd.