- 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.
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“.