About VIPPS

General information about VIPPS

Logo

Info

Vipps is a mobile wallet enabling quick and secure payments in Norway, Denmark and Finland, where it operates as MobilePay. Users can link their phone numbers to payment cards for peer-to-peer transfers, bill payments and online or in-store purchases. It also simplifies shared expense management, like splitting group costs. It is widely adopted across Scandinavia, offering seamless digital payment experiences for consumers and merchants alike.

TypePayments by eWallet

A mobile payment solution enables customers to complete transactions using their phone number. This system integrates both Vipps and MobilePay through a unified API. The process involves steps such as authorization, token generation, and redirection. The unified API is designed for use in Sweden and Finland under the MobilePay brand and in Norway under the Vipps brand. Customers receive a request on their mobile app and confirm the transaction directly on their smartphone. This solution streamlines payments by securely storing card details in the app, eliminating the need for manual card entry. It also supports invoice receipt. The design guidelinke could be found on following link: https://developer.vippsmobilepay.com/docs/knowledge-base/design-guidelines/buttons/

Further information can be found on the webpage of VIPPS (https://vippsmobilepay.com/en).

On this page


Process flow chart

VIPPS process flow


interface


Payment with VIPPS over form interface

To initiate a payment with VIPPS, please use the following URL:

vipps.aspx

 

Key

Format

CND

Description

Beschreibung

RefNr

an..50

O

Unique identifier for the payment. Must be unique for the sales unit. It should be UUID preferably, without leading zero, A-Z/a-z, hyphen '-'. New reference ID should be provided for each attempt.
Eindeutige Kennung für die Zahlung. Muss für die Verkaufseinheit eindeutig sein. Es sollte vorzugsweise eine UUID ohne führende Null sein, A-Z/a-z, Bindestrich '-'. Für jeden Versuch muss eine neue Referenz-ID angegeben werden.

Amount

n..10

M

Amount in the smallest currency unit. Minimum amounts: NOK: 100 øre, DKK: 1 øre, EUR: 1 cent
Betrag in der kleinsten Währungseinheit. Mindestbeträge: NOK: 100 øre, DKK: 1 øre, EUR: 1 Cent

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. NOK, EUR, DKK. Please find an overview here: A1 Currency table
Währung, drei Zeichen DIN / ISO 4217, z.B. NOK, EUR, DKK. Hier eine Übersicht: A1 Währungstabelle

Key

Format

CND

Description

Beschreibung

OrderDesc

ans..100

M

Description of purchased goods
Beschreibung der gekauften Waren

Key

Format

CND

Description

Beschreibung

MinAge

n..2

O

Minimum age required for purchase. If specified, VIPPS will verify customer's age before allowing payment. Valid values: 15-99

Erforderliches Mindestalter für den Kauf. Falls angegeben, überprüft VIPPS das Alter des Kunden, bevor die Zahlung akzeptiert wird. Gültige Werte: 15–99

phoneNumber

an..15

O

Customer's phone number in MSISDN format (e.g., 4712345678). Recommended to provide for better user experience allows pre-filling phone number on VIPPS payment page.

Telefonnummer des Kunden im MSISDN-Format (z. B. 4712345678). Empfohlen für eine bessere Benutzererfahrung – ermöglicht das Vorabfüllen der Telefonnummer auf der VIPPS-Zahlungsseite.

Parameters for VIPPS


Result parameters for URLNotify, URLSuccess and URLFailure in case of VIPPS


Create agreement for VIPPS recurring payments (RTF=A or RTF=I)

In order to create an agreement for VIPPS recurring payments with or without initial charge, please use the following URL:

vipps.aspx

 

Key

Format

CND

Description

Beschreibung

RTF

a1

C

A = Create agreement without initial charge / I = Create agreement with initial charge
A = Vereinbarung ohne initiale Zahlung einrichten / I = Vereinbarung mit initialer Zahlung einrichten

ProductName

ans..45

M

Product name displayed to customer
Dem Kunden angezeigter Produktname

OrderDesc

ans..100

M

Description of purchased goods/products
Beschreibung der gekauften Waren/Produkte

PricingType

ans..8

M

For LEGACY = Fixed recurring amount / For VARIABLE = Flexible amount per charge
Für LEGACY = Fester, wiederkehrender Betrag / Für VARIABLE = Flexibler Betrag pro Zahlung

Amount

n..10

C

For LEGACY: Mandatory - fixed recurring amount in smallest currency unit / For VARIABLE: Optional - suggested maximum amount, or use Amount=0 for no suggestion
Für LEGACY: Obligatorisch – fester, wiederkehrender Betrag in der kleinsten Währungseinheit / Für VARIABLE: Optional – empfohlener Höchstbetrag oder Betrag=0 für keine Empfehlung

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. NOK, EUR, DKK. Please find an overview here: A1 Currency table
Währung, drei Zeichen DIN / ISO 4217, z.B. NOK, EUR, DKK. Hier eine Übersicht: A1 Währungstabelle

AgreementInterval

ans..5

O

Interval unit: YEAR, MONTH, WEEK, DAY. If not provided, creates variable agreement without fixed interval
Intervalleinheit: YEAR, MONTH, WEEK, DAY. Falls nicht angegeben, wird eine variable Vereinbarung ohne festes Intervall erstellt.

AgreementIntervalCount

n..2

O

Number of units in time period (e.g., unit=WEEK, count=2 for bi-weekly)
Anzahl der Einheiten im Zeitraum (z. B. Einheit = WEEK, Anzahl = 2 für zweiwöchentlich)

URLConfirm

ans..256

M

URL where customer is redirected after agreement approval/rejection in VIPPS app
URL, zu der der Kunde nach Genehmigung/Ablehnung der Vereinbarung in der VIPPS-App weitergeleitet wird

VippsMerchantAgreementURL

ans..1024

C

URL where customer can manage subscription. Mandatory for Norway. Must offer actual management capabilities, not just contact info.
URL, über die Kunden ihr Abonnement verwalten können. Für Norwegen Pflicht. Die URL muss tatsächliche Verwaltungsfunktionen bieten und nicht nur Kontaktinformationen.

phoneNumber

an..15

O

Customer's phone number in MSISDN format (e.g., 4712345678) for pre-filling. Accepts 0-15 digits. If 10-15 digits provided, sent to VIPPS for pre-filling. If less than 10 digits or empty, omitted from request but payment proceeds normally. Customer enters phone manually on VIPPS page when not provided.
Die Telefonnummer des Kunden im MSISDN-Format (z. B. 4712345678) zum Vorausfüllen. Akzeptiert werden 0–15 Ziffern. Bei 10-15 Ziffern wird die Nummer zum Vorausfüllen an VIPPS gesendet. Bei weniger als 10 Ziffern oder wenn das Feld leer ist, wird sie aus der Anfrage entfernt, die Zahlung erfolgt jedoch normal. Falls die Telefonnummer nicht angegeben wurde, gibt der Kunde sie manuell auf der VIPPS-Seite ein.

MinAge

n..2

O

Minimum age required (15-99). VIPPS verifies before allowing payment.
Erforderliches Mindestalter (15-99 Jahre). VIPPS überprüft das, bevor die Zahlung freigegeben wird.

AboID

ans..64

O

External subscription ID to map agreement to merchant's system
Externe Abonnement-ID für die Zuordnung der Vereinbarung zum System des Händlers

RefNr

an..50

O

Unique identifier for payment (UUID preferred, A-Z/a-z, hyphen allowed)
Eindeutige Kennung für die Zahlung (UUID bevorzugt, A-Z/a-z, Bindestriche erlaubt)

ChargeAmount

n..10

M

Only for RTF=I: Initial charge amount in smallest currency unit (e.g. 1000 = 10.00 NOK)

  • Amount (or leave empty/0) = defines the recurring pricing for FUTURE charges
  • ChargeAmount = defines the actual amount charged IMMEDIATELY upon agreement approval
  • These can be different (e.g. discounted first payment, then regular price)

Example  Monthly subscription with first month discount:

RTF=I
PricingType=LEGACY
Amount=1000                    // Regular monthly price for future charges
ChargeAmount=500               // Discounted first month charge
ChargeDescription=First month special offer

Nur für RTF=I: Anfangszahlung in der kleinsten Währungseinheit (z. B. 1000 = 10,00 NOK)

  • Amount (oder leer lassen/0) = definiert die wiederkehrenden Preise für ZUKÜNFTIGE Zahlungen
  • ChargeAmount = definiert den tatsächlich berechneten Betrag, der SOFORT nach Vertragsabschluss fällig wird
  • Diese Beträge können unterschiedlich sein (z. B. erste Zahlung mit Rabatt, danach regulärer Preis)

Beispiel – Monatsabonnement mit Rabatt im ersten Monat:

RTF=I
PricingType=LEGACY
Amount=1000                    // Regular monthly price for future charges
ChargeAmount=500               // Discounted first month charge
ChargeDescription=First month special offer

ChargeDescription

ans..100

M

Only for RTF=I: Description for the initial charge (visible to customer)
Nur für RTF=I: Beschreibung für die Erstzahlung (für den Kunden sichtbar)




Campaign parameters (optional)
Kampagnenparameter (optional)

CampaignType

ans..13

O

PRICECAMPAIGN = Special price until end date /
PERIODCAMPAIGN = Special price for defined intervals /
EVENTCAMPAIGN = Special price until event date

PRICECAMPAIGN = Sonderpreis bis zum Enddatum /
PERIODCAMPAIGN = Sonderpreis für festgelegte Zeiträume /
EVENTCAMPAIGN = Sonderpreis bis zum Veranstaltungsdatum

CampaignPrice

n..10

C

Campaign price in smallest currency unit. Required if CampaignType specified.
Kampagnenpreis in der kleinsten Währungseinheit. Erforderlich, wenn CampaignType angegeben ist.

CampaignEnd

dttm

C

Required for PRICECAMPAIGN: Campaign end date (ISO 8601)
Erforderlich für PRICECAMPAIGN: Kampagnenenddatum (ISO 8601)

CampaignIntervalUnit

ans..5

C

Required for PERIODCAMPAIGN: Unit for period: YEAR, MONTH, WEEK, DAY
Erforderlich für PERIODCAMPAIGN: Einheit für den Zeitraum: YEAR, MONTH, WEEK, DAY

CampaignIntervalCount

n..2

C

Required for PERIODCAMPAIGN: Number of units (1-31)
Erforderlich für PERIODCAMPAIGN: Anzahl der Einheiten (1-31)

CampaignEventDate

dttm

C

Required for EVENTCAMPAIGN: Event date (ISO 8601)
Erforderlich für EVENTCAMPAIGN: Veranstaltungsdatum (ISO 8601)

CampaignEventText

ans..100

C

Required for EVENTCAMPAIGN: Event description
Erforderlich für EVENTCAMPAIGN: Veranstaltungsbeschreibung

Parameters for creating an agreement for VIPPS recurring payments


Key

Format

CND

Description

Beschreibung

BillingAgreementID

ans..64

M

Agreement identifier assigned by VIPPS
Von VIPPS vergebene Kennung der Vereinbarung

RedirectUrl

ans..256

M

URL to redirect customer for agreement confirmation
URL, zu der der Kunde zur Vertragsbestätigung weitergeleitet werden soll

Response parameters for creating an agreement for VIPPS recurring payments


Create recurring payment (RTF=R) for VIPPS

There are two types of charges in VIPPS recurring:

  • Initial charge: Created automatically with RTF=I during agreement creation
  • Regular/recurring charge: Created with RTF=R for existing agreements (this section)

In order to create a VIPPS recurring payment, please use the following URL:

vipps.aspx

 

Key

Format

CND

Description

Beschreibung

Amount

n..10

M

Charge amount in smallest currency unit
Zahlungsbetrag in der kleinsten Währungseinheit

Currency

a3

M

Currency (must match agreement currency)
Währung (muss mit der Währung der Vereinbarung übereinstimmen)

Key

Format

CND

Description

Beschreibung

OrderDesc

ans..100

M

Charge description visible to customer
Für den Kunden sichtbare Beschreibung der Zahlung

Key

Format

CND

Description

Beschreibung

RTF

a1

M

Must be R to create recurring charge
Muss R sein, um eine wiederkehrende Zahlung anzulegen

BillingAgreementID

ans..64

M

Agreement identifier to charge against (from agreement creation response)
Vereinbarungskennung, gegen die abgerechnet werden soll (aus der Antwort vom Einrichten der Vereinbarung)

DueDate

a10

M

When charge should be processed (YYYY-MM-DD format). Must be at least 2 days in advance (production) or 1 day (test environment).
Wann die Zahlung verarbeitet werden soll (Format JJJJ-MM-TT). Muss mindestens 2 Tage im Voraus erfolgen (Produktion) bzw. 1 Tag (Testumgebung).

AboID

ans..64

O

External subscription ID
Externe Abonnement-ID

Parameters for creating a VIPPS recurring payment


Notice on Charge processing: 

  • DIRECT_CAPTURE: Amount is charged immediately on due date (one-stage payment)
  • RESERVE_CAPTURE: Amount is reserved on due date, requires explicit capture within:
    • 14 days (MobilePay)
    • 180 days (VIPPS Norway)


Key

Format

CND

Description

Beschreibung

BillingAgreementID

ans..64

M

Agreement identifier assigned by VIPPS
Von VIPPS vergebene Kennung der Vereinbarung

RedirectUrl

ans..256

M

URL to redirect customer for agreement confirmation
URL, zu der der Kunde zur Vertragsbestätigung weitergeleitet werden soll

Response parameters for creating a VIPPS recurring payment


Cancel/Terminate agreement (RTF=C) for VIPPS recurring payments

Agreement termination is done via vipps.aspx with RTF="C":

vipps.aspx

 

Key

Format

CND

Description

Beschreibung

RTF

a1

M

Must be C to terminate agreement

Muss C sein, um die Vereinbarung zu beenden

BillingAgreementID

ans..64

M

Agreement identifier to terminate

Zu beendende Vereinbarungskennung

Parameters for terminating an agreement for VIPPS recurring payments


Key

Format

CND

Description

Beschreibung

BillingAgreementID

ans..64

M

Agreement ID that was terminated
Vereinbarungskennung, die beendet wurde

Response parameters for terminating an agreement for VIPPS recurring payments


Important notes for recurring payments

Phone number parameter

  • Format: 0-15 numeric digits accepted
  • Conditional sending to VIPPS:
    • If 10-15 digits provided → Sent to VIPPS as Customer.phoneNumber for pre-filling
    • If less than 10 digits or empty → Omitted from VIPPS request, customer enters manually
  • Payment never blocked: Invalid or missing phone numbers do not prevent payment processing
  • Best practice: Include country code (e.g., 4746586653 for Norwegian number) to enable pre-filling

Agreement management

  • Customer has 10 minutes to accept agreement after creation
  • Both merchant and customer can terminate agreements
  • Once canceled (status "STOPPED"), an agreement cannot be reactivated
  • If recurring payments need to be resumed, a new agreement must be created

Charge processing

  • DueDate Requirement: Charges must be created at least 2 days in advance (production) or 1 day (test environment)
  • DIRECT_CAPTURE: Amount is charged immediately on due date (one-stage payment)
  • RESERVE_CAPTURE: Amount is reserved on due date and requires explicit capture within:
    • 14 days (MobilePay)
    • 180 days (VIPPS Norway)
  • Multiple partial captures and refunds are supported

Pricing models

  • LEGACY: Fixed recurring amount specified at agreement creation using the Amount parameter
  • VARIABLE: Flexible amount per charge, with optional suggested maximum amount (or Amount=0 for no suggestion)

Campaign support

Campaigns allow temporary pricing modifications:

  • PRICECAMPAIGN: Special price until specific end date
  • PERIODCAMPAIGN: Special price for defined number of intervals
  • EVENTCAMPAIGN: Special price until specific event date

User-initiated cancellations

Customers can cancel agreements directly in their VIPPS/MobilePay app. When this occurs:

  • Merchant receives notification via URLNotify
  • All pending charges are automatically canceled
  • Agreement status changes to STOPPED


Examples

Example 1: Create agreement without initial charge

MerchantID=YourMerchantID
TransID=unique-trans-12345
MAC=<calculated-hmac>
Currency=NOK
RTF=A
PricingType=LEGACY
Amount=9900
ProductName=Monthly Premium Subscription
OrderDesc=Access to all premium features
AgreementInterval=MONTH
AgreementIntervalCount=1
URLSuccess=https://yoursite.com/success
URLFailure=https://yoursite.com/failure
URLNotify=https://yoursite.com/notify
URLConfirm=https://yoursite.com/confirm
VippsMerchantAgreementURL=https://yoursite.com/manage-subscription


Example 2: Create agreement with discounted initial charge

MerchantID=YourMerchantID
TransID=unique-trans-12346
MAC=<calculated-hmac>
Currency=NOK
RTF=I
PricingType=LEGACY
Amount=9900
ChargeAmount=4900
ChargeDescription=First month 50% off
ProductName=Monthly Premium Subscription
OrderDesc=Access to all premium features
AgreementInterval=MONTH
AgreementIntervalCount=1
URLSuccess=https://yoursite.com/success
URLFailure=https://yoursite.com/failure
URLNotify=https://yoursite.com/notify
URLConfirm=https://yoursite.com/confirm
VippsMerchantAgreementURL=https://yoursite.com/manage-subscription


Example 3: Create recurring charge

MerchantID=YourMerchantID
TransID=unique-trans-12347
MAC=<calculated-hmac>
RTF=R
BillingAgreementID=agr_XsUxU8X
Amount=9900
Currency=NOK
OrderDesc=Monthly subscription payment - February 2025
DueDate=2025-02-15

Example 4: Terminate agreement

MerchantID=YourMerchantID
TransID=unique-trans-12348
MAC=<calculated-hmac>
RTF=C
BillingAgreementID=agr_XsUxU8X
URLSuccess=https://yoursite.com/success
URLFailure=https://yoursite.com/failure
URLNotify=https://yoursite.com/notify



Capture

Captures are possible via a Server-to-Server connection. To carry out a capture via a Server-to-Server connection, please use the following URL:

capture.aspx

 

Parameters for captures of VIPPS


Result parameters for captures of VIPPS


Credit with reference

credit.aspx


Parameters for credit payments with VIPPS


Response parameters for credit payments with VIPPS


Reversal

Reversals are possible via a Server-to-Server connection. In order to cancel a payment via a server-to-server communication, please use the following URL:

reverse.aspx

 

Notice: Reverse.aspx does not only reverse authorisations, but any LAST TRANSACTION STAGE! If the last transaction was a capture, Reverse.aspx initiates the reverse, e.g. a credit. Therefore, the utmost caution is urged. Use is at your own risk. We recommend checking the transaction status with Inquire.aspx before using Reverse.aspx.

Parameters for reversals of VIPPS


Result parameters for reversals of VIPPS