MOMO CASHOUT API

Please read Onboarding first!!

Flows

Cashout Flows

Methods

1. Verify

Allow partner get information about Momo wallet

Request

  • Method: POST
  • URL: api/cashout/verify
Name Type Length Description
requestId String 50 Unique String for each request
walletId String Momo wallet id (phone number) need to transfer money to.
amount Number Amount need to cashout
created String created date (YYYY-MM-DDThh:mm:ssTZD)

Response

Name Type Level Description
requestId String L1 Unique String for each request
referenceId String L1 Reference Id. Unique String for each response
resultCode String L1 Result Code of request
message String L1 Result message
fee Number L1 Fee for this transaction
accountInfo JsonObject L1 JsonObject about the wallet information
name String L2 Client (Buyer) name
email String L2 Client email
mobile String L2 Phone number

Example

Request
{
    "requestId": "wqrwpo2343240xsad213",
    "walletId": "0987654321",
    "amount": 40000
}
Response
{
    "requestId": "wqrwpo2343240xsad213",
    "referenceId": "2313_e3w24_ddqwdq_dasdasda",
    "resultCode": 0,
    "message": "Success",
    "fee": 8000,
    "accountInfo": {
        "name": "Nguyễn Văn A",
        "email": "test@gmail.com",
        "mobile": "0987654321"
    }
}

2. Confirm

Allow partner transfer money from their wallet to other wallet

Request

  • Method: POST
  • URL: api/cashout/confirm
Name Type Description
requestId String Unique String for each request
walletId String Momo wallet id (phone number) need to transfer money to.
verifyRequestId String The same Id with your verify RequestId
amount String Amount to transfer
created String created date (YYYY-MM-DDThh:mm:ssTZD)
otp String Otp that Momo provide to user
description String Short description

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

Example

Request
{
    "requestId": "wqrwpo2343240xsad213",
    "verifyRequestId": "dsadaad213",
    "created": "2017-03-06T19:20:30+07:00",
    "walletId": "0989990105",
    "amount": 40000,
    "description": "Transfer for something"
}
Response
{
    "requestId": "wqrwpo2343240xsad213",
    "referenceId": "2313_e3w24_ddqwdq_dasdasda",
    "resultCode": 0,
    "message": "Success",
    "paymentRef": "122434546546"
}

3. CancelVerify

Allow partner cancel a verify request

Request

  • Method: POST
  • URL: api/cashout/cancel
Name Type Description
requestId String Unique String for each request
verifyRequestId String The same Id with your verify RequestId
created String created 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

Example

Request
{
    "requestId": "wqrwpo2343240xsad213",
    "verifyRequestId": "dsadaad213",
    "created": "2017-03-06T19:20:30+07:00",
    "walletId": "0989990105",
    "amount": 40000,
    "description": "Transfer for something"
}
Response
{
    "requestId": "wqrwpo2343240xsad213",
    "referenceId": "2313_e3w24_ddqwdq_dasdasda",
    "resultCode": 0,
    "message": "Success"
}

4. Resend otp

Resend otp to user.

Request

  • Method: POST
  • URL: api/cashout/send-otp
Name Type Description
requestId String Unique String for each request
walletId String Momo wallet id (phone number) need to transfer money to.
verifyRequestId String The same Id with your verify RequestId

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

Example

Request
{
    "requestId": "wqrwpo2343240xsad213",
    "verifyRequestId": "dsadaad213",
    "created": "2017-03-06T19:20:30+07:00",
    "walletId": "0989990105",
    "amount": 40000,
    "description": "Transfer for something"
}
Response
{
    "requestId": "wqrwpo2343240xsad213",
    "referenceId": "2313_e3w24_ddqwdq_dasdasda",
    "resultCode": 0,
    "message": "Success",
    "paymentRef": "122434546546"
}

5. Check status

Allow partner get check status of confirm request

Request

  • Method: POST
  • URL: api/cashout/status
Name Type Description
requestId String Unique String for each request
checkRequestId String Request Id that need 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
data JsonObject Data is the same with data of the response of function that want to check

