M-Pesa Tanzania 图标

M-Pesa Tanzania 钱包与账单数据 API

Vodacom Tanzania · 支付

M-Pesa Tanzania 是 Vodacom Tanzania 面向个人用户推出的移动支付应用,Google Play 包名为 com.vodafone.mpesa.tanzania,也是坦桑尼亚以坦桑尼亚先令(TZS)计价的 M-Pesa 钱包 Android 客户端。登录后,用户可通过 Tuma Pesa 向 Vodacom、Airtel、Halotel、TTCL、Mixx by Yas 和 AzamPesa 号码转账,向 Lipa kwa M-Pesa 商户付款,在代理点办理取现(Toa Pesa kwa Wakala),查看 M-Pesa 简版账单,为 Smile、Airtel、TTCL、Halotel 和 Vodacom 号码充值话费,缴纳 DStv、学费、保险、养老金及 TANESCO LUKU 预付电费,还可向 CRDB、NMB、NBC、Standard Chartered 等 39 家本地银行转入资金,支付以 9 开头的政府缴费控制号码,并在钱包余额不足时使用 Songesha 透支。开通时需使用坦桑尼亚手机号(可带 +255 或前导 0,主体以 6 或 7 开头、后接 8 位数字),验证来自 M-PESA 发件人的短信动态验证码,再设置 PIN;用户也可选择指纹或其他生物识别解锁。首页功能网格与法律条款页面均提供英语和斯瓦希里语版本。它是 Vodacom 在坦桑尼亚的默认 M-Pesa 客户端,与 Mixx by Yas、Airtel Money、HaloPesa、TPesa 和 AzamPesa 共同服务当地的 TZS 钱包用户。

发往 Mixx by Yas、HaloPesa 和 Airtel 的 Tuma Pesa 转账记录,通过 transID、networkCode 与 networkShortCode 关联交易及其跨网路由。钱包快照提供 availableBalance 和 currency;简版账单则为各笔交易列出 amount、transactionFee、runningBalance 与 endTime。启用电子账单后,屏幕上的交易历史最长可追溯 12 个月,PDF 电子账单的时间窗口则为六个月。

Lipa kwa M-Pesa 二维码数据用 creditPartyIdentifier 和 creditPartyName 标识收款商户,并列出 trxCode、amount 与 currencyCode。账单缴费记录组合 shortCode、billReference、paymentType 和 categoryType,其中 PAY_BILL 类型覆盖博彩、DStv、保险、学费和养老金等类别。39 家银行的目录还提供 accountNameCheck、accountNumberPrefix 与 accountNumberLabel,用于描述路由和户名核验支持情况,而不是给出已核实的收款人姓名。Songesha 配置包含 overdraftEnabled,以及 lukuOverdraftEnabled、governmentBillOverdraftEnabled 等分通道开关。文档列出的个人转账、商户付款、账单缴费、银行转入、LUKU 和政府缴费金额范围为 100–5,000,000 TZS;代理点取现的最低金额较高,为 200 TZS。

资金管理团队可结合交易标识与账单余额完成跨网对账,商户支付集成方可依据二维码中的收款方资料准备商户付款记录。账单聚合服务可通过 shortCode 和 categoryType 组织缴费商户;ERP 付款团队可依据银行目录标志,选择支持户名核验的通道。放贷团队可将透支启用状态与账单历史结合观察,但不能把开关状态视为已经使用 Songesha 的证据。openData Studio 将这些钱包、支付、目录和账单记录转化为可调用的开放数据,供上述集成使用。

应用截图

  • M-Pesa Tanzania 应用截图 1
  • M-Pesa Tanzania 应用截图 2
  • M-Pesa Tanzania 应用截图 3
  • M-Pesa Tanzania 应用截图 4
  • M-Pesa Tanzania 应用截图 5
  • M-Pesa Tanzania 应用截图 6
  • M-Pesa Tanzania 应用截图 7

API 端点一览

