# Vipps MobilePay Gateway

The Vipps MobilePay gateway lets you accept phone-based payments directly within WCPOS. Customers pay by scanning a QR code on screen or confirming a push notification on their phone — no card reader hardware needed.

## Features[​](#features "Direct link to Features")

#### QR Code Payments

Display a QR code at checkout for customers to scan and pay with their phone

#### Push Notifications

Send a payment request straight to the customer's phone by entering their number

#### Nordic Coverage

Works with Vipps in Norway, MobilePay in Denmark and Finland

#### Auto Capture

Capture funds immediately after authorization, or reserve for manual capture

## Installation[​](#installation "Direct link to Installation")

1

#### Install WCPOS Vipps MobilePay

Install from `WP Admin > POS > Settings > Extensions`, or download the latest **plugin zip asset** (not the GitHub source-code zip or tarball) from the [GitHub releases page](https://github.com/wcpos/wcpos-vipps/releases) and upload it via `Plugins > Add New > Upload Plugin`.

2

#### Configure Vipps Credentials

1. Navigate to `WP Admin > WooCommerce > Settings > Payments`

2. Find **WCPOS Vipps MobilePay** in the payment methods list

3. Click on **WCPOS Vipps MobilePay** to access settings

4. Enter your credentials from the [Vipps Portal](https://portal.vipps.no/):

   <!-- -->

   * **Merchant Serial Number (MSN)**
   * **Client ID**
   * **Client Secret**
   * **Subscription Key**

5. Save the settings

note

You don't need to enable the gateway here for POS use — it will be enabled specifically for the POS in the next step. Enabling it in WooCommerce settings would also make it available on your online store checkout, which can be useful for testing.

Already using the Vipps plugin?

If you have the official [Checkout with Vipps MobilePay](https://wordpress.org/plugins/woo-vipps/) plugin installed, your credentials will be imported automatically when you activate this plugin. You can skip the manual credential entry.

3

#### Enable in WCPOS

1. Go to `WP Admin > POS > Settings > Checkout`
2. Find the **WCPOS Vipps MobilePay** gateway in the list
3. Enable the gateway for use in the POS
4. Save your settings

## Usage[​](#usage "Direct link to Usage")

### Processing Payments — QR Code[​](#processing-payments--qr-code "Direct link to Processing Payments — QR Code")

1. **Add Items**: Add products to your cart in the POS
2. **Select Gateway**: Choose "Vipps MobilePay" as the payment method
3. **Generate QR Code**: Click the "Generate QR Code" button
4. **Customer Scans**: The customer scans the QR code with their Vipps or MobilePay app
5. **Customer Confirms**: The customer confirms payment in their app
6. **Automatic Completion**: The order completes automatically once payment is authorized

### Processing Payments — Send to Phone[​](#processing-payments--send-to-phone "Direct link to Processing Payments — Send to Phone")

1. **Add Items**: Add products to your cart in the POS
2. **Select Gateway**: Choose "Vipps MobilePay" as the payment method
3. **Enter Phone Number**: Type the customer's phone number
4. **Send to Phone**: Click the "Send to Phone" button
5. **Customer Confirms**: The customer receives a push notification or is directed to the Vipps landing page, then confirms payment in their app
6. **Automatic Completion**: The order completes automatically once payment is authorized

The plugin automatically detects the best method for sending the payment request to the customer's phone:

* **Direct push** (preferred) — Sends a notification straight to the customer's Vipps app. This is the fastest experience but requires Vipps to enable `PUSH_MESSAGE` on your sales unit (see [Enabling Direct Push](#enabling-direct-push) below).
* **Landing page fallback** — If direct push isn't enabled, the plugin opens the Vipps landing page in a new browser tab. The landing page handles sending the notification. This works immediately with no special approval.

The first time the plugin detects that direct push isn't available, you'll see a brief message asking you to click "Send to Phone" again. After that, it remembers the result and works seamlessly.

### Enabling Direct Push[​](#enabling-direct-push "Direct link to Enabling Direct Push")

The direct push flow provides the best experience for phone payments — no extra tabs, no landing pages. To enable it:

1. Log in to [portal.vippsmobilepay.com](https://portal.vippsmobilepay.com)
2. Contact your Vipps key account manager, partner manager, or customer service
3. Tell them: **"I need PUSH\_MESSAGE enabled on my MSN for use with a POS integration"**

Once approved, the plugin detects the change automatically within 24 hours and switches to the direct push flow. You'll see a reminder notice on the gateway settings page while you're using the landing page fallback.

### Cancelling a Payment[​](#cancelling-a-payment "Direct link to Cancelling a Payment")

While waiting for the customer to confirm, you can click the **Cancel Payment** button to abort the transaction. This cancels the pending payment on the Vipps side and resets the checkout interface.

### Refunds[​](#refunds "Direct link to Refunds")

Refunds are handled through the standard WooCommerce refund process. Open the order, click **Refund**, enter the amount, and the refund is processed through the Vipps API automatically.

## Supported Markets[​](#supported-markets "Direct link to Supported Markets")

Vipps MobilePay operates across the Nordic region under two brands:

| Region           | Brand     | Currencies |
| ---------------- | --------- | ---------- |
| Norway           | Vipps     | NOK        |
| Denmark, Finland | MobilePay | DKK, EUR   |

Your merchant account determines which markets and currencies are available. Customers in any supported market can pay using their local Vipps or MobilePay app.

## Requirements[​](#requirements "Direct link to Requirements")

Vipps Account

<!-- -->

: Active Vipps MobilePay merchant account with API credentials

API Credentials

<!-- -->

: Merchant Serial Number, Client ID, Client Secret, and Subscription Key

WCPOS

<!-- -->

: Pro version required for POS checkout. The gateway also works on the standard WooCommerce web checkout without Pro.

HTTPS

<!-- -->

: Your site must use SSL/HTTPS (required by the Vipps API)

## Troubleshooting[​](#troubleshooting "Direct link to Troubleshooting")

### Common Issues[​](#common-issues "Direct link to Common Issues")

Payment not completing

* The checkout polls for up to 5 minutes — if the customer doesn't confirm within that window, the payment times out
* Check that you're not mixing up test mode and production credentials
* Verify your internet connection is stable on both the POS device and the customer's phone

Invalid credentials error

* Double-check all four credential fields (MSN, Client ID, Client Secret, Subscription Key)
* Make sure you're using test credentials when test mode is enabled, and production credentials when it's disabled
* Verify your credentials in the [Vipps Portal](https://portal.vipps.no/)

'Send to Phone' opens a new tab instead of sending directly

This means your Vipps account doesn't have `PUSH_MESSAGE` enabled yet. The plugin is using the landing page fallback, which works but adds an extra step. To get the smoother direct push experience, contact Vipps and ask them to enable PUSH\_MESSAGE on your sales unit (MSN). See [Enabling Direct Push](#enabling-direct-push) above.

QR code not generating

* Confirm your site is running over HTTPS — the Vipps API rejects requests from HTTP sites
* Check the WooCommerce logs (`WooCommerce > Status > Logs`) for API error details
* Verify your merchant account is active and has the ePayment API enabled

### Getting Help[​](#getting-help "Direct link to Getting Help")

For technical support:

* Visit the [GitHub repository](https://github.com/wcpos/wcpos-vipps) to report issues
* Check the [Vipps developer documentation](https://developer.vippsmobilepay.com/) for API-related questions
* Contact Vipps MobilePay support for account and credential issues

## Screenshots[​](#screenshots "Direct link to Screenshots")

Screenshots will be added in a future update to show:

* Gateway configuration in WooCommerce payment settings
* POS checkout interface with QR code and push notification options
* Payment confirmation flow
