Skip to main content

Vipps MobilePay Management API (1.2.3)

Download OpenAPI specification:Download

The Management API enables partners and merchants to manage their sales units and get information about partners and product orders. See the API Guide for more details.

Please note: The Management API documentation contains both available functionality, and functionality in the idea stage. See each endpoint and the API guide for details.

Merchants

Functionality for managing merchants. Merchants can do this on portal.vippsmobilepay.com.

Get a merchant by business identifier

Get basic information about a merchant. Please note: There are strict rules for what information Vipps MobilePay is allowed to share with a partner, as this requires active consent from the merchant, and the merchant must also be able to withdraw the consent.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key) Management-Authorization
path Parameters
scheme
required
string
Example: business:NO:ORG

The type of organization identifier, typically business:countryCode:type. For example business:NO:ORG, business:DK:CVR, business:FI:Y-tunnus, etc.

id
required
string
Example: 9876543221

The ID used for identifying a merchant. For Norwegian companies this is the organization number.

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "businessIdentifier": {
    },
  • "name": "ACME Fantastic Fitness",
  • "status": "ACTIVE",
  • "createdAt": "2023-31-12T06:45:25.921251Z",
  • "updatedAt": "2023-31-12T06:45:25.921251Z",
  • "countryCode": "NO",
  • "businessAddress": {
    },
  • "businessPostAddress": {
    }
}

Get sales units for a merchant by business identifier

Get a list of sales units (MSNs) for the merchant. When used by a partner: Only returns sales units connected to the partner.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key) Management-Authorization
path Parameters
scheme
required
string
Example: business:NO:ORG

The type of organization identifier, typically business:countryCode:type. For example business:NO:ORG, business:DK:CVR, business:FI:Y-tunnus, etc.

id
required
string
Example: 9876543221

The ID used for identifying a merchant. For Norwegian companies this is the organization number.

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
[
  • {
    }
]

Sales units

Functionality for managing sales units. Merchants can do this on portal.vippsmobilepay.com.

Sales units - Get all sales units that a merchant or partner has access to.

For partners using partner keys: Get a (long) list of all sales units registered with the partner making the API call.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key) Management-Authorization
header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
[
  • {
    }
]

Get sales unit details based on MSN

Eliminates the need to contact the merchant or Vipps MobilePay to get information about the sales units.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key) Management-Authorization
path Parameters
msn
required
string^\d{3,}$

The Vipps MSN (merchant serial number) for the sales unit.

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "msn": 123456,
  • "name": "ACME Fantastic Fitness",
  • "businessIdentifier": {
    },
  • "configuration": {
    }
}

Product orders

Functionality for managing product orders. Merchants can do this on portal.vippsmobilepay.com.

Get information about a prefilled product order

Status: Available. Information about a prefilled product order

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
path Parameters
prefilledProductOrderId
required
string <uuid>
Example: 8a11afb7-c223-48ed-8ca6-4722b97261aa

The ID of the prefilled product order

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
{}

Delete a product order

Delete a product order that has not been submitted by the merchant.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
path Parameters
prefilledProductOrderId
required
string <uuid>
Example: 8a11afb7-c223-48ed-8ca6-4722b97261aa

The ID of the prefilled product order

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/problem+json
{
  • "title": "Not authorized to create a product order",
  • "status": 401,
  • "detail": "Not authorized to create a product order. Check whether Authorization token and Ocp-Apim-Subscription-Key are correct.",
  • "instance": "urn:uuid:123e4567-e89b-12d3-a456-426655440000",
  • "extraDetails": [
    ]
}

Get a list of prefilled product orders

Information about prefilled product orders you have created

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
query Parameters
includeExpired
boolean

Include expired product orders in the response. Default is false.

Responses

Response samples

Content type
application/json;charset=UTF-8
[]

Prefill a product order on behalf of a merchant

Submit data that prefills the order form on portal.vippsmobilepay.com, so the merchant can review the information and submit the product order.

Please note that complianceData and website are required for the PAYMENT_INTEGRATION product type. Partners can still submit the product orders without it, but the merchant will have to fill in compliance data and website information manually in the merchant portal product order form and submit, and this is a common source of problems.

We have made as many of the fields as possible optional, but please try to send as much as you can, to make it easy for the merchant and make the processing as fast as possible.