请求/响应示例为依据应用界面重构的示意示例,并非实时抓包。

  • 钱包余额快照

    GET /v1/mpesa-tz/wallet/balance openbanking

    读取首页以 TZS 计价的余额快照(availableBalance、runningBalance、overdraftEnabled),展示在 Tuma Pesa 与 Lipa kwa M-Pesa 功能网格上方。

    认证方式: 使用手机号短信动态验证码(短信发件人为 M-PESA)及 PIN 登录后取得的会话令牌。查看首页余额时无需再次输入 PIN。

    • msisdn
    • currency
    • fractionDigits
    • availableBalance
    • overdraftEnabled
    • runningBalance
    GET /v1/mpesa-tz/wallet/balance HTTP/1.1
    Authorization: Bearer <session-token>
    Accept: application/json
    {
      "msisdn": "255754100100",
      "currency": "TZS",
      "fractionDigits": 0,
      "availableBalance": 125000,
      "overdraftEnabled": true,
      "runningBalance": 125000
    }
  • 转账(Tuma Pesa)

    POST /v1/mpesa-tz/transfers/pay-person openbanking

    通过由 networkCode 和 networkShortCode 标识的跨网络通道提交 Tuma Pesa 个人转账,包括 VODACOM 001001、AIRTEL 922750、Mixx by Yas / TIGOPESA 922749、HALOTEL 922775 和 AzamPesa 922805。

    认证方式: 会话令牌加 PIN 确认。金额须介于 PAY_PERSON_TZS_MIN(100)与 PAY_PERSON_TZS_MAX(5000000)之间。

    • recipientMsisdn
    • amount
    • currency
    • networkCode
    • networkShortCode
    • description
    • transID
    • flow
    • network
    • status
    • runningBalance
    POST /v1/mpesa-tz/transfers/pay-person HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "recipientMsisdn": "255712345678",
      "amount": 25000,
      "currency": "TZS",
      "networkCode": "AIRTEL",
      "networkShortCode": "922750",
      "description": "School lunch"
    }
    {
      "transID": "TZN7X2K9L0",
      "flow": "PAY_PERSON",
      "network": "AIRTEL",
      "networkCode": "AIRTEL",
      "networkShortCode": "922750",
      "amount": 25000,
      "currency": "TZS",
      "status": "LIVE",
      "runningBalance": 100000
    }
  • Lipa kwa M-Pesa 商户付款

    POST /v1/mpesa-tz/payments/merchant openbanking

    按 tillNumber 向 Lipa kwa M-Pesa 商户付款,使用 payMerchantList 中的 M-Pesa、Airtel、Mixx by Yas、HaloPesa、TPesa、Selcom、AzamPesa 及 19 个银行钱包品牌通道。

    认证方式: 会话令牌加 PIN。商户收款编号的长度上限由 TILL_NUMBER_MAX_CHARACTERS 设为 16 位;金额范围为 100–5000000 TZS。

    • tillNumber
    • amount
    • currency
    • networkCode
    • networkQrCodeId
    • overdraftEnabled
    • transID
    • flow
    • network
    • status
    POST /v1/mpesa-tz/payments/merchant HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "tillNumber": "1234567",
      "amount": 15000,
      "currency": "TZS",
      "networkCode": "VODACOM",
      "networkQrCodeId": "02503",
      "overdraftEnabled": true
    }
    {
      "transID": "LIP8M3P1Q2",
      "flow": "PAY_MERCHANT",
      "tillNumber": "1234567",
      "network": "M-Pesa",
      "networkCode": "VODACOM",
      "amount": 15000,
      "currency": "TZS",
      "status": "LIVE"
    }
  • 按企业短码缴付账单

    POST /v1/mpesa-tz/payments/bill openbanking

    向状态为 LIVE 的企业 shortCode 缴付账单;98 家常用企业中有 62 家使用值为 PAY_BILL 的 paymentType,类别包括 CAT_Betting、CAT_DStv、CAT_Insurance、CAT_PaySchoolFees 和 CAT_Pension。

    认证方式: 会话令牌加 PIN。企业缴费金额范围为 100–5000000 TZS;钱包余额不足时可按 PAY_BUSINESS_OVERDRAFT_ENABLED 使用 Songesha 透支补足。

    • shortCode
    • billReference
    • amount
    • currency
    • paymentType
    • categoryType
    • transID
    • id
    • name
    • status
    POST /v1/mpesa-tz/payments/bill HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "shortCode": "340352",
      "billReference": "POL-4412",
      "amount": 45000,
      "currency": "TZS",
      "paymentType": "PAY_BILL",
      "categoryType": "CAT_Insurance"
    }
    {
      "transID": "BIL4R7S0T1",
      "id": "1791538519627",
      "name": "iINCOME FUND UNIT TRUST SCHEME",
      "shortCode": "340352",
      "billReference": "POL-4412",
      "paymentType": "PAY_BILL",
      "categoryType": "CAT_Insurance",
      "status": "LIVE",
      "amount": 45000,
      "currency": "TZS"
    }
  • 代理点取现

    POST /v1/mpesa-tz/withdrawals/agent openbanking

    通过 agentCode 标识的 Vodacom 代理点提取 TZS 现金(Toa Pesa kwa Wakala);当 WITHDRAW_AGENT_OVERDRAFT_ENABLED 为 true 时,可选择使用 Songesha 透支。

    认证方式: 会话令牌加 PIN。最低取现金额由 WITHDRAW_AGENT_TZS_MIN 设为 200 TZS,高于个人转账的下限;最高金额为 5000000 TZS。

    • agentCode
    • amount
    • currency
    • overdraftEnabled
    • transID
    • flow
    • status
    • runningBalance
    POST /v1/mpesa-tz/withdrawals/agent HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "agentCode": "123456",
      "amount": 50000,
      "currency": "TZS",
      "overdraftEnabled": true
    }
    {
      "transID": "WTH2A8B3C4",
      "flow": "WITHDRAW_AGENT",
      "agentCode": "123456",
      "amount": 50000,
      "currency": "TZS",
      "status": "COMPLETED",
      "runningBalance": 75000
    }
  • M-Pesa 简版账单

    POST /v1/mpesa-tz/statements/mini openbanking

    为 Taarifa ya M-Pesa 账单页面及可选的 PDF 导出分页提供交易记录,字段包括 transID、flow、amount、transactionFee、runningBalance 和 counterparty。

    认证方式: 使用登录后的会话令牌。电子账单 PDF 覆盖 6 个月;当 FEATURE_E_STATEMENTS_ENABLED 为 true 时,屏幕中的交易历史可追溯至 12 个月。

    • msisdn
    • startDate
    • endDate
    • currency
    • transID
    • flow
    • amount
    • transactionFee
    • runningBalance
    • counterparty
    • networkCode
    • endTime
    POST /v1/mpesa-tz/statements/mini HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "msisdn": "255754100100",
      "startDate": "2026-09-01",
      "endDate": "2026-10-23",
      "currency": "TZS"
    }
    {
      "currency": "TZS",
      "entries": [
        {
          "transID": "TZN7X2K9L0",
          "flow": "PAY_PERSON",
          "amount": 25000,
          "transactionFee": 200,
          "runningBalance": 100000,
          "counterparty": "255712345678",
          "networkCode": "AIRTEL",
          "endTime": "2026-10-17T08:41:12+03:00"
        }
      ]
    }
  • 转入银行目录

    GET /v1/mpesa-tz/banks opendata

    返回用于银行转入的 39 家银行目录,包含 name、shortCode 和 accountNameCheck;转入金额范围为 100–5000000 TZS,由 PAY_INTO_BANK_TZS_MIN/MAX 指定。

    认证方式: 使用登录后的会话令牌。向目录中的银行转入资金仍需 PIN;此调用仅返回目录。

    • version
    • name
    • shortCode
    • accountNameCheck
    • accountNumberPrefix
    • accountNumberLabel
    GET /v1/mpesa-tz/banks HTTP/1.1
    Authorization: Bearer <session-token>
    Accept: application/json
    {
      "version": 42,
      "banks": [
        {
          "name": "Standard Chartered",
          "shortCode": "922827",
          "accountNameCheck": true,
          "accountNumberPrefix": null,
          "accountNumberLabel": null
        },
        {
          "name": "NMB",
          "shortCode": "922xxx",
          "accountNameCheck": true,
          "accountNumberPrefix": null,
          "accountNumberLabel": null
        }
      ]
    }
  • 跨网络收款通道

    GET /v1/mpesa-tz/networks opendata

    列出个人转账、话费充值和商户付款可用的 LIVE 跨网络通道,提供 network、networkCode、networkShortCode 和 networkQrCodeId,供转账与付款选项确定跨网路由。

    认证方式: 使用登录后的会话令牌。查询目录无需 PIN。

    • version
    • id
    • network
    • networkCode
    • networkShortCode
    • networkQrCodeId
    • status
    • order
    • payPersonList
    • payAirtimeList
    • payMerchantList
    GET /v1/mpesa-tz/networks HTTP/1.1
    Authorization: Bearer <session-token>
    Accept: application/json
    {
      "version": 135,
      "payPersonList": [
        {"id": "PAY_PERSON-VODACOM-2", "network": "VODACOM", "networkCode": "VODACOM", "networkShortCode": "001001", "status": "LIVE", "order": 0}
      ],
      "payAirtimeList": [
        {"id": "PAY_AIRTIME-SMILE-1", "network": "SMILE", "networkCode": "SMILE", "networkQrCodeId": "02503", "networkShortCode": "001001", "status": "LIVE", "order": 0}
      ],
      "payMerchantList": [
        {"id": "PAY_MERCHANT-VODACOM-1", "network": "M-Pesa", "networkCode": "VODACOM", "networkQrCodeId": "02503", "networkShortCode": "001001", "status": "LIVE", "order": 0}
      ]
    }
  • 解析 Lipa kwa M-Pesa 二维码

    POST /qr/v1/qr-codes/decode openbanking

    在商户付款输入 PIN 之前,将扫描的 Lipa kwa M-Pesa 商户二维码解析为 creditPartyIdentifier(商户收款编号)、creditPartyName、trxCode、amount 及 EMV 风格的 additionalParameters,后者包含 storeID、terminalID 和 orgShortCode。

    认证方式: OAuth2 客户端凭据流程使用 client_id、client_secret、grant_type 和 scope 换取 accessToken,再将其作为 Bearer 令牌用于二维码调用。用户在解析完成后、付款之前输入 PIN。

    • qrString
    • market
    • responseCode
    • responseMsg
    • referenceID
    • description
    • amount
    • creditPartyIdentifier
    • creditPartyName
    • trxCode
    • countryCode
    • currencyCode
    • merchantCCode
    • merchantLoc
    • qrType
    • qrFormat
    • refNo
    • channelID
    • networkID
    • storeID
    • terminalID
    • orgShortCode
    • mobileNumber
    • loyaltyNo
    POST /qr/v1/qr-codes/decode HTTP/1.1
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "qrString": "0002010102110216...",
      "market": "TZ"
    }
    {
      "responseCode": "0",
      "responseMsg": "Success",
      "referenceID": "QR-88921",
      "description": "Merchant QR",
      "qrData": {
        "amount": 15000,
        "creditPartyIdentifier": "1234567",
        "creditPartyName": "DUKA LA JANE",
        "trxCode": "BG",
        "countryCode": "TZ",
        "currencyCode": "TZS",
        "merchantCCode": "5411",
        "merchantLoc": "Dar es Salaam",
        "qrType": "STATIC",
        "qrFormat": "EMV",
        "refNo": "INV-1022",
        "channelID": "1",
        "networkID": "1",
        "additionalParameters": {
          "storeID": "ST-01",
          "terminalID": "T-04",
          "orgShortCode": "123456",
          "mobileNumber": "255754100100",
          "loyaltyNo": null
        }
      }
    }
  • 话费充值

    POST /v1/mpesa-tz/airtime/topup openbanking

    通过 payAirtimeList 中的 SMILE、AIRTEL、TTCL、HALOTEL 或 VODACOM 通道为手机号充值,通道由 networkCode 和 networkQrCodeId 标识。

    认证方式: 会话令牌加 PIN。

    • msisdn
    • amount
    • currency
    • networkCode
    • networkQrCodeId
    • transID
    • id
    • network
    • status
    POST /v1/mpesa-tz/airtime/topup HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "msisdn": "255754100100",
      "amount": 2000,
      "currency": "TZS",
      "networkCode": "VODACOM",
      "networkQrCodeId": "02503"
    }
    {
      "transID": "AIR9D1E2F3",
      "id": "PAY_AIRTIME-VODACOM-1",
      "network": "VODACOM",
      "networkCode": "VODACOM",
      "amount": 2000,
      "currency": "TZS",
      "status": "LIVE"
    }
  • Songesha 透支配置

    GET /v1/mpesa-tz/overdraft/profile openfinance

    读取 Songesha 透支开关和 TZS 金额范围,确定钱包余额不足时个人转账、商户付款、账单缴费、代理点取现、LUKU 预付电费及政府缴费能否使用透支。

    认证方式: 使用登录后的会话令牌。付款时使用 Songesha 透支仍需 PIN。

    • currency
    • overdraftEnabled
    • payPersonOverdraftEnabled
    • payMerchantOverdraftEnabled
    • payBusinessOverdraftEnabled
    • withdrawAgentOverdraftEnabled
    • lukuOverdraftEnabled
    • governmentBillOverdraftEnabled
    • governmentBillTzsMin
    • governmentBillTzsMax
    • lukuTzsMin
    • lukuTzsMax
    GET /v1/mpesa-tz/overdraft/profile HTTP/1.1
    Authorization: Bearer <session-token>
    Accept: application/json
    {
      "currency": "TZS",
      "overdraftEnabled": true,
      "payPersonOverdraftEnabled": true,
      "payMerchantOverdraftEnabled": true,
      "payBusinessOverdraftEnabled": true,
      "withdrawAgentOverdraftEnabled": true,
      "lukuOverdraftEnabled": true,
      "governmentBillOverdraftEnabled": true,
      "governmentBillTzsMin": 100,
      "governmentBillTzsMax": 5000000,
      "lukuTzsMin": 100,
      "lukuTzsMax": 5000000
    }

