Total Bills Issued
45
Pending Payments
16
Paid Control Numbers
29
Total Revenue Collected
TZS 373,500
Control Number Payer / Member Description Amount (TZS) Status Issued Date Expires At Actions
Loading control numbers...
Real-Time Request & Webhook Transaction Logs
Timestamp Direction Endpoint / URL Method Status Inspect Details
Click Refresh to load logs.
Virtual ZanMalipo Configuration
Endpoint in your app (e.g. e-library) where ZanMalipo sends payment confirmations.
Asynchronous callback URL where ZanMalipo sends <billSubRes>.
Digital Certificates & PKI
Public X.509 Certificate used to verify ZanMalipo digital signatures (SHA256withRSA).

Integration Guide & Code Samples

You can integrate your application with this virtual ZanMalipo system using either the Standard ZanMalipo SP API v2.1 XML protocol or the Simple Direct REST JSON API.

Option A: Simple REST API (Recommended for Instant Python/Django Integration)
Generate Control Number:
POST http://127.0.0.1:8001/api/v1/control-number/generate
Content-Type: application/json

{
  "payer_name": "Amina Ali Omar",
  "phone_number": "255777123456",
  "amount": 15000,
  "description": "ZLSB Annual Membership",
  "days_valid": 30
}
Simulate Payment (Dispatches Webhook):
POST http://127.0.0.1:8001/api/v1/payment/simulate
Content-Type: application/json

{
  "control_number": "991283401426",
  "amount": 15000,
  "psp_code": "PBZ001",
  "psp_name": "People's Bank of Zanzibar (PBZ)",
  "payment_channel": "MB"
}
Option B: Official ZanMalipo XML SP API v2.1

Compliant with Section 4 of Government Electronic Payment Gateway Specification:

POST http://127.0.0.1:8001/api/bill/submission
Content-Type: application/xml
Gepg-Com: default
Gepg-Code: SP99128
Gepg-Alg: SHA256withRSA

<Gepg>
  <billSubReq>
    <BillHdr>
      <ReqId>REQ-20261027-001</ReqId>
      <SpGrpCode>SPG1000</SpGrpCode>
      <SysCode>SYS001</SysCode>
      <BillTyp>1</BillTyp>
      <PayTyp>2</PayTyp>
      <GrpBillId>BILL-001</GrpBillId>
    </BillHdr>
    <BillDtls>
      <BillDtl>
        <BillId>BILL-001</BillId>
        <SpCode>SP99128</SpCode>
        <BillDesc>Library Registration</BillDesc>
        <CustName>Fatma Juma</CustName>
        <CustCellNum>255778899001</CustCellNum>
        <BillAmt>15000.00</BillAmt>
        <Ccy>TZS</Ccy>
        <BillPayOpt>1</BillPayOpt>
      </BillDtl>
    </BillDtls>
  </billSubReq>
  <signature>...</signature>
</Gepg>