Files
thijooree/docs/mibapi/08-transfer.md
Shihaam Abdul Rahman 256f216da4
All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 4s
update docs
2026-05-23 23:46:00 +05:00

4.7 KiB

Account Lookup & Transfer

Two-step process: look up the recipient to validate the account and get the holder name, then execute the transfer.

All endpoints are on the WebView subdomain. See README for cookie and AJAX header format.

Referer: https://faisamobilex-wv.mib.com.mv/transfer/quick

Step 1 — Account Lookup

The lookup endpoint depends on the format of the input:

Input format Endpoint Body field
Starts with 7, exactly 13 digits AjaxAlias/getIPSAccount benefAccount
Starts with 9, exactly 17 digits ajaxBeneficiary/getAccountName accountNo
Starts with 7 or 9, exactly 7 digits AjaxAlias/getAlias aliasName
Starts with A followed by 6 digits AjaxAlias/getAlias aliasName
Contains @ (email) AjaxAlias/getAlias aliasName

1a. IPS Account — BML / local bank (13 digits, starts with 7)

POST https://faisamobilex-wv.mib.com.mv/AjaxAlias/getIPSAccount

Body: benefAccount=7700000000000

Response:

{
  "success": true,
  "responseCode": "2",
  "accountName": "ACCOUNT HOLDER NAME",
  "bankBic": "MALBMVMV"
}
  • accountName — account holder name
  • bankBic — bank BIC (e.g. MALBMVMV for BML)
  • Account number is the input itself — not returned in response

Use bankNo=3 and transferLocal for the transfer.


1b. MIB Internal Account (17 digits, starts with 9)

POST https://faisamobilex-wv.mib.com.mv/ajaxBeneficiary/getAccountName

Body: accountNo=90100000000000000

Response:

{
  "success": true,
  "accountName": "ACCOUNT HOLDER NAME"
}
  • accountName may be at root level or inside a data object — check both
  • Bank is always MIB (MADVMVMV)

Use bankNo=2 and transferInternal for the transfer.


1c. Favara Alias — shortcodes, A-IDs, emails

POST https://faisamobilex-wv.mib.com.mv/AjaxAlias/getAlias

Body: aliasName=<alias>

Response:

{
  "success": true,
  "responseCode": "2",
  "data": {
    "BfyNm": "Account Holder Name",
    "CdtrAcct": {
      "Acct": "90100000000000000",
      "FinInstnId": "MADVMVMV"
    }
  }
}
  • BfyNm — beneficiary name (trim whitespace)
  • CdtrAcct.Acct — resolved account number to use for the transfer
  • CdtrAcct.FinInstnId — bank BIC (MADVMVMV = MIB, MALBMVMV = BML)

Use bankNo=2 (MIB) or 3 (BML/local) depending on FinInstnId, and the matching transfer endpoint.


Lookup Errors

All three lookup endpoints return success: false with a human-readable reasonText on failure:

{
  "success": false,
  "reasonText": "Account not found"
}

Always show reasonText directly to the user.


Step 2 — Execute Transfer

Two endpoints depending on the destination bank:

bankNo Endpoint Destination
2 ajaxTransfer/transferInternal MIB internal account
3 ajaxTransfer/transferLocal BML or other local bank
POST https://faisamobilex-wv.mib.com.mv/ajaxTransfer/transferInternal
POST https://faisamobilex-wv.mib.com.mv/ajaxTransfer/transferLocal

Request Body (form-urlencoded)

Field Description
benefName Recipient name (from lookup)
benefNo 0 (not a saved contact)
fromAccountNo Source account number
benefAccountNo Destination account number
transferCy Currency numeric code ("462" = MVR, "840" = USD)
benefCurrencyCode Same as transferCy
amount Amount as string (e.g. "100.00")
bankNo 2 = MIB internal, 3 = local/BML
purpose Transfer purpose; send "-" if blank
otp OTP from the user
otpType "3" (SMS/authenticator OTP)

Response — Success

{
  "success": true,
  "data": [
    {
      "trxId": "TRX20260516001",
      "date": "2026-05-16 15:10:25"
    }
  ]
}
Field Description
trxId Transaction ID
date Completion timestamp

Response — Failure

{
  "success": false,
  "reasonText": "Insufficient balance"
}

reasonText contains the error reason. On HTTP 419, the session has expired — re-login required.


Transfer Type Summary

Recipient Lookup endpoint bankNo Transfer endpoint
MIB (17-digit 9…) getAccountName 2 transferInternal
BML (13-digit 7…) getIPSAccount 3 transferLocal
Favara alias → MIB getAlias 2 transferInternal
Favara alias → BML getAlias 3 transferLocal

Currency Codes

transferCy Currency
"462" MVR (Maldivian Rufiyaa)
"840" USD

 


← Personal Profile     Next → Contacts