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
| Field | Req | Description |
|---|---|---|
CompanyToken | Yes | Your merchant token |
Request | Yes | Must 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>)
<terminalmobile>)| Field | Description |
|---|---|
terminalredirecturi | 1 = flow requires redirect to an operator URL; 0 = no redirect |
terminaltype | Terminal/type label (e.g., Mobile, CL) |
terminalmno | Mobile Network Operator key (use with ChargeTokenMobile) |
terminalmnocountry | Country name for this operator (e.g., Kenya, tanzania) |
Note:
terminalmnoandterminalmnocountryvalues must match what your tenant expects inChargeTokenMobile.
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
| Symptom | Likely Cause | Fix |
|---|---|---|
| Empty list | No mobile rails enabled on merchant | Ask DPO to enable operators for your account |
You get XML 804 | Tag/encoding error | Ensure Request=CompanyMobilePaymentOptions and UTF-8 |
Operator rejected in ChargeTokenMobile | MNO/country mismatch vs tenant config | Use exact terminalmno + terminalmnocountry from this API |

