Startbutton Product API
  • Startbutton API doc
    • Get Started
    • Accept Payments
    • Server-to-Server Integration
      • S2S Integration for Virtual Accounts
        • S2S Virtual account (NGN)
        • S2S Virtual account (GHS)
        • S2S EFT (ZAR)
      • S2S Integration for Mobile Money
        • S2S MoMo (KES and GHS)
        • S2S MoMo (TZS and UGX)
        • S2S MoMo (RWF)
        • S2S MoMo XOF and XAF
    • Re-charge Card
    • Subscriptions
    • Payment Links
    • Currency Conversion
    • Get Wallet Balance
    • Transfer
      • Bank List
    • Security Measures.
      • IP Whitelisting
    • Webhook
    • Transaction Status
    • Get FX Rate
    • Under and Overpayments
    • Refunds
      • Refund Transaction Status (TSQ)
    • Available Currencies
    • FAQs
  • Advanced Security
    • Signed Payload for Transfer Requests.
Powered by GitBook
On this page
  1. Startbutton API doc
  2. Server-to-Server Integration
  3. S2S Integration for Mobile Money

S2S MoMo (TZS and UGX)

Initiate S2S

Authorization
Set to Bearer PUBLIC_KEY

Content-Type

Set value to application/json

The public key can be gotten from the 'Settings' page on your Startbutton dashboard.

Post a request to the URL below, where the base URL is determined by the environment you are in.

BaseUrls

PROD : https://api.startbutton.tech

DEV/ Staging: https://api-dev.startbutton.tech

POST {{baseurl}}/transaction/initialize/s2s/mobile_money

Here's a sample request below

{
    "phone": "+255121212121",
    "email": "johndoe@startbutton.africa",
    "amount": 12000,
    "currency": "TZS"
}
{
    "phone": "+255121212121",
    "email": "johndoe@startbutton.africa",
    "amount": 12000,
    "currency": "TZS",
    "reference": "765jhgfyt6"
}
{
    "phone": "+255750000020",
    "email": "johndoe@startbutton.africa",
    "amount": 12000,
    "currency": "TZS"
}
{
    "phone": "+256101010111",
    "email": "johndoe@startbutton.africa",
    "amount": 120000,
    "currency": "UGX"
}
{
    "phone": "+256101010111",
    "email": "johndoe@startbutton.africa",
    "amount": 120000,
    "currency": "UGX",
    "reference": "jhgfdew4567"
}
{
    "phone": "+256760000010",
    "email": "johndoe@startbutton.africa",
    "amount": 120000,
    "currency": "UGX"
}

The amount should be in fractional units.

Currency
Minimum amount
Maximum amount

TZS

10000

300000000

UGX

50000

500000000

Here's a sample response

{
    "success": true,
    "message": "Payment initiated successfully!",
    "data": {
        "reference": "ffeaf8d13f71",
        "nextStep": "PIN"
    }
{
    "success": true,
    "message": "Payment initiated successfully!",
    "data": {
        "reference": "ccefb5efd193",
        "nextStep": "PIN"
    }
{
    "success": false,
    "message": "unknown provider"
}

The next step is always PIN for both TZS and UGX. Your users only need to enter their PIN on the prompt on their phone.

PreviousS2S MoMo (KES and GHS)NextS2S MoMo (RWF)

Last updated 2 months ago