数据类别

  • 余额
  • 转账
  • 商户付款
  • 账单缴费
  • 交易账单
  • 银行
  • 话费
  • 透支

数据使用场景与案例

  • 跨网络个人转账对账

    资金管理机器人按 transID、networkCode 和 networkShortCode,将 Tuma Pesa 转账记录与 Mixx by Yas、Airtel、HaloPesa 和 AzamPesa 对手方匹配,再以 TZS 计价的 runningBalance 完成日终核对。

  • 商户收款与账单缴费接入

    收单机构将 Lipa kwa M-Pesa 二维码解析为 creditPartyIdentifier、trxCode 和 amount,再对接 DStv、学费与保险缴费记录中的 shortCode、billReference 和 paymentType。

  • 转入银行前核对账户名称

    ERP 付款流程先查询含 shortCode 和 accountNameCheck 的 39 家银行目录,再向 CRDB、NMB、NBC 或 Standard Chartered 发起 100–5,000,000 TZS 的转入,并跳过无法确认账户名称的通道。

  • Songesha 透支与 LUKU 资金缺口跟踪

    放贷机构将 overdraftEnabled、lukuOverdraftEnabled、governmentBillOverdraftEnabled 与简版账单的 runningBalance 一起观察,识别 Songesha 何时用于补足 LUKU 预付电费或 GePG 政府缴费控制号码的支付缺口。

