Disbursement all in one
Overview
Are you a business looking for a convenient and swift solution to disburse funds to your employees or business partners? Our All-in-One Disbursement feature is the ideal solution for your needs, with features:
Fast and easy transfer fund: Experience the ease of transferring funds seamlessly from your Business Wallet to any Zalopay Wallet, Bank Account, or ATM Card. Our All-in-One Disbursement feature eliminates the hassle of navigating different payment channels – it's a one-stop-shop for swift transactions.Simplify with Automated Payment Processes: Bid farewell to intricate payment procedures. Our All-in-One Disbursement feature automates fund transfers, reducing errors and streamlining the time it takes to manage your financial transactions.
High-Level Security: We understand that security is a top priority. The All-in-One Disbursement feature is fortified with state-of-the-art security measures, ensuring that your information and transactions are guarded with the utmost care.
Track and Report Expenditures: Keep track of expenditure history and generate reports easily to have an overview of your financial situation. Managing expenses has never been easier.
Cross-Platform Support: Explore the All-in-One Disbursement feature across various platforms, from mobile apps to websites, allowing you to access and manage your finances anytime, anywhere.
Easy, Flexible, and Secure – the All-in-One Disbursement feature from Business Wallet is the perfect bridge between your business and efficient financial management. Start experiencing the convenience it brings today.
In the next sections, we guide you step by step to integrate Zalopay All-in-One Disbursement.
Prerequisites
Before you begin, make sure the following works are done for a smooth integration:
- Successfully registered merchant account and obtained
app_id
,mac_key
,private_key
from Merchant Portal. - Understood the usage and specification of following APIs:
Verify Account API
Transfer Fund API
Query Transaction API
Balance API
Get Bank Code List API
- The concept of secure data transmission.
How it works
In detail, our flow will look like this:
Integration
This section focuses on how to integrate the All-in-One Disbursement flow from Zalopay. A typical workflow includes the following steps:
1. Retrieve the current balance of the merchant's account by calling Balance API
.
2. Check whether the user has an account or not, by calling Verify Account API and Get Bank Code List API
.
3. Using Transfer Fund API
to create a transfer request.
4. Using Query Transaction API
to get the final transfer status.
Step 1. Query merchant wallet balance
From the Backend Server, call the Balance API, refer to the Explore API for detailed parameter information.
This is an example of a query request for the balance of a business wallet account and the corresponding response received:
Request for the balance of a business wallet account | Corresponding response received |
---|---|
{ "app_id": 15752, "payment_id": "P270868", "time": "3729797766", "partner_embed_data": "{\"merchant_wallet_id\":\"336A321832\"}", "mac": "string" } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "balance": 42712 } } |
Step 2. Check the user account
From the Backend Server, call the Verify Account API, refer to the Explore API for detailed parameter information.
Users receive money from the Business Wallet, through 3 different types of accounts:
- Zalopay Account
- Bank Account
- ATM Card
This is an example of a request to check the user's account and the corresponding response received:
Type | Request to check the user's account | Corresponding response received |
---|---|---|
Zalopay Account | { "app_id": 15752, "disbursement_type": "WALLET", "receiver_info": "HHDOHu0caM7+hwCkQgVYSpAJ+ZSHf6ffDBuJLEcvQ...", "amount": 10000, "redirect_url": "zalopay://launch/app/2242", "time": 1700551306699, "mac": "5ad0de3161a45701896ca9f75ecc088291e58701e19..." } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "m_u_id": "Yh2mBCG983efb1Iwu4FuZJO5TgpnCXT-4fwvhNJV1a8" } } |
Bank Account | { "app_id": 15752, "disbursement_type": "BANK", "receiver_info": "P2v4OjlUaModdNXXYuqawuzgxzvAhtIRei485ubTj/PjbPNMLk9M5VpFnp7....", "amount": 10000, "time": 1700554407764, "mac": "ff65866734d50ac742ec473bad50e8283fcfcc4891..." } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "account_holder_name": "NGUYEN VAN A" } } |
ATM Card | { "app_id": 15752, "disbursement_type": "BANK", "receiver_info": "mUcjpp6+M44BFdqmwa3GfpikWq8mV/24I....", "amount": 10000, "redirect_url": "zalopay://launch/app/2242", "time": 1700554120519, "mac": "3ec51c79bdf499a1833c3c831cb8e73bf84fff19637...." } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "card_holder_name": "NGUYEN VAN A" } } |
Step 3. Create a request to transfer fund from the Business Wallet to the user's receiving account
From the Backend Server, call the Transfer Fund API, refer to the Explore API for detailed parameter information.
Users receive money from the Business Wallet, through 3 different types of accounts:
- Zalopay Account
- Bank Account
- ATM Card
This is an example of a transfer fund request to the user's receiving account and the corresponding response received:
Type | Transfer fund request to the user's receiving account | Corresponding response received |
---|---|---|
Transfer fund to Zalopay Account | { "app_id": 15752, "payment_id": "P270868", "partner_order_id": "231010_6006493217", "disbursement_type": "WALLET", "receiver_info": "EKDa5iB2QvDMOOAlwqDXRZDTR+B3y....", "amount": 10000, "description": "Bonuses for users", "partner_embed_data": "", "extra_info": "", "time": 1700634330810, "mac": "e299e9189904266571daa7011d1746bd6d0082c8e1fccc3b07d203d3b9103585", "mc_reference_id": "TRANSACTION_01" } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "order_id": "51642840027000060", "disbursement_type": "WALLET", "m_u_id": "Yh2mBCG983efb1Iwu4FuZJO5TgpnCXT-4fwvhNJV1a8", "phone": "*******9047", "status": 3, "amount": 10000, "partner_fee": 0, "zlp_fee": 0, "server_time": 1700634331351 } } |
Transfer fund to Bank Account | { "app_id": 15752, "payment_id": "P270868", "partner_order_id": "3315712257", "disbursement_type": "BANK", "receiver_info": "Y8Dmn8sD8b56oB0BvURcj.....", "amount": 10000, "description": "Bonuses for users", "partner_embed_data": "", "extra_info": "", "time": 1700634596747, "mac": "fb3a2232210d2dfa12692ed15ff57eeee6db525e367f2f808e6797f516058c9c", "mc_reference_id": "TRANSACTION_01" } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "order_id": "51643288515559318", "disbursement_type": "BANK", "bank_code": "ZPBIDV", "account_no": "*******2222", "account_holder_name": "NGUYEN VAN A", "status": 3, "amount": 10000, "partner_fee": 0, "zlp_fee": 0, "server_time": 1700634598672 } } |
Transfer fund to ATM Card | { "app_id": 15752, "payment_id": "P270868", "partner_order_id": "3729797766", "disbursement_type": "BANK", "receiver_info": "IhtaVoGt19bRqU8vzinEwfy....", "amount": 10000, "description": "Bonuses for users", "partner_embed_data": "", "extra_info": "", "time": 1700635341572, "mac": "76a9ef49f7b334b9957962c04e41cb16b33623ce8e457b193d30c69ae45e2044", "mc_reference_id": "TRANSACTION_01" } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "order_id": "51644538015498134", "disbursement_type": "BANK", "bank_code": "ZPCTG", "card_no": "***********6789", "card_holder_name": "NGUYEN VAN A", "status": 3, "amount": 10000, "partner_fee": 0, "zlp_fee": 0, "server_time": 1700635343439 } } |
Step 4. Query transfer fund status
Từ máy chủ của Doanh nghiệp, gọi API Query Transaction, tham khảo API Explore để biết chi tiết các tham số.
Đây là một ví dụ về yêu cầu (request) kiểm tra trạng thái giao dịch tiền và phản hồi (response) nhận về:
Type | Request to check the status of a transfer fund transaction | Corresponding response received |
---|---|---|
Transfer fund to Zalopay Account | { "app_id": 15752, "partner_order_id": "1613909272", "time": 1701241387331, "mac": "5651d35fc58bf276a522262b76637fb9f1dad485014d14c4179227bafab968b4" } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "order_id": "51642840027000060", "disbursement_type": "WALLET", "m_u_id": "Yh2mBCG983efb1Iwu4FuZJO5TgpnCXT-4fwvhNJV1a8", "phone": "*******9047", "status": 3, "amount": 10000, "partner_fee": 0, "zlp_fee": 0, "server_time": 1700634331351 } } |
Transfer fund to Bank Account | { "app_id": 15752, "partner_order_id": "1613909272", "time": 1701241387331, "mac": "5651d35fc58bf276a522262b76637fb9f1dad485014d14c4179227bafab968b4" } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "order_id": "51643288515559318", "disbursement_type": "BANK", "bank_code": "ZPBIDV", "account_no": "*******2222", "account_holder_name": "NGUYEN VAN A", "status": 3, "amount": 10000, "partner_fee": 0, "zlp_fee": 0, "server_time": 1700634598672 } } |
Transfer fund to ATM Card | { "app_id": 15752, "partner_order_id": "1613909272", "time": 1701241387331, "mac": "5651d35fc58bf276a522262b76637fb9f1dad485014d14c4179227bafab968b4" } | { "return_code": 1, "return_message": "Giao dịch thành công", "sub_return_code": 1, "sub_return_message": "Giao dịch thành công", "data": { "order_id": "51644538015498134", "disbursement_type": "BANK", "bank_code": "ZPCTG", "card_no": "***********6789", "card_holder_name": "NGUYEN VAN A", "status": 3, "amount": 10000, "partner_fee": 0, "zlp_fee": 0, "server_time": 1700635343439 } } |