Issue #310 — Balance Not Found for FASTag & NCMC Operators
Display values analysis: MDM config vs operator response vs what we read
Note: FE looks for label "Current Balance" as per fastag_balance_key in PID config.
Mapping is case-sensitive exact match. Empty values are not added to displayValues.
CID 207075 | FASTag
All PIDs below share the same 9 MDM display fields and the same key lists in display_values config.
MDM keys reference (FASTag — same for all PIDs below):
- Name:
response.logs.response.billlist[0].customer_name
- Current Balance:
Current Balance, FASTag Balance, FASTAG Balance, Wallet Balance, Fast Tag Balance, Wallet balance, Available Balance
- Min Recharge:
Minimum Recharge Amount, MinimumRechargeAmount, Minimum Amount for Top - Up, Minimum Top-up Amount
- Max Recharge:
Maximum Permissible Recharge Amount, Maximum Recharge Amount, Available Recharge Limit
- Tag Status:
Tag Status, status
- Vehicle Class:
Vehicle Class, vehicleClassDesc, vehicleClass
- Vehicle Model:
Model of the vehicle, Vehicle Model
- Account number:
Account No
- Tag ID:
tagId
Balance / Min / Max / Tag Status / Vehicle Class / Vehicle Model keys are read from additionalIinfoArray[parameter_name] (first non-empty match in order).
467017192 — AUBA00000NATOF — AU Small Finance Bank
Sample Operator Validate Response
Source: PPSL validate · 2026-06-25 10:45:11 · Vehicle: RJ13CB9099
{
"status": "SUCCESS",
"response": {
"validationid": "fa43421bc43f4458bba8184d431d0f3c",
"billerid": "AUBA00000NATOF",
"biller_name": "AU Bank Fastag",
"biller_category": "Fastag",
"billlist": [{
"billstatus": "UNPAID",
"net_billamount": "100",
"customer_name": "NORAT GEHLOT",
"billamount": "100"
}],
"additional_info": [
{ "parameter_name": "Maximum Permissible Recharge Amount", "value": "10000" },
{ "parameter_name": "Tag Status", "value": "Active" },
{ "parameter_name": "Wallet Balance", "value": "480" }
],
"authenticators": [
{ "parameter_name": "Vehicle Registration Number or Wallet ID", "value": "RJ13CB9099" }
],
"valid_until": "25-06-2026 23:59:59"
}
}
| Display Label |
Config Reads (key/path) |
Operator Sends |
We Read |
Status |
| Name | response.logs.response.billlist[0].customer_name | customer_name = NORAT GEHLOT | NORAT GEHLOT | ✅ |
| Current Balance | Current Balance, FASTag Balance, FASTAG Balance, Wallet Balance, Fast Tag Balance, Wallet balance, Available Balance | Wallet Balance = 480 | 480 | ✅ |
| Min Recharge | Minimum Recharge Amount, MinimumRechargeAmount, Minimum Amount for Top - Up, Minimum Top-up Amount | — | — | ❌ not sent |
| Max Recharge | Maximum Permissible Recharge Amount, Maximum Recharge Amount, Available Recharge Limit | Maximum Permissible Recharge Amount = 10000 | 10000 | ✅ |
| Tag Status | Tag Status, status | Tag Status = Active | Active | ✅ |
| Vehicle Class | Vehicle Class, vehicleClassDesc, vehicleClass | — | — | ❌ not sent |
| Vehicle Model | Model of the vehicle, Vehicle Model | — | — | ❌ not sent |
| Account number | Account No | — | — | ❌ not sent |
| Tag ID | tagId | — | — | ❌ not sent |
Expected displayValues: Name, Current Balance, Max Recharge, Tag Status (4 fields)
467017237 — SOUT00000NAT99 — South Indian Bank
Sample Operator Validate Response
Source: PPSL validate · 2026-06-25 10:32:07 · Vehicle: TN07BX0027
{
"status": "SUCCESS",
"response": {
"validationid": "a5144fed8e1644a6a3bc0521edf298ba",
"billerid": "SOUT00000NAT99",
"biller_name": "South Indian Bank Fastag",
"biller_category": "Fastag",
"billlist": [{
"billstatus": "UNPAID",
"billperiod": "MONTHLY",
"net_billamount": "10000",
"billamount": "10000"
}],
"additional_info": [
{ "parameter_name": "OrderId", "value": "3400006" },
{ "parameter_name": "Account No", "value": "CA2111000059865" },
{ "parameter_name": "Current Balance", "value": "1956.0" },
{ "parameter_name": "Maximum Recharge Amount", "value": "98044.0" },
{ "parameter_name": "Vehicle Class", "value": "VC4" }
],
"authenticators": [
{ "parameter_name": "Vehicle Registration Number ID", "value": "TN07BX0027" }
],
"valid_until": "25-06-2026 23:59:59"
}
}
| Display Label |
Config Reads (key/path) |
Operator Sends |
We Read |
Status |
| Name | response.logs.response.billlist[0].customer_name | — (missing in billlist) | — | ❌ not sent |
| Current Balance | Current Balance, FASTag Balance, FASTAG Balance, Wallet Balance, Fast Tag Balance, Wallet balance, Available Balance | Current Balance = 1956.0 | 1956.0 | ✅ |
| Min Recharge | Minimum Recharge Amount, MinimumRechargeAmount, Minimum Amount for Top - Up, Minimum Top-up Amount | — | — | ❌ not sent |
| Max Recharge | Maximum Permissible Recharge Amount, Maximum Recharge Amount, Available Recharge Limit | Maximum Recharge Amount = 98044.0 | 98044.0 | ✅ |
| Tag Status | Tag Status, status | — | — | ❌ not sent |
| Vehicle Class | Vehicle Class, vehicleClassDesc, vehicleClass | Vehicle Class = VC4 | VC4 | ✅ |
| Vehicle Model | Model of the vehicle, Vehicle Model | — | — | ❌ not sent |
| Account number | Account No | Account No = CA2111000059865 | CA2111000059865 | ✅ |
| Tag ID | tagId | — | — | ❌ not sent |
Expected displayValues: Current Balance, Max Recharge, Vehicle Class, Account number (4 fields)
Unmapped operator data (no config): OrderId = 3400006
653438531 — BLAC00015NATKL — Blackbuck
Sample Operator Validate Response
Source: PPSL validate · 2026-06-25 10:44:47 · Vehicle: PB03BP8864
{
"status": "SUCCESS",
"response": {
"validationid": "be15b1af5b494281b41a2e6084b44e3b",
"billerid": "BLAC00015NATKL",
"biller_name": "BlackBuck FASTag (TZF Logistics)",
"biller_category": "Fastag",
"billlist": [{
"billstatus": "UNPAID",
"billperiod": "MONTHLY",
"net_billamount": "10000",
"customer_name": "AMAN KUMAR",
"billamount": "10000",
"billduedate": "2026-06-26",
"billdate": "2026-06-25"
}],
"additional_info": [
{ "parameter_name": "Current Wallet Balance", "value": "INR 3482.44" },
{ "parameter_name": "Maximum Recharge Amount", "value": "INR 148700.0" },
{ "parameter_name": "Minimum Recharge Amount", "value": "INR 200.0" },
{ "parameter_name": "Tag Class", "value": "VC12" },
{ "parameter_name": "Tag Status", "value": "ACTIVE" }
],
"authenticators": [
{ "parameter_name": "Vehicle Number / Mobile Number", "value": "PB03BP8864" }
],
"valid_until": "25-06-2026 23:59:59"
}
}
| Display Label |
Config Reads (key/path) |
Operator Sends |
We Read |
Status |
| Name | response.logs.response.billlist[0].customer_name | customer_name = AMAN KUMAR | AMAN KUMAR | ✅ |
| Current Balance | Current Balance, FASTag Balance, FASTAG Balance, Wallet Balance, Fast Tag Balance, Wallet balance, Available Balance | Current Wallet Balance = INR 3482.44 | — | ❌ key not in config list |
| Min Recharge | Minimum Recharge Amount, MinimumRechargeAmount, Minimum Amount for Top - Up, Minimum Top-up Amount | Minimum Recharge Amount = INR 200.0 | INR 200.0 | ✅ |
| Max Recharge | Maximum Permissible Recharge Amount, Maximum Recharge Amount, Available Recharge Limit | Maximum Recharge Amount = INR 148700.0 | INR 148700.0 | ✅ |
| Tag Status | Tag Status, status | Tag Status = ACTIVE | ACTIVE | ✅ |
| Vehicle Class | Vehicle Class, vehicleClassDesc, vehicleClass | Tag Class = VC12 | — | ❌ key not in config list |
| Vehicle Model | Model of the vehicle, Vehicle Model | — | — | ❌ not sent |
| Account number | Account No | — | — | ❌ not sent |
| Tag ID | tagId | — | — | ❌ not sent |
Expected displayValues: Name, Min Recharge, Max Recharge, Tag Status (4 fields) — Current Balance & Vehicle Class missing
Fix: Add Current Wallet Balance to balance list and Tag Class to Vehicle Class list.
467017242 — UCOB00000NATEH — UCO Bank
Sample Operator Validate Response
Source: PPSL validate · 2026-06-25 08:19:08 · Vehicle: UP42AA1608
{
"status": "SUCCESS",
"response": {
"validationid": "e5723373e22b4984be8f97b2f991b491",
"billerid": "UCOB00000NATEH",
"biller_name": "UCO Bank FASTag",
"biller_category": "Fastag",
"billlist": [{
"billstatus": "UNPAID",
"net_billamount": "10000",
"customer_name": "Manoj kumar Verma",
"billamount": "10000"
}],
"additional_info": [
{ "parameter_name": "Minimum Recharge Amount", "value": "100.0" },
{ "parameter_name": "FASTAG Balance", "value": "690.0" },
{ "parameter_name": "Maximum Permissible Recharge Amount", "value": "9310.0" }
],
"authenticators": [
{ "parameter_name": "Vehicle Registration Number/Wallet Number", "value": "UP42AA1608" }
],
"valid_until": "25-06-2026 23:59:59"
}
}
| Display Label |
Config Reads (key/path) |
Operator Sends |
We Read |
Status |
| Name | response.logs.response.billlist[0].customer_name | customer_name = Manoj kumar Verma | Manoj kumar Verma | ✅ |
| Current Balance | Current Balance, FASTag Balance, FASTAG Balance, Wallet Balance, Fast Tag Balance, Wallet balance, Available Balance | FASTAG Balance = 690.0 | 690.0 | ✅ |
| Min Recharge | Minimum Recharge Amount, MinimumRechargeAmount, Minimum Amount for Top - Up, Minimum Top-up Amount | Minimum Recharge Amount = 100.0 | 100.0 | ✅ |
| Max Recharge | Maximum Permissible Recharge Amount, Maximum Recharge Amount, Available Recharge Limit | Maximum Permissible Recharge Amount = 9310.0 | 9310.0 | ✅ |
| Tag Status | Tag Status, status | — | — | ❌ not sent |
| Vehicle Class | Vehicle Class, vehicleClassDesc, vehicleClass | — | — | ❌ not sent |
| Vehicle Model | Model of the vehicle, Vehicle Model | — | — | ❌ not sent |
| Account number | Account No | — | — | ❌ not sent |
| Tag ID | tagId | — | — | ❌ not sent |
Expected displayValues: Name, Current Balance, Min Recharge, Max Recharge (4 fields)
467017230 — JAMM00000NATWB — Jammu & Kashmir Bank
Sample Operator Validate Response
Source: PPSL validate · 2026-06-25 09:50:22 · Vehicle: JK02CT3967
{
"status": "SUCCESS",
"response": {
"validationid": "1a9185046f1e479fb8a477a980fcd360",
"billerid": "JAMM00000NATWB",
"biller_name": "Jammu and Kashmir Bank FASTag",
"biller_category": "Fastag",
"billlist": [{
"billstatus": "UNPAID",
"net_billamount": "10000",
"customer_name": "VIJAY KUMAR SEHGAL",
"billamount": "10000"
}],
"additional_info": [
{ "parameter_name": "Tag status", "value": "Active" },
{ "parameter_name": "Maximum permissible recharge amount", "value": "2000.0" },
{ "parameter_name": "Wallet balance", "value": "675.0" }
],
"authenticators": [
{ "parameter_name": "Vehicle Registration Number/Wallet Number", "value": "JK02CT3967" }
],
"valid_until": "25-06-2026 23:59:59"
}
}
| Display Label |
Config Reads (key/path) |
Operator Sends |
We Read |
Status |
| Name | response.logs.response.billlist[0].customer_name | customer_name = VIJAY KUMAR SEHGAL | VIJAY KUMAR SEHGAL | ✅ |
| Current Balance | Current Balance, FASTag Balance, FASTAG Balance, Wallet Balance, Fast Tag Balance, Wallet balance, Available Balance | Wallet balance = 675.0 | 675.0 | ✅ |
| Min Recharge | Minimum Recharge Amount, MinimumRechargeAmount, Minimum Amount for Top - Up, Minimum Top-up Amount | — | — | ❌ not sent |
| Max Recharge | Maximum Permissible Recharge Amount, Maximum Recharge Amount, Available Recharge Limit | Maximum permissible recharge amount = 2000.0 | — | ❌ case mismatch |
| Tag Status | Tag Status, status | Tag status = Active | — | ❌ case mismatch |
| Vehicle Class | Vehicle Class, vehicleClassDesc, vehicleClass | — | — | ❌ not sent |
| Vehicle Model | Model of the vehicle, Vehicle Model | — | — | ❌ not sent |
| Account number | Account No | — | — | ❌ not sent |
| Tag ID | tagId | — | — | ❌ not sent |
Expected displayValues: Name, Current Balance (2 fields) — Max Recharge & Tag Status lost due to case mismatch
Fix: Add Maximum permissible recharge amount and Tag status to respective config lists.
CID 291373 | NCMC Recharge
653419561 — PNBN00015NAT9A — PNB Credit Card NCMC
Sample Operator Validate Response
Source: BillDesk validate · 2026-06-24 11:02:23 · Card last 4: 9234 · Mobile: 9971349239
{
"validationid": "HGE1VP2FDGTOMVPPWU1S",
"billerid": "PNBN00015NAT9A",
"biller_name": "PNB NCMC Credit Card",
"biller_category": "NCMC Recharge",
"validation_date": "24-06-2026 11:02:22",
"authenticators": [
{ "parameter_name": "Last 4 digits of Card", "value": "9234" },
{ "parameter_name": "Mobile Number", "value": "9971349239" }
],
"additional_info": [
{ "parameter_name": "Current Card Balance", "value": "1" },
{ "parameter_name": "Maximum Permissible Recharge Amount", "value": "2000" },
{ "parameter_name": "Minimum Permissible Recharge Amount", "value": "100" },
{ "parameter_name": "Biller Platform Fee [Rs.] + GST", "value": "1.18" }
],
"valid_until": "25-06-2026 23:59:59"
}
MDM keys reference (NCMC):
- Current Balance:
Current Card balance
- Minimum Recharge:
Minimum Permissible Recharge Amount
- Maximum Recharge:
Maximum Permissible Recharge Amount
All keys read from additionalIinfoArray[parameter_name].
| Display Label |
Config Reads (key/path) |
Operator Sends |
We Read |
Status |
| Current Balance | Current Card balance | Current Card Balance = 1 | — | ❌ case typo (balance vs Balance) |
| Minimum Recharge | Minimum Permissible Recharge Amount | Minimum Permissible Recharge Amount = 100 | 100 | ✅ |
| Maximum Recharge | Maximum Permissible Recharge Amount | Maximum Permissible Recharge Amount = 2000 | 2000 | ✅ |
Expected displayValues: Minimum Recharge, Maximum Recharge (2 fields) — Current Balance missing
Unmapped operator data (no config): Biller Platform Fee [Rs.] + GST = 1.18
Fix: Change config key from Current Card balance → Current Card Balance
Overall Summary
| PID |
Biller ID |
Operator |
Config Fields |
Successfully Read |
Failed / Missing |
| 467017192 |
AUBA00000NATOF |
AU Bank |
9 |
4 — Name, Balance, Max, Tag Status |
5 not sent by operator |
| 467017237 |
SOUT00000NAT99 |
South Indian Bank |
9 |
4 — Balance, Max, Vehicle Class, Account |
Name not sent; 4 fields not sent |
| 653438531 |
BLAC00015NATKL |
Blackbuck |
9 |
4 — Name, Min, Max, Tag Status |
Balance & Vehicle Class — key mismatch |
| 467017242 |
UCOB00000NATEH |
UCO Bank |
9 |
4 — Name, Balance, Min, Max |
5 not sent by operator |
| 467017230 |
JAMM00000NATWB |
J&K Bank |
9 |
2 — Name, Balance |
Max & Tag Status — case mismatch; 5 not sent |
| 653419561 |
PNBN00015NAT9A |
PNB NCMC |
3 |
2 — Min, Max Recharge |
Balance — case typo in config |
Key takeaway: Mapping is case-sensitive exact match. 3 PIDs need MDM config fix — Blackbuck (653438531), J&K Bank (467017230), PNB NCMC (653419561). Remaining PIDs are either fully mapped or operator does not send those fields.