Migration guide
đź’Ą Work in progress đź’Ą
Are you currently using MobilePay APIs for your payment integration needs?
In that case, we’re excited to introduce you to Vipps MobilePay APIs, a reliable and versatile payment solution that can make the migration hassle-free and even dazzle you with its ease of use and features. To ensure a smooth transition, we recommend using our comprehensive migration guide, which will provide step-by-step instructions and best practices for integrating with Vipps MobilePay APIs.
This document is still under development. Here is a quick summary of key facts and shortcuts for our APIs​.
Subscriptions vs. Recurring​
API documentation:
Agreement​
See: Agreements.
MOBILEPAY AGREEMENT ​ | VIPPS MOBILEPAY AGREEMENT​ |
---|---|
Description ​ | productDescription​ |
Amount​ | pricing: { "type"("LEGACY" => amount ,"VARIABLE" => suggestedMaxAmount), "currency"("NOK") } ​ |
Frequency​ | interval: { "unit"("YEAR" "MONTH" "WEEK" "DAY"), "count"([1..31]) } ​ |
Links : [user-redirect , success-callback , cancel-callback , cancel-redirect ] | merchantRedirectUrl + merchantAgreementUrl​ |
Plan​ | productName​ |
mobile_phone_number​ | phoneNumber​ |
external_id​ | externalId​ |
currency​ | N/A |
country_code​ | N/A |
expiration_timeout_minutes​ | N/A |
retention_period_hours​ | N/A |
disable_notification_management​ | N/A |
notifications_on​ | N/A |
N/A | scope (Space separated list of the user profile-data scope to require for the agreement)​ |
N/A | isApp (If merchant is redirecting user from an app or a mobile device)​ |
N/A | skipLandingPage (true = skip landing page by sending notification directly to user)​ |
Charges​
See: Charges.
MobilePay one-off​ | Vipps MobilePay initial charge |
---|---|
Amount (kroner.øre) ​ | Amount (øre)​ |
External_id​ | OrderId (if NULL → autogenerated)​ |
Description​ | Description​ |
Expiration_timeout_minutes​ | N/A |
N/A | transactionType (RESERVE_CAPTURE , DIRECT_CAPTURE )​ |
MOBILEPAY RESPONSE FROM AGREEMENT | VIPPS MOBILEPAY RESPONSE FROM AGREEMENT |
Id | agreementId |
links["rel", "href"] | vippsConfirmationUrl |
one_off_payment_id | chargeId |
Invoice vs. ePayment​
See:
Please note that "ePayments" encompasses various use case scenarios. Therefore, if you are seeking use cases that target existing MobilePay merchants and can be utilized for migration purposes, some examples include:
- MobilePay InvoiceDirect  1-1 to ePayments with userFlow =
PUSH_MESSAGE
- MobilePay InvoiceLinks 1-1 to ePayments with userFlow =
WEB_REDIRECT
- “QR” The use of PDF => OrderManagement.
MobilePay invoice | Vipps Mobilepay ePayment |
---|---|
InvoiceIssuer​ | Merchant-Serial-Number  (Header in request) ​ |
ConsumerAlias {Alias, AliasType} ​ | Customer {Alias} (Example: 4512345678) |
TotalAmount​ | Amount {currency, value(øre)}​ |
InvoiceNumber / PaymentReference​ | reference / paymentDescription ​ |
DueDate​ | expiresAt  (10min → 28 days. Example: 2023-02-26T17:32:28)​ |
(InvoiceLink ) RedirectUrl ​ | returnUrl  (The URL the user is redirected to after the payment session).​ |
Comment​ | N/A |
ConsumerAddressLines [] | N/A |
DeliveryAddressLines [] | N/A |
ConsumerName​ | N/A |
TotalVATAmount​ | N/A |
IssueDate | N/A |
OrderDate | N/A |
OrderDate | N/A |
DeliveryDate​ | N/A |
MerchantContactName | N/A |
MerchantOrderNumber | N/A |
BuyerOrderNumber​ | N/A |
InvoiceUrl + InvoiceArticles [] ​ | See Order Management API |
N/A ​ | paymentDescription​ |
N/A | profile  (scope)​ |
N/A ​ | paymentMethod (WALLET or CARD . CARD → WEB_REDIRECT)​ |
N/A | userFlow  (Push_message , Native_redirect , Web_redirect , QR ) ​ |
N/A | qrFormat {format, size} (only applicable when userFlow is set to QR ) ​ |
N/A | customerInteraction (Customer_present , Customer_not_present )​ |
N/A | industryData  (Additional compliance data related to the transaction)​ |
Point of Sale vs. ePayment​
See:
- ePayment API
- ePayment in store
- Login - can be used for loyalty
- Order management - can be used for receipts
PoS and ePayment endpoints​
Operation | MobilePay PoS | ePayment |
---|---|---|
PoS management | POST/GET/DELETE /v10/pointofsales | N/A |
Initiate Payment | POST:/v10/payments | POST:/v1/payments |
Initiate Prepared payment | POST:/v10/payments/prepare | N/A (For loyalty check solutions) |
Query Payment | GET:/v10/payments/{paymentid} | GET:/v1/payments/{reference} |
Query Active Payments | GET /v10/payments | N/A |
Query payment log | N/A | GET:/v1/payments/{reference}/events |
Capture Payment | POST:/v10/payments/{paymentid}/capture | POST:/v1/payments/{reference}/capture |
Cancel Payment | POST:/v10/payments/{paymentid}/cancel | POST:/v1/payments/{reference}/cancel |
Refund Payment | POST:/v10/refunds | POST:/v1/payments/{reference}/refund |
Lookup a refund | GET:/v10/refunds/{refundid} | GET:/v1/payments/{reference} |
PoS Authentication and headers​
MobilePay PoS | ePayment |
---|---|
Authorization (POST:/connect/token ) | Authorization (POST:/accesstoken/get ) |
X-MobilePay-Client-System-Version | Vipps-System-Version |
N/A | Vipps-System-Name |
N/A | Vipps-System-Plugin-Name (if applicable) |
N/A | Vipps-System-Plugin-Version (if applicable) |
X-MobilePay-Merchant-VAT-Number | N/A |
X-MobilePay-Idempotency-Key | Idempotency-Key |
N/A | Ocp-Apim-Subscription-Key |
N/A | Merchant-Serial-Number |
PoS Initiate Payment​
MobilePay PoS | ePayment |
---|---|
amount | amount (currency , value ) |
currencyCode | Applied in amount |
orderId | paymentDescription |
plannedCaptureDelay | N/A |
posId | N/A |
restrictions (debitCardDisallowed , creditCardDisallowed ) | N/A |
merchantPaymentLabel | N/A |
N/A | customer (phoneNumber ) |
N/A | customerInteraction ("CUSTOMER_PRESENT" ) |
N/A | paymentMethod (type "WALLET" ) |
N/A | reference |
N/A | userFlow ("PUSH_MESSAGE" "QR" ) |
N/A | qrFormat (format , size ) |
Response | |
paymentId | reference (set in paymentInitiation) |
PoS Query Payment​
MobilePay PoS | ePayment |
---|---|
paymentId | reference |
Response | |
orderId | reference |
amount | amount (currency , value ) |
currencyCode | Applied in amount |
status | state |
N/A | aggregate (authorizedAmount , cancelledAmount , capturedAmount , refundedAmount ) |
N/A | paymentMethod (type ) |
loyaltyIds | profile (sub ) |
N/A | pspReference |
N/A: posId
, restrictions
(debitCardDisallowed
, creditCardDisallowed
), merchantPaymentLabel
, plannedCaptureDelay
, customerToken
, customerReceiptToken
, paymentExpiresAt
, partialCapturePossible
, pollDelayInMs
)
PoS Capture, Cancel and Refund Payment​
MobilePay PoS | ePayment |
---|---|
paymentId | reference |
amount | modificationAmount (currency , value ) not applicable for cancel |
Response | |
N/A | amount (currency , value ) |
N/A | state |
N/A | aggregate (authorizedAmount , cancelledAmount , capturedAmount , refundedAmount ) |
refundId only applicable for refund | pspReference |
N/A | reference |