Flow

Methods
1. Check Info
Allow partner get information about billId, account Info
Request
- Method: POST
- URL: api/bill/check-info
| Name |
Type |
Required |
Description |
| requestId |
String |
X |
Unique String for each request |
| serviceCode |
String |
X |
Momo will provide |
| reference1 |
String |
X |
It depends on service |
| reference2 |
String |
|
It depends on service |
Response
| Name |
Type |
Level |
Description |
| requestId |
String |
L1 |
Same with request |
| resultCode |
Integer |
L1 |
Result Code of request |
| referenceId |
String |
L1 |
Unique for each response |
| message |
String |
L1 |
Result message |
| totalAmount |
Long |
L1 |
Amount need to be paid |
| Extras |
JsonObject |
L1 |
Other Information |
| AccountInfo |
JsonObject |
L1 |
JsonObject about the wallet information |
| Name |
String |
L2 |
Client (Buyer) name |
| Email |
String |
L2 |
Client email |
| Mobile |
String |
L2 |
Phone number |
| personalId |
String |
L2 |
|
| Address |
String |
L2 |
|
| dateOfBirth |
String |
L2 |
yyyy-MM-dd |
| billList |
JsonArray |
L1 |
Arrays of BillInfo. Detail of each jsonObject is defined below |
| billId |
String |
L2 |
Bill Number |
| amount |
Integer |
L2 |
Amount of this bill |
| toDate |
String |
L2 |
|
| fromDate |
String |
L2 |
|
| extraInfo |
JsonObject |
L2 |
Other information of this bill info. |
| type |
String |
L2 |
|
2. Payment
Request
- Method: POST
- URL: api/bill/payment
| Name |
Type |
Required |
Description |
| requestId |
String |
x |
Unique String for each request |
| password |
String |
x |
Static value as provide by Momo |
| serviceCode |
String |
x |
Momo will provide |
| reference1 |
String |
x |
It depends on service |
| reference2 |
String |
|
It depends on service |
| customerPhone |
String |
x |
Customer phone number |
| amount |
Integer |
x |
Paid amount |
| date |
String |
x |
payment date (yyyy-MM-dd HH:mm:ss) |
Response
| Name |
Type |
Description |
| requestId |
String |
Same with request |
| resultCode |
Integer |
Result Code of request |
| referenceId |
String |
Unique for each response |
| message |
String |
Result message |
| paymentRef |
String |
Unique String for each transfer response, using for report |
3. Check Status
Request
- Method: POST
- URL: api/bill/status
| Name |
Type |
Required |
Description |
| requestId |
String |
X |
Unique String for each request |
| reference1 |
String |
X |
The request Id that partner want to check |
Response
| Name |
Type |
Description |
| requestId |
String |
Same with request |
| resultCode |
Integer |
Result Code of request |
| referenceId |
String |
Unique for each response |
| message |
String |
Result message |
| date |
String |
Transaction date: format (yyyy-MM-dd HH:mm:ss) |
| data |
JsonObject |
Status information, content is the same as paymentResponse |
4. Balance
Allow partner get current partner wallet’s balance
Request
- Method: POST
- URL: api/bill/balance
| Name |
Type |
Required |
Description |
| requestId |
String |
X |
Unique String for each request |
| password |
String |
X |
Static value as provided by Momo |
Response
| Name |
Type |
Description |
| requestId |
String |
Same with request |
| resultCode |
Integer |
Result Code of request |
| referenceId |
String |
Unique for each response |
| message |
String |
Result message |
| amount |
Integer |
Current balance |
Example:
Request
{
"requestId": "wqrwpo2343240xsad213",
"username": "PARTNER",
"password": "a1234567890"
}
Response
{
"requestId": "wqrwpo2343240xsad213",
"referenceId": "2313_e3w24_ddqwdq_dasdasda",
"resultCode": 0,
"message": "Success",
"amount": 100000000
}
5. Cancel Request
Request
- Method: POST
- URL: api/bill/cancel
| Name |
Type |
Required |
Description |
| requestId |
String |
X |
Unique String for each request |
| password |
String |
X |
Static value as provide by Momo |
| reference1 |
String |
X |
BillId of the PaymentRequest that you want to cancel |
| reference2 |
String |
X |
TransactionId of the PaymentRequest that you want to cancel |
| amount |
Long |
X |
amount |
| date |
String |
X |
Transaction date: (YYYY-MM-DDThh:mm:ssTZD) |
Response
| Name |
Type |
Description |
| requestId |
String |
Same with request |
| resultCode |
Integer |
Result Code of request |
| referenceId |
String |
Unique for each response |
| message |
String |
Result message |
| amount |
long |
Current balance |
| date |
String |
Transaction finished date: (format yyyy-MM-dd HH:mm:ss) |
Services
Mservice will provide the correct serviceCode on production.
| STT |
Service |
ServiceCode |
Reference1 |
Reference2 |
| 1 |
Nước Gia Định |
giadinhwater |
ContractNumber |
empty |
| 2 |
Nước Thủ Đức |
thuducwater |
ContractNumber |
empty |
| 3 |
ACS |
acs |
ContractNumber |
empty |
| 4 |
HD Saison |
hdsaison |
ContractNumber |
empty |
| 5 |
Home Credit |
homecredit |
ContractNumber |
empty |
| 6 |
Fe Credit |
fecredit |
ContractNumber/creditaccount |
empty |
| 7 |
Mobifone trả sau |
vmsbilling |
ContractNumber |
empty |
| 8 |
Mobifone trả trước |
vmstopup |
ContractNumber |
empty |
| 9 |
Mã thẻ Mobifone |
vmssoftpin |
ContractNumber |
empty |
| 10 |
Vinaphone trả sau |
vnpbilling |
ContractNumber |
empty |
| 11 |
Vinaphone trả trước |
vnptopup |
ContractNumber |
empty |
| 12 |
Mã thẻ Vinaphone |
vnpsoftpin |
ContractNumber |
empty |
| 13 |
Viettel trả sau |
vtlbilling |
ContractNumber |
empty |
| 14 |
Viettel trả trước |
vtltopup |
ContractNumber |
empty |
| 15 |
Mã thẻ Viettel |
vtlsoftpin |
ContractNumber |
empty |
| 16 |
Điện lực TP HCM |
evnhcm |
ContractNumber/credit account |
empty |
| 17 |
VNPT HCM |
adslvnpthcm |
ContractNumber |
empty |
| 18 |
Mirae Asset |
adslvnpthcm |
ContractNumber |
empty |
| 19 |
Mirae Asset |
mirae_asset |
ContractNumber |
empty |
| 20 |
Mcredit |
finance_collection_mcredit |
ContractNumber |
empty |
| 21 |
VietCredit |
finance_cfc |
ContractNumber |
empty |
| 22 |
TPBank - TPFiCo |
finance_collection_tpfico |
ContractNumber |
empty |
| 23 |
Doctor Đồng |
finstar |
ContractNumber |
empty |
| 24 |
SHB Finance |
finance_collection_shb |
ContractNumber |
empty |
| 25 |
vĐồng |
finance_collection_vdong |
ContractNumber |
empty |
| 26 |
Easy Credit |
finance_easycredit |
ContractNumber |
empty |
| 27 |
Tamo |
finance_collection_tamo |
ContractNumber |
empty |
| 28 |
LOTTE Finance |
finance_collection_lotte |
ContractNumber |
empty |
| 29 |
TienNgay.vn (Tiện Ngay) |
finance_collection_tienngay |
ContractNumber |
empty |
| 30 |
Fiin Credit |
finance_collection_fiin |
ContractNumber |
empty |
| 31 |
Paylater |
finance_collection_paylate |
ContractNumber |
empty |
| 32 |
Tima |
finance_collection_tima |
ContractNumber |
empty |
| 33 |
OnCredit |
finance_collection_oncredit |
ContractNumber |
empty |
| 34 |
Cash24 |
finance_collection_cash24 |
ContractNumber |
empty |
| 35 |
CashVN (Newstar) |
finance_collection_newstar |
ContractNumber |
empty |
| 36 |
VayVND |
finance_collection_vayvnd |
ContractNumber |
empty |
| 37 |
VietMoney |
finance_collection_vietmoney |
ContractNumber |
empty |
| 38 |
Tiền Mặt Nhanh |
finance_tienmatnhanh |
ContractNumber |
empty |
| 39 |
FastMoney (Lendbox) |
finance_collection_amber |
ContractNumber |
empty |
| 40 |
Movi |
finance_collection_movi |
ContractNumber |
empty |
| 41 |
Oivay |
finance_collection_oivay |
ContractNumber |
empty |
| 42 |
Senmo |
finance_collection_senmo |
ContractNumber |
empty |
| 43 |
Ree-Pay |
finance_collection_reepay |
ContractNumber |
empty |
| 44 |
Robocash |
finance_collection_robocash |
ContractNumber |
empty |
| 45 |
Findo |
finance_collecion_findo |
ContractNumber |
empty |
| 46 |
JACCS |
finance_collection_jaccs |
ContractNumber |
empty |
| ## Transaction reports: |
|
|
|
|
Requirement:
All control reports at least have these fields:
- Reference1
- Reference2
- TransID: Partner’s transaction Id
- MsTransId: Mservice Transaction Id
- Status transaction
- Create time
- Amount
Error Code
| Code |
Message |
Status |
| 0 |
success |
|
| 1 |
invalid signature |
Fail |
| 2 |
Invalid encrypted data |
Fail |
| 3 |
Invalid partner-code |
Fail |
| 4 |
Invalid customer phone |
Fail |
| 5 |
Invalid password |
Fail |
| 6 |
Invalid Json String |
Fail |
| 7 |
Insufficient funds |
Fail |
| 8 |
Duplicate/Invalid request Id |
Fail |
| 9 |
Invalid partner code |
Fail |
| 10 |
Unknown result. Please check manual to get final result |
Pending |
| 50 |
Invalid request date |
Fail |
| 51 |
ServiceCode is invalid |
Fail |
| 52 |
Customer phone is invalid |
Fail |
| 53 |
Param is invalid |
Fail |
| 54 |
Reference1 is invalid |
Fail |
| 55 |
Reference2 is invalid |
Fail |
| 56 |
Amount is invalid |
Fail |
| 57 |
Date format is invalid |
Fail |
| 58 |
The service is upgrading |
Fail |
| 59 |
Data not found |
Fail |
| 60 |
Partner not active |
Fail |
| 61 |
Can't cancel unknown request |
Fail |
| 62 |
Can't Cancel error request |
Fail |
| 63 |
Request was canceled |
Fail |
| 64 |
Invalid request Id |
Fail |
| 65 |
No bill to pay |
Fail |
| 66 |
PaymentRef is invalid |
Fail |