Hoppa till innehållet
🚫 Rensa WooCommerce-kassan: ta bort onödiga betalningsmetoder efter land, belopp och roll

🚫 Rensa WooCommerce-kassan: ta bort onödiga betalningsmetoder efter land, belopp och roll

En kund fyller sin varukorg, kommer till kassan och ser fem betalningsmetoder, varav två faktiskt fungerar. Du testade den tredje för en månad sedan och glömde stänga av den, den fjärde tar inte emot betalningar från kundens land, och den femte är dödvikt som blev kvar efter att ett gammalt plugin avaktiverades. Låter det bekant?

Varje extra betalväg i kassan är friktion. Kunden slösar sekunder på att välja, och om de råkar välja en trasig metod överger de varukorgen. Enligt Baymard Institute lämnar 22% av användarna kassan specifikt på grund av en komplicerad eller förvirrande kassaprocess.

Här är tre sätt att rensa upp betalningsmetoder i WooCommerce: från den inbyggda panelen för en snabb städning till rad-för-rad-kod för alla tänkbara villkor. Varje metod har testats i en livebutik, med konkreta exempel och fallgropar.

Vad du bör veta innan du inaktiverar

💡 Snabb översikt:

  • Metod 1: WooCommerce → Inställningar → Betalningar, två klick, inaktiverar en betalväg för alla kunder på en gång
  • Metod 2: woocommerce_available_payment_gateways-filter i functions.php, villkor efter land, varukorgssumma, användarroll
  • Metod 3: gratispluginet Conditional Payments for WooCommerce, visuell byggare, noll rader kod

Gör en fullständig säkerhetskopia innan du gör några ändringar. Gratispluginet UpdraftPlus fixar detta: ett par klick och en kopia av din sajt finns i molnet. Efter att du inaktiverat betalvägar, kör alltid en testorder från varukorg till "tack"-sidan för att säkerställa att de kvarvarande metoderna tar emot betalningar utan fel.

Och viktigast av allt: inaktivera ALDRIG alla betalvägar på en gång. Lämna minst en fungerande betalningsmetod, annars kan kunderna helt enkelt inte slutföra sin order, och du upptäcker det först genom den öronbedövande tystnaden i din e-post.

Metod 1: WooCommerce-panelen, två klick, noll risk

Den enklaste och säkraste vägen. Fungerar när du behöver ta bort en specifik betalväg för ALLA kunder utan villkor.

Öppna WooCommerce → Inställningar i admin-sidofältet och gå till fliken Betalningar. Du ser en tabell med alla registrerade betalningsmetoder och en kolumn för Aktiverad. Aktiva betalvägar är markerade i lila, inaktiva i grått.

För att inaktivera en metod klickar du på reglaget i kolumnen Aktiverad, det blir grått. Klart. Betalvägen försvinner omedelbart från kassan. Ingen kod, inga plugins.

En alternativ väg till samma resultat: klicka på metodens namn i listan, avmarkera Aktivera denna betalningsmetod och spara.

Vad denna metod INTE kan göra

Det finns exakt en begränsning, men den är betydande: du inaktiverar betalvägen globalt. Om din butik är verksam i flera länder eller du behöver dölja en metod endast under vissa förhållanden (ordersumma under ett tröskelvärde, en produkt från kategorin "digitalt", en kund från EU), hjälper panelen inte. För villkorslogik, gå vidare till metod 2 och 3.

Metod 2: Kod, filtret woocommerce_available_payment_gateways

WooCommerce tillhandahåller hooken woocommerce_available_payment_gateways. Den körs precis innan listan med metoder visas i kassan och låter dig ta bort betalvägar baserat på ett dussin olika villkor: land, varukorgssumma, användarroll, produktkategori i ordern.

Koden läggs till i functions.php i barntemat eller via tillägget Code Snippets. Om du inte har ett barntema än, skapa ett innan du gör ändringar, annars går allt sönder vid nästa uppdatering av huvudtemat.

2.1. Dölj alla betalningsmetoder på en gång

Ibland behöver du ta bort hela betalningsformuläret: till exempel om sajten är i underhållsläge medan du testar varukorgen. En rad i functions.php:

1add_filter( 'woocommerce_cart_needs_payment', '__return_false' );

Filtret säger till WooCommerce: "ingen betalning behövs." Hela betalningsformuläret försvinner från kassan. Klicka på Uppdatera fil, och glöm inte att ta bort raden efter test, annars går inga riktiga ordrar igenom.

2.2. Inaktivera en betalningsgateway för ett specifikt land

Anta att du tar emot ordrar från USA och Europa. Amerikanska kunder betalar via PayPal, medan européer inte behöver det, de har lokala gateways. Koden nedan tar bort PayPal för en amerikansk faktureringsadress:

1add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_payment_gateway_disable_country' );
2function quadlayers_payment_gateway_disable_country( $available_gateways ) {
3 if ( is_admin() ) return $available_gateways;
4 if ( isset( $available_gateways['paypal'] ) && WC()->customer->get_billing_country() === 'US' ) {
5 unset( $available_gateways['paypal'] );
6 }
7 return $available_gateways;
8}

Nyckeln är gateway-ID:t. Varje gateway har sitt eget: paypal (PayPal), stripe (Stripe), bacs (direkt banköverföring) och cod (postförskott). Om du inte känner till ID:t, gå till WooCommerce → Inställningar → Betalningar, högerklicka på metodens namn och välj "Inspektera", leta sedan upp attributet data-gateway_id i koden:

