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.
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/
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.
TransactionID provided by you which should be unique for each payment
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
Complete URL which calls up Paygate if payment has been successful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which calls up Paygate if payment has been unsuccessful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which Paygatecalls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead.
Common notes:
Before follow-up actions (capture / credit / reversal) are carried out on an existing transaction, the first Notify must have been answered by the shop.
Fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
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.
"Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer.
The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose.
Parameters for VIPPS
The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system:
pls. be prepared to receive additional parameters at any time and do not check the order of parameters
the key (e.g. mid, RefNr) should not be checked case-sentive
"Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer.
The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose.
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:
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.
Complete URL which calls up Paygate if payment has been successful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which calls up Paygate if payment has been unsuccessful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which Paygatecalls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead.
Common notes:
Before follow-up actions (capture / credit / reversal) are carried out on an existing transaction, the first Notify must have been answered by the shop.
Fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
"Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer.
The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose.
Key
Format
CND
Description
Beschreibung
RTF
a1
C
A = Create agreement without initial charge / I = Create agreement with initial charge
ProductName
ans..45
M
Product name displayed to customer
OrderDesc
ans..100
M
Description of purchased goods/product
PricingType
ans..8
M
For LEGACY = Fixed recurring amount / For VARIABLE = Flexible amount per charge
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
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
AgreementIntervalCount
n..2
O
Number of units in time period (e.g., unit=WEEK, count=2 for bi-weekly)
URLConfirm
ans..256
M
URL where customer is redirected after agreement approval/rejection in VIPPS app
VippsMerchantAgreementURL
ans..1024
C
URL where customer can manage subscription. Mandatory for Norway. Must offer actual management capabilities, not just contact info.
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.
MinAge
n..2
O
Minimum age required (15-99). VIPPS verifies before allowing payment.
AboID
ans..64
O
External subscription ID to map agreement to merchant's system
RefNr
an..50
O
Unique identifier for payment (UUID preferred, A-Z/a-z, hyphen allowed)
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
ChargeDescription
ans..100
M
Only for RTF=I: Description for the initial charge (visible to customer)
Campaign parameters (optional)
CampaignType
ans..13
O
PRICECAMPAIGN = Special price until end date / PERIODCAMPAIGN = Special price for defined intervals / EVENTCAMPAIGN = Special price until event date
CampaignPrice
n..10
C
Campaign price in smallest currency unit. Required if CampaignType specified.
CampaignEnd
dttm
C
Required for PRICECAMPAIGN: Campaign end date (ISO 8601)
CampaignIntervalUnit
ans..5
C
Required for PERIODCAMPAIGN: Unit for period: YEAR, MONTH, WEEK, DAY
CampaignIntervalCount
n..2
C
Required for PERIODCAMPAIGN: Number of units (1-31)
CampaignEventDate
dttm
C
Required for EVENTCAMPAIGN: Event date (ISO 8601)
CampaignEventText
ans..100
C
Required for EVENTCAMPAIGN: Event description
Parameters for creating an agreement for VIPPS recurring payments
The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system:
pls. be prepared to receive additional parameters at any time and do not check the order of parameters
the key (e.g. mid, RefNr) should not be checked case-sentive
"Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer.
The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose.
Key
Format
CND
Description
Beschreibung
BillingAgreementID
ans..64
M
Agreement identifier assigned by VIPPS
RedirectUrl
ans..256
M
URL to redirect customer for agreement confirmation
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:
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.
Complete URL which calls up Paygate if payment has been successful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which calls up Paygate if payment has been unsuccessful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which Paygatecalls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead.
Common notes:
Before follow-up actions (capture / credit / reversal) are carried out on an existing transaction, the first Notify must have been answered by the shop.
Fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
"Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer.
The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose.
Key
Format
CND
Description
Beschreibung
RTF
a1
M
Must be R to create recurring charge
BillingAgreementID
ans..64
M
Agreement identifier to charge against (from agreement creation response)
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).
AboID
ans..64
O
External subscription 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)
The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system:
pls. be prepared to receive additional parameters at any time and do not check the order of parameters
the key (e.g. mid, RefNr) should not be checked case-sentive
"Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer.
The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose.
Key
Format
CND
Description
Beschreibung
BillingAgreementID
ans..64
M
Agreement identifier assigned by VIPPS
RedirectUrl
ans..256
M
URL to redirect customer for agreement confirmation
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":
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.
Complete URL which calls up Paygate if payment has been successful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which calls up Paygate if payment has been unsuccessful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.
Common notes:
We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
Complete URL which Paygatecalls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead.
Common notes:
Before follow-up actions (capture / credit / reversal) are carried out on an existing transaction, the first Notify must have been answered by the shop.
Fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.
"Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer.
The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose.
Parameters for terminating an agreement for VIPPS recurring payments
The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system:
pls. be prepared to receive additional parameters at any time and do not check the order of parameters
the key (e.g. mid, RefNr) should not be checked case-sentive
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.
Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit).
To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action.
Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly.
Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate.
Parameters for captures of VIPPS
The following table describes the result parameters with which the Computop Paygate responds to your system
pls. be prepared to receive additional parameters at any time and do not check the order of parameters
the key (e.g. mid, RefNr) should not be checked case-sentive
Error code according to Paygate Response Codes (A4 Error codes)
Result parameters for captures of VIPPS
Credit with reference
Credits (refunds) are possible via a Server-to-Server connection. For a Credit with reference to a capture the amount of the Credit is limited to the amount of the previous capture. To carry out a credit with a reference transaction, please use the following URL:
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.
Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit).
To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action.
Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly.
Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate.
Parameters for credit payments with VIPPS
The following table describes the result parameters with which the Computop Paygate responds to your system
pls. be prepared to receive additional parameters at any time and do not check the order of parameters
the key (e.g. mid, RefNr) should not be checked case-sentive
Error code according to Paygate Response Codes (A4 Error codes)
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:
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.
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.
Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit).
To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action.
Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly.
Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate.
Parameters for reversals of VIPPS
The following table describes the result parameters with which the Computop Paygate responds to your system
pls. be prepared to receive additional parameters at any time and do not check the order of parameters
the key (e.g. mid, RefNr) should not be checked case-sentive