常见问题

哪些 M-Pesa Tanzania 字段可识别跨网转账?

Tuma Pesa 记录包含 network、networkCode、networkShortCode,以及 transID、amount、currency 和 runningBalance。文档中的 networkCode/networkShortCode 配对包括 AIRTEL/922750、Mixx by Yas 对应的 TIGOPESA/922749、HALOTEL/922775 和 AzamPesa/922805。账单记录还提供 transactionFee 与 endTime,支持以 TZS 计价的交易对账。

Lipa kwa M-Pesa 扫码结果如何对应商户付款?

商户二维码解析结果包括 creditPartyIdentifier(商户收款编号)、creditPartyName、trxCode、amount 和 currencyCode,并以 storeID、terminalID、orgShortCode 补充商户信息。商户付款使用 tillNumber,需要已登录的会话并通过 PIN 确认。仅解析二维码并不表示已完成付款。

哪些银行和缴费目录可用于付款?

银行转入目录覆盖 39 家银行,列出 name、shortCode、accountNameCheck、accountNumberPrefix 和 accountNumberLabel。accountNameCheck 表示是否支持户名核验,并非已核实的收款人姓名。账单缴费记录将 shortCode 与 billReference、paymentType、categoryType 配对,其中包含 PAY_BILL 缴费类型。文档列出的政府缴费控制号码格式以 9 开头。