När du har lagt till koden, testa kassan: med en amerikansk faktureringsadress försvinner PayPal; för andra länder ligger den kvar.

2.3. Inaktivera en gateway baserat på varukorgens totalbelopp

Vissa betalningsleverantörer tar ut en fast avgift som äter upp marginalen på små ordrar. För totalbelopp under 2000 kr vill du till exempel bara behålla direkt banköverföring, och aktivera PayPal för större köp:

1add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_disable_paypal_below_threshold' );
2function quadlayers_disable_paypal_below_threshold( $available_gateways ) {
3 $threshold = 200;
4 if ( WC()->cart->total < $threshold ) {
5 unset( $available_gateways['paypal'] );
6 }
7 return $available_gateways;
8}

Logiken är enkel: om varukorgens totalbelopp är under $threshold tas PayPal bort från listan. Byt ut tröskelvärdet mot ditt eget.

Metod 3: Tillägget Conditional Payments, visuell byggare

Om du helst inte vill röra functions.php löser tillägget Conditional Payments for WooCommerce samma problem. Per juli 2026: version 1.16.5, aktiva installationer, kompatibelt med senaste WordPress och WooCommerce. Senast uppdaterat 11 juli 2025.

Installationen är standard: Tillägg → Lägg till nytt, skriv "Conditional Payments for WooCommerce" i sökrutan, klicka på Installera nu och Aktivera.

Ställa in villkor

Efter aktivering dyker ett menyval Conditional Payment Methods upp i WooCommerce-menyn. Gå dit, se till att kryssrutan "Enable conditions" är aktiv och klicka på Add condition.

På sidan som öppnas anger du fyra parametrar:

  • Title, villkorets namn, t.ex. "Ingen PayPal för små ordrar".
  • Action, välj Disable the payment method(s).
  • Payment methods, bocka för de betalväxlar du vill inaktivera (du kan välja flera).
  • Conditions, utlösningslogiken. Exempel: "Cart total < tröskelbelopp" → PayPal inaktiveras.

Klicka på Publish, så börjar villkoret gälla direkt. Testa kassan med ett belopp under och över tröskeln.

Gratisversionen fungerar med dessa villkor: kundvagnens totalsumma, delsumma och delsumma exklusive moms. Operatorerna OCH/ELLER finns tillgängliga, så du kan bygga en regel som "inaktivera PayPal om beloppet är större än X OCH mindre än Y".

Premiumversionen lägger till filtrering per land, stad, användarroll, produktkategori, valuta och ett dussin andra parametrar. I praktiken räcker dock gratisfunktionaliteten för de flesta butiker.

⁉️🤔 Vanliga frågor

Hur inaktiverar jag en betalmetod för alla kunder på en gång?

Gå till WooCommerce → Inställningar → Betalningar och klicka på reglaget i kolumnen Aktiverad. Reglaget blir grått och metoden försvinner från kassan för alla utan undantag. Tio sekunder, noll risk.

Kan jag dölja en betalväg endast för en specifik produktkategori?

Gratisversionen av Conditional Payments klarar inte det. Premiumversionen filtrerar efter kategorier, produkter och attribut. Ett alternativ är kod på hooken woocommerce_available_payment_gateways med en kontroll av WC()->cart->get_cart() för varor från den önskade kategorin.

Påverkar inaktivering av en betalväg redan lagda ordrar?

Nej. Befintliga ordrar påverkas inte. Ändringen gäller bara framtida kassor; alla tidigare transaktioner ligger kvar oförändrade i historiken.

Vad gör jag om den inaktiverade betalvägen fortfarande visas i kassan?

Rensa webbplatsens cache och webbläsarens cache. Om du har ett cache-plugin (WP Rocket, W3 Total Cache), töm dess cache. Inaktivera sedan andra plugins tillfälligt ett i taget och testa kassan; det kan finnas en konflikt.

Kan jag ta tillbaka en inaktiverad metod?

Ja, när som helst. Metod 1: klicka på reglaget igen under Betalningar. Metod 2: ta bort eller kommentera ut koden du lade till. Metod 3: avaktivera villkoret i Conditional Payment Methods.

Är det obligatoriskt att skapa ett barntema innan jag redigerar functions.php?

Det rekommenderas starkt. Utan ett barntema försvinner dina ändringar när huvudtemat uppdateras. Pluginet Code Snippets är ett säkert alternativ: det lagrar kod i databasen och är inte beroende av temat.

Sammanfattning: vad du ska välja för din uppgift

Tre tillvägagångssätt täcker tre olika scenarier. Välj det som passar din situation:

  • Ta helt enkelt bort en onödig betalväg för alla → Metod 1, WooCommerce-panelen. Tio sekunder, noll risk.
  • Du behöver logik: efter land, belopp, roll → Metod 2 (kod) eller Metod 3 (plugin). Kod är gratis och lägger inte till några beroenden. Pluginet ger dig ett visuellt gränssnitt och skyddar mot stavfel i functions.php.
  • Du testar en sajt och behöver tillfälligt dölja betalning → en rad add_filter( 'woocommerce_cart_needs_payment', '__return_false' ) från avsnitt 2.1. Glöm inte att ta bort den efter testet.

I praktiken rekommenderar vi att börja med WooCommerce-panelen för grundläggande rensning, och för villkorad logik, installera Conditional Payments. Gratisversionen täcker de flesta scenarier, och den visuella byggaren eliminerar mänskliga fel i kod. När du har fler än fem villkor och butiken växer aktivt, byt till kod: skriv det en gång i functions.php och glöm bort det.