VerifyHQ Docs

Mobile Money Verification

Verify mobile money account ownership by confirming the account holder's name matches your user records. Supports MTN MoMo, Orange Money, Airtel Money, M-Pesa, Wave, and other major African mobile money providers.

Supported Providers
MTN Mobile Money (UEMOA/CEMAC), Orange Money, Airtel Money, M-Pesa (East Africa), Wave, Free Money, Moov Money, and 20+ additional providers.
POST/verifications/mobile-money

Verify ownership of a mobile money account by matching the registered name.

Request Body

ParameterTypeDescription
userIdrequiredstringYour internal user identifier
phoneNumberrequiredstringMobile money phone number in E.164 format
providerrequiredenumMTN_MOMO, ORANGE_MONEY, AIRTEL_MONEY, MPESA, WAVE, FREE_MONEY, MOOV_MONEY
countryrequiredstringISO 3166-1 alpha-2 country code
expectedNamestringExpected account holder name (for matching)

Code Examples

curl -X POST https://api.verifyhq.com/v1/verifications/mobile-money \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "user_123",
    "phoneNumber": "+2250700000000",
    "provider": "MTN_MOMO",
    "country": "CI",
    "expectedName": "Moussa Konaté"
  }'

Response

200 OKjson
{
  "id": "mm_abc123",
  "userId": "user_123",
  "phoneNumber": "+2250700000000",
  "provider": "MTN_MOMO",
  "status": "VERIFIED",
  "accountHolder": "MOUSSA KONATE",
  "nameMatch": true,
  "nameMatchScore": 0.96,
  "accountStatus": "ACTIVE",
  "verifiedAt": "2026-02-18T13:00:02Z"
}
GET/verifications/mobile-money/:id

Retrieve the status of a mobile money verification.

curl https://api.verifyhq.com/v1/verifications/mobile-money/mm_abc123 \
  -H "X-API-Key: your_api_key"

Response

200 OKjson
{
  "id": "mm_abc123",
  "userId": "user_123",
  "phoneNumber": "+2250700000000",
  "provider": "MTN_MOMO",
  "country": "CI",
  "status": "VERIFIED",
  "accountHolder": "MOUSSA KONATE",
  "nameMatch": true,
  "nameMatchScore": 0.96,
  "accountStatus": "ACTIVE",
  "verifiedAt": "2026-02-18T13:00:02Z",
  "createdAt": "2026-02-18T13:00:00Z"
}

Verification Statuses

ParameterTypeDescription
PENDINGstatusVerification request submitted, querying provider
VERIFIEDstatusAccount exists and name matches
NAME_MISMATCHstatusAccount found but name does not match expected name
NOT_FOUNDstatusNo mobile money account found for this number/provider
PROVIDER_ERRORstatusProvider API unavailable — retry later

Webhook Events

ParameterTypeDescription
mobile_money.verifiedeventMobile money account ownership confirmed
mobile_money.failedeventMobile money verification failed (mismatch or not found)