- METHOD TYPEE-wallet
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Momo Wallet in Vietnam is a digital wallet and mobile payment service that allows users to store, transfer money, make payments, and pay for goods and services. Known for its user-friendly interface, it offers easy and secure money management.
Supported Countries
- Vietnam
Supported Currencies
- VND
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
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MomoWallet“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example /payment
Request
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"VND", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_MomoWallet" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"[email protected]" }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"[email protected]" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to 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:
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MomoWallet“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example createPayment()
Request
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_MomoWallet", } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "VN", email: "[email protected]" }, userDetails: { firstName: "John", lastName: "Smith", country: "VN", email: "[email protected]" }, }, 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 urlDetails.notificationUrl
, which Nuvei recommends including in the /openOrder
request.
- The Momo Wallet flow begins when the customer selects the Momo Wallet payment method from the payment method gallery.
- The customer enters the amount and presses the Deposit/Process button.
Example Payment Page Request
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to notify_url
, which Nuvei recommends including in the 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
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MomoWallet“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example
/payment
Request{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"VND", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_MomoWallet" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"[email protected]" }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"[email protected]" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
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:paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_MomoWallet“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example
createPayment()
Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_MomoWallet", } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "VN", email: "[email protected]" }, userDetails: { firstName: "John", lastName: "Smith", country: "VN", email: "[email protected]" }, }, 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
urlDetails.notificationUrl
, which Nuvei recommends including in the/openOrder
request. - Payment Page
-
- The Momo Wallet flow begins when the customer selects the Momo Wallet payment method from the payment method gallery.
- The customer enters the amount and presses the Deposit/Process button.
Example Payment Page Request
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
notify_url
, which Nuvei recommends including in the request.
User Experience
Desktop Payment Flow
- The customer is redirected to the Momo payment page where they scan the QR Code using the Momo application already installed on their mobile phone. They have 10 minutes to successfully scan the QR Code.
- After the customer confirms the payment via their mobile phone application, the payment is successful, and the user is redirected to the Momo payment confirmation page.
- After payment confirmation, the user is redirected back to the payment page.
Mobile Payment Flow
- The customer is redirected to the Momo application already installed on their mobile phone, where they log into the Momo application using their phone number.
- The customer enters the verification code received on their mobile phone.
- The customer logs into the Momo application by entering their password.
- The customer is redirected to the payment details form, where they confirm the payment by pressing the Confirm button.
- The customer enters their account password in order to complete the payment.
- After payment confirmation, the user is redirected back to the payment page.
Testing
For testing purposes, you need to have installed the Momo application on your mobile device and use the below data:
App download: https://developers.momo.vn/v3/download
Test Account
- Phone Number: 0946777901
- Payment password: 121212
- Verification code/OTP: 000000