IMPORTANT: Please provide all the necessary details, so it will not be necessary for us to request more details. This is the most common reason for delays. See: https://developer.vippsmobilepay.com/docs/partner/#typical-reasons-for-delays

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Idempotency-Key
required
string <= 50 characters ^[a-zA-Z0-9-]{1,50}$
Example: kRk3uEeiogxLu1yGSZRlNgsIv3TuNS

An Idempotency key must be provided to ensure idempotent requests.

Request Body schema: application/json
required

Product order for a merchant request body

required
object (businessIdentifier)

Business registration number of the merchant for whom the partner is submitting the product order. Format: business:countryCode:type, for example business:NO:ORG, business:DK:CVR, business:FI:Y-tunnus, etc.

salesUnitName
string or null [ 1 .. 30 ] characters ^[\p{L}\p{M}\d\\(\)-_\+\s\.]+$

The name of the point of sale that will be shown to the users in the Vipps app and on the Vipps landing page. The sales unit name can be edited later on portal.vippsmobilepay.com.

salesUnitLogo
string or null <byte>

A base64 encoded string of the logo of the merchant. The logo will be displayed in the Vipps app, both when paying and on receipts and also in Vipps landing page. The logo must be in PNG (Portable Network Graphics) format. Square images are recommended. The longest side can not be more than 1000 pixels. The minimum size is 100 x 100 pixels. Images not matching the above criteria will not be shown to the merchant in the merchant portal. The logo can be edited later on portal.vippsmobilepay.com.

object or null (Bank account for the given entity.)
pricePackageId
string or null <uuid>

This is the ID for one of the price packages that are available for the partner to use. The partner's price packages are retrieved with GET:/management/v1/partners/price-packages. Only applicable when the productType allows for different prices, such as: PAYMENT_INTEGRATION, CASHIER and CHECKOUT. If this field is not provided, the merchant must select the price manually. Partners may have, and specify, price packages that are not shown to merchants that order manually. If this field is provided, the merchant will not be able to change it in the form.

productType
required
string
Enum: "PAYMENT_INTEGRATION" "CASHIER" "CHECKOUT" "LOGIN"

The type of product ordered for the merchant.

productUseCase
string or null (ProductUseCase)
Enum: "Website" "WebsiteWithTest" "App" "Unknown"

Where will sales take place? A website? A website that is not yet launched, so a test website must be used? A native app? Something else? If you are offering a Point of Sales (POS) integration, you should specify Unknown.

For all alternatives: Make sure to provide enough details in intendedPurpose.

annualTurnover
integer or null <int64> [ 0 .. 999999999 ]

Annual turnover for the merchant in NOK (without øre).

intendedPurpose
string or null

Description (explanation) of the product or products that will be sold. Include all information relevant to processing the product order, so the processing of the application can be as efficient as possible. This can include hints such as specifying "POS integration in physical store" to indicate that the sales unit needs skipLandingPage activated.

object or null

Properties for use with 'productUseCase: App'

object or null
object or null
merchantCategoryCode
string or null <^[0-9]{4}$>

The merchant category code (MCC) is a four-digit number used to classify the merchant by the type of goods or services it provides. The MCC is used by Vipps MobilePay to determine the risk level of the merchant. Our product order form contains a user-friendly MCC selector, which contains a subset of all MCCs. If the MCC specified with the API matches one of the user-selectable ones, that MCC will be pre-selected in the form. If the MCC does not match, or no MCC is specified, no MCC will be pre-selected.

Responses

Request samples

Content type
application/json
{
  • "businessIdentifier": {
    },
  • "salesUnitName": "ACME Fantastic Fitness",
  • "salesUnitLogo": "VGhlIGltYWdlIGdvZXMgaGVyZQ==",
  • "settlementBankAccount": {
    },
  • "pricePackageId": "8a11afb7-c223-48ed-8ca6-4722b97261aa",
  • "productType": "PAYMENT_INTEGRATION",
  • "productUseCase": "WebsiteWithTest",
  • "annualTurnover": 100000,
  • "intendedPurpose": "Gym membership for accessing the gym's facilities.\nGuest will be not physically present when buying the subscription,\nas that is done on the gym's website.",
  • "app": {
    },
  • "website": {},
  • "complianceData": {
    },
  • "merchantCategoryCode": 5942
}

