Company Mobile Payment Options

Use CompanyMobilePaymentOptions to fetch the full set of mobile money rails enabled on your merchant account (company-wide).

This is useful for configuration screens, pre-validating supported MNO + country pairs, or building a selector that later drives ChargeTokenMobile.

For token-specific options (amount/currency dependent), use GetMobilePaymentOptions.


Endpoint

POST https://secure.3gdirectpay.com/API/v6/

Headers

Content-Type: application/xml; charset=utf-8
Accept: application/xml

Request

Required Fields

FieldReqDescription
CompanyTokenYesYour merchant token
RequestYesMust be CompanyMobilePaymentOptions

Example Request (XML)

<?xml version="1.0" encoding="utf-8"?>
<API3G>
  <CompanyToken>YOUR_COMPANY_TOKEN</CompanyToken>
  <Request>CompanyMobilePaymentOptions</Request>
</API3G>

Response

On success, returns a <paymentoptionsmobile> list of <terminalmobile> entries.

Example Success Response (XML)

<?xml version="1.0" encoding="utf-8"?>
<API3G>
  <paymentoptionsmobile>
    <terminalmobile>
      <terminalredirecturi>0</terminalredirecturi>
      <terminaltype>Mobile</terminaltype>
      <terminalmno>SafaricomSTKv2</terminalmno>
      <terminalmnocountry>Kenya</terminalmnocountry>
    </terminalmobile>
    <terminalmobile>
      <terminalredirecturi>0</terminalredirecturi>
      <terminaltype>CL</terminaltype>
      <terminalmno>tigo</terminalmno>
      <terminalmnocountry>tanzania</terminalmnocountry>
    </terminalmobile>
  </paymentoptionsmobile>
</API3G>

Field Reference (per <terminalmobile>)

FieldDescription
terminalredirecturi1 = flow requires redirect to an operator URL; 0 = no redirect
terminaltypeTerminal/type label (e.g., Mobile, CL)
terminalmnoMobile Network Operator key (use with ChargeTokenMobile)
terminalmnocountryCountry name for this operator (e.g., Kenya, tanzania)

Note: terminalmno and terminalmnocountry values must match what your tenant expects in ChargeTokenMobile.


When to Use Which

  • CompanyMobilePaymentOptions → show all mobile methods enabled for your merchant (good for settings/config UI).
  • GetMobilePaymentOptions → show only methods valid for a specific token (amount/currency-dependent).

Typical Flow

flowchart TD
A[Admin/Config UI] -->|List rails| B[CompanyMobilePaymentOptions]
B --> C[Cache operator+country matrix]
C --> D[Checkout]
D -->|Per order/token| E[GetMobilePaymentOptions]
E --> F[Customer selects operator]
F --> G[ChargeTokenMobile]
G --> H[BackURL / verifyToken]

Usage Notes & Best Practices

  • Build a dropdown or card list from terminalmno + terminalmnocountry.
  • If terminalredirecturi=1, be prepared to open the operator URL when charging.
  • Keep a mapping (company-wide list) and cross-check it with token-specific options for each transaction.
  • Normalize country values (e.g., title-case) only in your UI; send values to the API exactly as returned.

Troubleshooting

SymptomLikely CauseFix
Empty listNo mobile rails enabled on merchantAsk DPO to enable operators for your account
You get XML 804Tag/encoding errorEnsure Request=CompanyMobilePaymentOptions and UTF-8
Operator rejected in ChargeTokenMobileMNO/country mismatch vs tenant configUse exact terminalmno + terminalmnocountry from this API