Payments

Swish WooCommerce POS — Oliver POS Integration Guide

Oliver POS doesn't have a partnership with Swish. It supports Swish the same way any WooCommerce store does — through a Swish for WooCommerce plugin, opened inside Oliver's in-POS browser view at the counter. For Swedish retailers that's the only thing that matters in practice, because Swedish shoppers expect Swish at the till in the same way Norwegians expect Vipps. The Swish WooCommerce POS flow described here is the same plugin, the same Swish merchant agreement, just surfaced at the counter.

What Swish is, exactly

Swish is a bank-owned mobile payment scheme, launched in 2012 by a consortium of major Swedish banks together with Bankgirot. It currently reports more than eight million users — essentially the entire Swedish adult banking population — and is widely accepted by businesses, charities, sports clubs, and individuals. Authorisation runs through BankID, Sweden's national digital identity system, which is why Swish payments feel native to local shoppers.

For merchants, a Swish Handel agreement is opened with their bank. That agreement issues the merchant Swish-number and certificate that any compliant Swish for WooCommerce plugin needs in order to talk to the Swish API. Oliver does not change any of that.

How Oliver POS opens Swish at the counter

The till flow follows Oliver's standard pattern. The cashier rings up an order in Oliver POS, taps Pay, and selects Swish. Oliver loads the Swish checkout page generated by the WooCommerce plugin inside an in-POS browser view, which is a full-screen webview locked to that single sale.

The customer either taps a Swish button on their phone, scans a QR code shown on the cashier-facing screen, or enters their phone number on the page. The Swish app opens, BankID authenticates the customer, and the payment is approved. Swish notifies WooCommerce, the order is recorded as paid against the cart Oliver assembled, the in-POS browser view closes, and the receipt prints. There is no separate POS terminal in this loop, and Oliver doesn't talk to Swish directly — the WooCommerce plugin handles all of it.

The Swish WooCommerce plugin — what Oliver rides on

The integration is powered by an official Swish for WooCommerce plugin, available on the WordPress.org plugin directory. Once it is installed and configured with the merchant's Swish certificate and Swish-number, it appears as a checkout method exactly like any other WooCommerce gateway. Oliver's in-POS browser view simply opens that gateway against the in-store cart.

If the merchant updates Swish settings in WordPress — callback URLs, capture behaviour, branding — those changes flow to the counter automatically, because the plugin is the only place Swish is configured. The full Swish WooCommerce POS path is documented on the dedicated Swish integration page, and the broader pattern is covered in integrations.

Why Swish is a good fit for Swedish retail

Sweden is one of the most cashless countries in the world, and Swish is the connective tissue. Customers expect to pay with the app at restaurants, market stalls, second-hand shops, charity collections, and increasingly in regular retail. A till that doesn't accept Swish in 2026 is a friction point that customers feel immediately.

Reconciliation is straightforward. Swish settles directly to the merchant's bank account, in real time, with a clear merchant statement. Online and in-store Swish payments arrive in the same place, so there is no parallel reconciliation track to maintain. For pop-ups, food trucks, and small-format shops, Swish over Oliver's in-POS browser view replaces a card terminal entirely.

What this is NOT

  • Oliver POS does not partner with Swish or with the participating banks. There is no co-marketing, no rev-share, and no special bank pricing.
  • Oliver does not negotiate Swish fees. The merchant pays whatever their bank's Swish Handel agreement specifies.
  • Oliver does not sit in the money flow. Swish settles directly between the customer's bank and the merchant's bank; Oliver is the POS software.
  • The integration is the same WooCommerce plugin Swedish merchants already use online. Oliver opens it inside its in-POS browser view.

Setup in 4 steps

  1. Open a Swish Handel agreement with your bank and obtain the Swish-number plus the certificate file the agreement issues.
  2. Install a Swish for WooCommerce plugin from the WordPress.org plugin directory and upload the certificate under WooCommerce → Settings → Payments → Swish.
  3. Install Oliver POS, connect it to the same WooCommerce store, and enable Swish as a counter payment method in Oliver's payments settings.
  4. Run a small live test sale at the till and confirm the order shows in WooCommerce and the corresponding Swish settles into the merchant bank account.

FAQ

Does Oliver POS partner with Swish?

No. Oliver has no commercial partnership with Swish or any of the bank owners. The Swish WooCommerce POS integration is the official Swish for WooCommerce plugin, opened inside Oliver's in-POS browser view.

Does Oliver charge a markup on Swish?

No. The merchant pays whatever Swish fees their bank charges under the Swish Handel agreement. Oliver's pricing is for the POS software and is independent of payment volume.

Does the customer need BankID?

Yes. Swish authorisation runs through BankID, which is standard in Sweden. The customer authenticates inside their Swish app; Oliver and WooCommerce never see BankID credentials.

What if the Swish authorisation times out?

The cashier closes the in-POS browser view, voids the unpaid order in Oliver, and either retries Swish or switches to another method like a card terminal. Swish itself remains the source of truth for whether the payment cleared.

Swish is the default Swedish payment for a reason — it works, it is fast, and it is settled directly between the customer's bank and the merchant's bank. Adding it at the till with Oliver is just plumbing the same Swish WooCommerce POS flow into the counter. Try Oliver POS free for 30 days at /demo/.