- METHOD TYPEReal-Time Bank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
MobilePay simplifies deposits for 6,5 m users and +230.000 locations in the Nordics (Denmark and Finland). It’s easy to use and secure! It’s a complete Wallet solution that quickens payments and refunds for both users and operators. There are no amount limits as long as there is coverage on your credit card.
Supported Countries
- Denmark
- Finland
Supported Currencies
- DKK
- EUR
- NOK
- SEK
Onboarding Registration
Registration Requirements
As part of the onboarding process, you must provide Nuvei with the following details for proper registration with MobilePay:
- Your Merchant Name as you wish it to be displayed to the end user.
- Your logo with the following requirements: PNG or JPG file format, 250×250 pixels.
The merchant logo increases conversion by preventing drop offs and enhancing the “safe payment” experience for users.
Additional Notes
- With regard to a context switch on the client side, the merchant cannot rely on a session when using MobilePay:
- When recognizing the returning customer, the merchant return page should not rely on any kind of session object. It instead should rely solely on data provided in the redirect.
- If possible, the merchant should not rely on the customer returning client side at all. Instead, the purchase should be processed when the webhook, or direct
merchant notification (DMN), is received.
- If the user wants to cancel the transaction, the user has the option to cancel from the MobilePay application. Until the end user cancels the transaction, the merchant should not expect a DMN.
- Per configuration, instead of using a redirect URL Nuvei can provide the merchant with a MetaData JSON (in the format DesktopUrl, AppUrl, CDNPageUrl) which allows the merchant to determine which URL to use (DesktopUrl, AppUrl, or CDNPageUrl).
Payment (Deposit) Flow
Press tab to open…
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. Send a /payment
Request
Perform the payment by sending a /payment
request with its mandatory parameters including:
userTokenId
currency
amount
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MobilePay“
deviceDetails
class containing:ipAddress
deviceType
– Possible values: DESKTOP, SMARTPHONE, TABLET
billingAddress
class containing:firstName
,lastName
,email
,country
userDetails
class containing:firstName
,lastName
,email
,country
,phone
Example /payment
Request
{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "DKK", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_MobilePay" } }, "deviceDetails": { "ipAddress": "<customer's IP address>", "deviceType": "DESKTOP" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "DK" }, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "DK", "phone": "00451235678" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
Example /payment
Response
The request is processed and returned with transactionStatus
: “REDIRECT“. The URL is redirected to the MobilePay application.
"reason": "", "orderId": "38469561", "transactionStatus": "REDIRECT", "clientRequestId": "D16T6MGO6", "internalRequestId": 23398951, "merchantDetails": { "customField1": "customField1-value", "customField2": "customField2-value" }, "version": "1.0", "merchantSiteId": "126006", "merchantId": "2502136204546424962", "clientUniqueId": "LYBJQHEDMYPA", "errCode": 0, "paymentOption": { "redirectUrl": "https://sandprod-products.mobilepay.dk/remote-website/index.html?page=request&id=46ecbfc9-78c5-4bcd-adb2-1eb01eb5a0fb", "userPaymentOptionId": "8393691", "card": {} }, "sessionToken": "9ef98871-0983-4f3a-889a-d968e431155b", "userTokenId": "RGLA9NP9Y414", "status": "SUCCESS" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in urlDetails.notificationUrl
, which Nuvei recommends including in the /payment
request.
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the /openOrder
API call.
2. Initialize the Web SDK
Instantiate the Web SDK with the sessionToken
received from the server call to /openOrder
.
3. Create an APM Payment
Send a createPayment()
request with its mandatory parameters including:
sessionToken
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MobilePay“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,email
,country
Example createPayment()
Request
sfc.createPayment({ sessionToken: sessionData.sessionToken, paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_MobilePay" } }, deviceDetails: { ipAddress : "<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "DK" } userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "DK" } }, function(res) { console.log(res); })
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in urlDetails.notificationUrl
, which Nuvei recommends including in the /openOrder
request.
- REST API
-
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a
sessionToken
Press here for details.
2. Send a
/payment
RequestPerform the payment by sending a
/payment
request with its mandatory parameters including:userTokenId
currency
amount
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MobilePay“
deviceDetails
class containing:ipAddress
deviceType
– Possible values: DESKTOP, SMARTPHONE, TABLET
billingAddress
class containing:firstName
,lastName
,email
,country
userDetails
class containing:firstName
,lastName
,email
,country
,phone
Example
/payment
Request{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "DKK", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_MobilePay" } }, "deviceDetails": { "ipAddress": "<customer's IP address>", "deviceType": "DESKTOP" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "DK" }, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "DK", "phone": "00451235678" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
Example
/payment
ResponseThe request is processed and returned with
transactionStatus
: “REDIRECT“. The URL is redirected to the MobilePay application."reason": "", "orderId": "38469561", "transactionStatus": "REDIRECT", "clientRequestId": "D16T6MGO6", "internalRequestId": 23398951, "merchantDetails": { "customField1": "customField1-value", "customField2": "customField2-value" }, "version": "1.0", "merchantSiteId": "126006", "merchantId": "2502136204546424962", "clientUniqueId": "LYBJQHEDMYPA", "errCode": 0, "paymentOption": { "redirectUrl": "https://sandprod-products.mobilepay.dk/remote-website/index.html?page=request&id=46ecbfc9-78c5-4bcd-adb2-1eb01eb5a0fb", "userPaymentOptionId": "8393691", "card": {} }, "sessionToken": "9ef98871-0983-4f3a-889a-d968e431155b", "userTokenId": "RGLA9NP9Y414", "status": "SUCCESS" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in
urlDetails.notificationUrl
, which Nuvei recommends including in the/payment
request. - Web SDK
-
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the
/openOrder
API call.2. Initialize the Web SDK
Instantiate the Web SDK with the
sessionToken
received from the server call to/openOrder
.3. Create an APM Payment
Send a
createPayment()
request with its mandatory parameters including:sessionToken
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MobilePay“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,email
,country
Example
createPayment()
Requestsfc.createPayment({ sessionToken: sessionData.sessionToken, paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_MobilePay" } }, deviceDetails: { ipAddress : "<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "DK" } userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "DK" } }, function(res) { console.log(res); })
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in
urlDetails.notificationUrl
, which Nuvei recommends including in the/openOrder
request.
User Experience
- The user is redirected to the Pay via Mobile page.
- The user enters their mobile phone number and presses Continue to proceed to payment via the MobilePay application.
- The user presses Approved on their mobile phone to approve the payment via MobilePay.
- The user logs in to the MobilePay application on their mobile phone and selects the credit card with which to pay (such as Mastercard).
- The user presses the Authorise button.
- After the card is verified, the payment is authorized by the card issuer and the merchant charges the card.
- The user exits the MobilePay application on their mobile phone. The transaction is completed and the user is redirected to the Merchant’s page and receives a notification regarding payment status: “Success” or “Decline“.