Response samples

Content type
application/json
{}

Partners

Functionality relating to Partners.

Get price packages for a partner.

The price packages can have different names and percentages. Each price packages has a unique ID: pricePackageId. This endpoint lets partners get an overview of their price packages. The pricePackageId is also used for the prefill endpoint: POST:/product-orders.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
[
  • {
    }
]

Ideas

Proposals and ideas for future functionality. Please give us your feedback if you are interested in these.

Partners - Get information about a partner.

Status: Idea/proposal.

For partners using partner keys: Get details for the partner that is making the request. An endpoint where a partner can fetch the information stored about them.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "partnerId": "123456",
  • "name": "ACME Partner Inc",
  • "level": "Vipps Partner Premium",
  • "partnerContactName": "firstName lastName",
  • "partnerContactEmail": "firstname.lastname@vippsmobilepay.com",
  • "status": "ACTIVE"
}

Merchants - Get all merchants

Status: Idea/proposal.

For partners. Get a (long) list of all merchants that have one or more sale units registered with the partner making the API call.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "merchants": [
    ]
}

Merchants - Get a merchant's contract(s)

Status: Idea/proposal.

May return a (link to a) PDF.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
path Parameters
scheme
required
string
Example: business:NO:ORG

The type of organization identifier, typically business:countryCode:type. For example business:NO:ORG, business:DK:CVR, business:FI:Y-tunnus, etc.

id
required
string
Example: 9876543221

The ID used for identifying a merchant. For Norwegian companies this is the organization number.

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8

Sales units - Update sales unit

Status: Idea/proposal.

Change the sales unit's name, logo, possibly more.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
path Parameters
msn
required
string [ 5 .. 6 ] characters ^\d{5,6}$

The Vipps MSN (merchant serial number) for the sales unit.

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Request Body schema: application/json
required

What to patch

name
string <= 50 characters

Name of the sales unit.

salesUnitLogo
string <byte>

Base64 encoded string of the logo of the merchant. The logo will be displayed in the Vipps app, both when paying and on receipts and also in Vipps landing page. The logo must be in PNG (Portable Network Graphics) format. Square images are recommended. The longest side can not be more than 1000 pixels. The minimum size is 100 x 100 pixels. Images not matching the above criteria will not be shown to the merchant in the merchant portal. The logo can be edited later on portal.vippsmobilepay.com.

status
string
Default: "ACTIVE"
Enum: "ACTIVE" "DEACTIVATED"

Status of the sales unit. This may be used to activate and deactivate a sales unit.

Responses

Request samples

Content type
application/json
{
  • "name": "ACME Fantastic Fitness Deluxe",
  • "salesUnitLogo": "VGhlIGltYWdlIGdvZXMgaGVyZQ==",
  • "status": "ACTIVE"
}

Response samples

Content type
application/problem+json
{
  • "title": "Not authorized to create a product order",
  • "status": 401,
  • "detail": "Not authorized to create a product order. Check whether Authorization token and Ocp-Apim-Subscription-Key are correct.",
  • "instance": "urn:uuid:123e4567-e89b-12d3-a456-426655440000",
  • "extraDetails": [
    ]
}

API quality - Get API quality info.

Status: Idea/proposal.

Provide success and failure rates for all API requests. This is to help you keep you API integrations free from errors. Partners are contractually required to monitor for errors (and correct problems quickly), and this endpoint makes that work much easier.

Authorizations:
(Classic-AuthorizationOcp-Apim-Subscription-Key)
path Parameters
msn
required
string [ 5 .. 6 ] characters ^\d{5,6}$

The Vipps MSN (merchant serial number) for the sales unit.

header Parameters
Vipps-System-Name
string <= 30 characters
Example: WooCommerce

The name of the solution. One word in lowercase letters is good. See HTTP headers.

Vipps-System-Version
string <= 30 characters
Example: 5.4.0

The version number of the solution. See HTTP headers.

Vipps-System-Plugin-Name
string <= 30 characters
Example: woocommerce-payment

The name of the plugin (if applicable). One word in lowercase letters is good. See HTTP headers.

Vipps-System-Plugin-Version
string <= 30 characters
Example: 1.2.1

The version number of the plugin (if applicable). See HTTP headers.

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "ApiQualityItems": [
    ]
}