Songesha 透支是否适用于所有支付通道?

配置除 overdraftEnabled 外,还分别提供 payPersonOverdraftEnabled、payMerchantOverdraftEnabled、payBusinessOverdraftEnabled、withdrawAgentOverdraftEnabled、lukuOverdraftEnabled 和 governmentBillOverdraftEnabled。这些字段表示透支启用状态,不是实际借款记录。文档列出的 LUKU 和政府缴费金额范围为 100–5,000,000 TZS;代理点取现最低为 200 TZS,最高为 5,000,000 TZS。

与 M-Pesa Tanzania 相似的应用

  • Mixx by Yas — Mixx Super App 是 Mixx by Yas 在坦桑尼亚的手机钱包客户端,用来查看余额、转账、充话费、缴账单以及把资金转到银行。
  • Airtel Money — Airtel Money 是 Airtel 在坦桑尼亚的手机钱包,Mixx by Yas 将其与 M-Pesa、T-Pesa、HaloPesa 并列,作为可互转的收款网络。
  • HaloPesa — HaloPesa 是越南 Viettel 旗下 Halotel 在坦桑尼亚的手机钱包服务,该公司于 2015 年取得移动货币牌照。
  • T-PESA — T-PESA 是坦桑尼亚电信公司 TTCL 的手机钱包应用,官方说明覆盖向任意网络转账、代理取现、缴账单与政府款项、自助充值以及向银行转账。
  • AzamPesa — AzamPesa 是 AzamPay 面向坦桑尼亚个人与商户的电子钱包,可跨网络收发、缴水电与政府费用、充话费,并在钱包与银行之间划转资金。
  • My OneApp — My OneApp 是 Safaricom 在肯尼亚的 M-PESA 客户端;该服务由 Vodafone 与 Safaricom 于 2007 年在肯尼亚推出,之后 Vodacom 在坦桑尼亚推出 M-Pesa。

相关主题

  • M-Pesa Tanzania 数据 API
  • Vodacom M-Pesa TZS 钱包字段
  • Tuma Pesa 转账数据
  • Lipa kwa M-Pesa 商户二维码数据
  • M-Pesa 简版账单字段
  • 坦桑尼亚银行转入目录
  • M-Pesa 缴费参考号
  • Songesha 透支设置
  • LUKU TANESCO 缴费限额

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价