- METHOD TYPEE-wallet
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
ZaloPay is a Vietnamese mobile wallet and payment platform associated with the Zalo messaging app. Users can link their bank accounts or cards to ZaloPay for various transactions like mobile top-ups, bill payments, and online shopping.
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
block containing:paymentMethod
: “apmgw_Zalopay“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block 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_ZaloPay" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"john.smith@email.com" }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"john.smith@email.com" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
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
block containing:paymentMethod
: “apmgw_ZaloPay“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block containing:firstName
,lastName
,country
,email
Example createPayment()
Request
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_ZaloPay", } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "VN", email: "john.smith@email.com" }, userDetails: { firstName: "John", lastName: "Smith", country: "VN", email: "john.smith@email.com" }, }, function (res) { console.log(res); });
- The ZaloPay flow begins when the customer selects the ZaloPay payment method from the payment method gallery.
- The customer enters the amount and presses the Deposit/Process button.
- 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
block containing:paymentMethod
: “apmgw_Zalopay“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block 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_ZaloPay" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"john.smith@email.com" }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"VN", "email":"john.smith@email.com" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
- 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
block containing:paymentMethod
: “apmgw_ZaloPay“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block containing:firstName
,lastName
,country
,email
Example
createPayment()
Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_ZaloPay", } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "VN", email: "john.smith@email.com" }, userDetails: { firstName: "John", lastName: "Smith", country: "VN", email: "john.smith@email.com" }, }, function (res) { console.log(res); });
- Payment Page
-
- The ZaloPay flow begins when the customer selects the ZaloPay payment method from the payment method gallery.
- The customer enters the amount and presses the Deposit/Process button.
User Experience
- The user is redirected to the ZaloPay payment page.
- The user opens the ZaloPay mobile application and scans the QR code.
- Payment details are displayed, and the user confirms by entering the payment password.
- The payment is confirmed.
- After payment confirmation, the user is redirected back to the payment page.