Vipps Partner API (2.0.0)
Download OpenAPI specification:Download
Important: The Management API, has replaced the Partner API: All the functionality in the Partner API is available in the Management API. The upgrade effort will be minimal: The API keys are the same, and the endpoints, requests and responses are almost identical. The Management API is for both partners and merchants. The Partner API will be phased out in Q4 2023.
The Vipps Partner API lets partners, banks and large corporations manage their merchants (for example, submit product orders on behalf of their merchants) and sales units. See the API Guide for more information.
Order products on behalf of merchants Deprecated
This endpoint is deprecated. Please use the Management API:
POST:/management/v1/product-orders
The Management API uses the same API keys as the Partner API.
Order products on behalf of merchants: Partners can submit data that pre-fills the order form on portal.vipps.no, so the merchant can review the information and submit the product order.
Please note that complianceData
and website
information are required for the VIPPS_PA_NETT
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.
IMPORTANT: Please provide all the necessary details, so it will not be necessary for merchants to request more details. This is the most common reason for delays.
Authorizations:
header Parameters
Ocp-Apim-Subscription-Key required | string Example: da7d5b0e18a84aeda961c0c31b75c2a9 Vipps Subscription Key |
Idempotency-Key required | string Example: 81b83246-5c19-7b94-875b-ea6d1114f099 Idempotency key for the request, ensures idempotent actions. Not required, but recommended. |
Vipps-System-Name | string <= 30 characters Example: WooCommerce The name of the ecommerce 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 ecommerce solution. See http-headers. |
Vipps-System-Plugin-Name | string <= 30 characters Example: woocommerce-payment The name of the ecommerce 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 ecommerce plugin (if applicable). See http-headers. |
Request Body schema: application/json
Product order for a merchant request body
orgno required | string = 9 characters ^[0-9]{9,9}$ Organisation number of the merchant for whom the partner is submitting the product order. Only Norwegian organization numbers are allowed (for now). |
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.vipps.no. |
salesUnitLogo | string or null <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.vipps.no. |
settlementAccountNumber | string or null = 11 characters ^[0-9]{11,11}$ The bank account number belonging to the organisation that will be used for settlement. |
pricePackageId | string or null <uuid> Only for |
productType required | string Enum: "VIPPS_PA_NETT" "VIPPS_LOGG_INN" "VIPPS_CHECKOUT" "VIPPS_I_KASSA" The type of product ordered for the merchant. |
productUseCase | string or null Default: "Website" 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? |
annualTurnover | integer <int64> [ 0 .. 9223372036854776000 ] Annual turnover for the merchant in NOK (without øre). |
intendedPurpose | string or null Description of the product or products that will be sold.
Please include all information relevant to processing the product
order, such as including "POS integration" to indicate that the
sales unit needs |
object or null | |
object or null |
Responses
Request samples
- Payload
{- "orgno": "987654321",
- "salesUnitName": "ACME Fantastic Fitness",
- "salesUnitLogo": "VGhlIGltYWdlIGdvZXMgaGVyZQ==",
- "settlementAccountNumber": "86011117947",
- "pricePackageId": "8a11afb7-c223-48ed-8ca6-4722b97261aa",
- "productType": "VIPPS_PA_NETT",
- "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.",
- "website": {
- "testWebsiteUrl": "https://example.com/test ",
- "testWebsiteUsername": "test-user",
- "testWebsitePassword": "test-password"
}, - "complianceData": {
- "giftCard": {
- "isSalesPercentageLessThanTen": false,
- "validityDuration": "3 years",
- "giftCardTurnoverShare": "about 25%"
}, - "membership": {
- "turnoverShare": "about 25%",
- "membershipValidity": "CurrentCalendarYear",
- "periodDistribution": "50% yearly 20% monthly"
}, - "subscription": {
- "turnoverShare": "about 25%",
- "periodDistribution": "50% yearly 20% monthly"
}, - "course": {
- "turnoverShare": "about 25%",
- "timeBeforeOrder": "10 days",
- "period": "once every 6. week",
- "isOnlineCourseOffered": false,
- "onlineAccessibleTime": "for 3 months"
}, - "ticket": {
- "turnoverShare": "about 25%",
- "prepurchaseTime": "10 weeks"
}, - "rent": {
- "turnoverShare": "about 25%",
- "prepurchaseTime": "15 days",
- "averageRentalDuration": "3 weeks"
}, - "prepaidServices": {
- "turnoverShare": "about 25%",
- "prepurchaseTime": "10 weeks"
}, - "donation": {
- "acceptsDonation": false
}
}
}
Response samples
- 200
- 400
- 401
- 405
- 422
- 429
- 500
{- "prefilledOrderId": "81b83246-5c19-7b94-875b-ea6d1114f099",
}
Get merchant by organization number Deprecated
This endpoint is deprecated. Please use the Management API:
GET:/management/v1/merchants/{orgno}
The Management API uses the same API keys as the Partner API.
Authorizations:
path Parameters
orgno required | string = 9 characters ^\d{9}$ Example: 987654321 The organization number for the merchant. |
header Parameters
Ocp-Apim-Subscription-Key required | string Example: da7d5b0e18a84aeda961c0c31b75c2a9 Vipps Subscription Key |
Vipps-System-Name | string <= 30 characters Example: WooCommerce The name of the ecommerce 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 ecommerce solution. See http-headers. |
Vipps-System-Plugin-Name | string <= 30 characters Example: woocommerce-payment The name of the ecommerce 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 ecommerce plugin (if applicable). See http-headers. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 429
- 500
{- "msn": [
- "123456"
]
}
Get sales unit details based on MSN Deprecated
This endpoint is deprecated. Please use the Management API:
GET:/management/v1/sales-units/{msn}
The Management API uses the same API keys as the Partner API.
Authorizations:
path Parameters
msn required | string [ 5 .. 6 ] characters ^\d{5,6}$ The Vipps MSN (merchant serial number) for the sales unit. |
header Parameters
Ocp-Apim-Subscription-Key required | string Example: da7d5b0e18a84aeda961c0c31b75c2a9 Vipps Subscription Key |
Vipps-System-Name | string <= 30 characters Example: WooCommerce The name of the ecommerce 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 ecommerce solution. See http-headers. |
Vipps-System-Plugin-Name | string <= 30 characters Example: woocommerce-payment The name of the ecommerce 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 ecommerce plugin (if applicable). See http-headers. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 500
{- "msn": "123456",
- "name": "ACME Fantastic Fitness",
- "orgno": 987654321,
- "additionalDetails": {
- "skipLandingPage": false,
- "isPureLogin": false,
- "captureType": "ReserveCapture",
- "recurring": false
}
}