Example

Request
{
    "requestId": "wqrwpo2343240xsad213",
    "password": "123456",
    "checkRequestId": "ewqweq21234re"
}
Response
{
    "requestId": "wqrwpo2343240xsad213",
    "referenceId": "2313_e3w24_ddqwdq_dasdasda",
    "resultCode": 0,
    "message": "Success",
    "data": 
    {
        "requestId": "wqrwposs2343240xsad213",
        "referenceId": "2313_e3w24_w432423_dasdasda",
        "resultCode": 0,
        "message": "Success",
        "acceptAmount": 40000
    }
}

6. Balance

Allow partner get current partner wallet’s balance

Request

  • Method: POST
  • URL: api/cashout/balance
Name Type Description
requestId String Unique String for each request

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",
    "password": "a1234567890"
}
Response
{
    "requestId": "wqrwpo2343240xsad213",
    "referenceId": "2313_e3w24_ddqwdq_dasdasda",
    "resultCode": 0,
    "message": "Success",
    "amount": 100000000
}

7. Get Trans

Allow partner get all transaction of the day

Request

  • Method: POST
  • URL: api/cashout/get-trans
Name Type Description
requestId String Unique String for each request
password String Static value as provided by Momo
date String Date to get all trans (yyyy-MM-dd)

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
data JsonArray L1 Array of JsonObject include these information
requestId String L2 Transfer request id
walletId String L2 Momo wallet Id (mobile phone)
amount Integer L2 Transfer amount
paymentDate String L2 Transfer date
paymentRef String L2 Reference Number
resultCode Int L2 Result Code
message String L2 Result Message

Example

Request
{
    "requestId": "wqrwpo2343240xsad213",
    "password": "a1234567890",
    "date": "2017-12-04"
}
Response
{
    "requestId": "wqrwpo2343240xsad213",
    "referenceId": "2313_e3w24_ddqwdq_dasdasda",
    "resultCode": 0,
    "message": "Success",
    "data": [
        {
            "requestId": "122345",
            "walletId": "0989990105",
            "amount": 400000,
            "paymentDate": "2017-03-06T19:20:30+07:00",
            "paymentRef": "2313r3r34r",
            "resultCode": 0,
            "message": "Success"
        },
        {
            "requestId": "122346",
            "walletId": "0989990106",
            "amount": 100000,
            "paymentDate": "2017-03-06T19:20:30+07:00",
            "paymentRef": "2313r3r34r",
            "resultCode": 0,
            "message": "Insufficient funds"
        }   
    ]
}

Error Code

Code Message Function Status
0 success All Success
2 Cannot decrypt message All Fail
4 Invalid wallet Id Verify, confirm Fail
5 Invalid password All Fail
7 Insufficient funds Confirm Fail
8 Duplicate request Id All Fail
9 Invalid partner code All Fail
10 Unknown result. All Check by hand, or call check status to get the final result
11 Other error All Fail
17 According to State Bank of Vietnam's regulations, it is forbidden to transfer money to non-verified users.You could show them to add bank accounts so that they can receive money from you. See more at: http://bit.ly/huongdan-nhantien All Fail
901 Invalid capset per transaction Confirm Fail
902 Invalid amount Verify Fail
903 Amount is not match Amount in verify and confirm is not match Fail
904 Reject by Momo rule Confirm Fail
905 Verify Request Id not found Confirm Fail
906 Invalid OTP Confirm Fail
907 Otp expired Confirm Fail
908 Otp retry exceed Confirm Fail
909 Invalid date All Fail
910 WalletId not match Confirm Fail
911 Amount too small Verify Fail
912 Amount too big Verify Fail
913 Request Id doesn't existed Confirm Fail
914 Verify request have been canceled Confirm Fail
915 Verify request have been finished Confirm Fail
916 Wallet haven't linked bank yet! Verify Fail

QR String

Get QR String on Momo app:

Step 1:


Step 2:


Step 3: Swipe to bottom


Step 4: