HP PAY data API
HP PAY is the official consumer app from Hindustan Petroleum Corporation Ltd., the Indian state-owned oil marketer behind HP petrol pumps and the HP Gas LPG brand. Motorists keep a prepaid fuel wallet for QR and Instafuel paycode checkout at HP outlets, pay with UPI, look up nearby pumps, and check FASTag balances on ICICI and IDFC tags. HP Gas households book domestic cylinder refills, complete Aadhaar e-KYC by OTP or biometric, register Navya 5 kg and 10 kg cylinders, raise Suvidha and safety-inspection requests, and pay piped-natural-gas bills. Loyalty sits as Happy coins, lubes coins and Zillion / payback points, with ChargeGrid EV charging also on the home grid. The app is India-only, holds a 3.97 rating across 88,144 Google Play ratings and 10 million-plus installs, and is HPCL's counterpart to IndianOil ONE and Bharat Petroleum's HelloBPCL / Bharatgas apps.
Instafuel paycodes sit on the same HPCL customer row as wallet_balance, active_Paycode_Balance, point_balance and payback_Points, keyed by customer_id and user_mobile. Wallet passbook lines then split a pump fill from an LPG booking: transactionId, amount, balance, merchantName, product, volume and odometerReading on fuel, upiPayeeVpa / upiTxnId / upiTxnStatus on UPI, and lpgRefillOrderNo / lpgCosumerNo when the same ledger pays a cylinder. Daily and monthly caps arrive as dailyRechargeLimit, dailySaleLimit, monthlyRechargeLimit and perTransactionSaleLimit.
HP Gas consumer records key on UniqueConsumerId with consumerNumber, consumerName, CylinderType, ConsumerType, isValidForRefill, isValidForPayment, refillPaymentAmount and onlinePaymentDiscountAmount, plus the assigned OrderDealerCode / OrderDealerName. Refill history then lists refillOrderNum, refillOrderStatus, refillDelivDate, cashMemoNo and refillSubsidizedStatus. Piped-gas bills hang off bp_number with bill_no, amount, bill_due_date and crn; FASTag lookups return HexTagId, Balance, CustomerName and IsSuccess for a vehicleNumber; nearby pumps expose SAPCode, Merchant_Name, Merchant_Latitude, Distance_in_Meter and posted Price.
Fleet back-offices can reconcile pump fills against wallet ledgers using merchant SAP codes and odometer readings; HP Gas distributors can poll refill flags and cash-memo status without re-keying the household app; PNG billing desks age invoices by due date; and FASTag ops watch tag hex ids and balances before a toll trip. openData Studio turns those HPCL wallet, LPG, PNG, FASTag and outlet records into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Generate login OTP
POST
/v1/hppay/session/otpopendataSends a login OTP to the registered mobile so the user can create or recover an MPIN. Path keeps the server-side spelling genrate_otp_hppay.
Auth: Unauthenticated start of HP PAY login. Checksum, API_Key and Secret_Key headers still attach; no Bearer yet. Response otp is consumed by MPIN setup or OTP verify.
- Useragent
- Userip
- user_Mobile
- deviceToken
- Userid
- otp
- status
- reason
- method_Name
- status_Code
- success
POST /v1/hppay/session/otp HTTP/1.1 Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "Useragent": "Android", "Userip": "0.0.0.0", "user_Mobile": "9876543210", "deviceToken": "fcm-device-token", "Userid": "9876543210" }{ "data": [ { "otp": 4821, "status": 1, "reason": "OTP sent" } ], "message": "Success", "method_Name": "genrate_otp_hppay", "status_Code": 200, "success": true }Validate MPIN and open session
POST
/v1/hppay/session/mpinopendataExchanges a 4-digit MPIN for a session token plus the KYC flags and Instafuel paycode balance used on the home header.
Auth: MPIN plus registered mobile. Checksum / API_Key / Secret_Key headers. Response token is sent as Authorization: Bearer on later calls.
- mpin
- user_Mobile
- token
- first_name
- last_name
- user_mobile
- kyC_Status
- kyC_Status_Code
- customerType
- is_Mpin_blocked
- is_device_free
- hpPay_Transaction_Id
- active_Paycode_Balance
- pincode
POST /v1/hppay/session/mpin HTTP/1.1 Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "useragent": "Android", "userip": "0.0.0.0", "mpin": "******", "user_Mobile": "9876543210", "userid": "9876543210" }{ "data": [ { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session", "first_name": "Ravi", "last_name": "Kumar", "user_mobile": 9876543210, "kyC_Status": "Verified", "kyC_Status_Code": "1", "customerType": "Retail", "is_Mpin_blocked": false, "is_device_free": true, "hpPay_Transaction_Id": "HP-TXN-88421", "active_Paycode_Balance": 150.0, "pincode": "400001", "status": 1 } ], "message": "Success", "method_Name": "validate_mpin_hppay", "status_Code": 200, "success": true }Read fuel wallet balance
POST
/v1/hppay/wallet/balanceopenbankingReads the prepaid HP fuel wallet, Instafuel paycode float and loyalty / payback points shown on the home balance strip.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- user_mobile_or_userid
- customer_id
- wallet_balance
- active_Paycode_Balance
- point_balance
- payback_Points
- user_mobile
- user_name
- method_Name
- status_Code
- success
POST /v1/hppay/wallet/balance HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "user_mobile_or_userid": 9876543210, "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": [ { "customer_id": 1846501, "point_balance": 120.0, "payback_Points": "45", "user_mobile": 9876543210, "user_name": "Ravi Kumar", "wallet_balance": 2500.5, "active_Paycode_Balance": 150.0 } ], "message": "Success", "method_Name": "get_user_wallet_balance_new", "status_Code": 200, "success": true, "model_State": null }Wallet transaction history
POST
/v1/hppay/wallet/ledgeropenbankingPages the fuel-wallet passbook: pump fills with volume and odometer, UPI rails, and LPG refill orders paid from the same ledger.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- from_Date
- to_Date
- trans_Type
- transactionId
- amount
- balance
- merchantName
- merchantId
- product
- volume
- odometerReading
- upiPayeeVpa
- upiPayerVa
- upiTxnId
- upiTxnStatus
- lpgRefillOrderNo
- lpgCosumerNo
- paymentMode
- transactionStatus
POST /v1/hppay/wallet/ledger HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "from_Date": "2026-09-01", "to_Date": "2026-10-05", "mobile_No": "9876543210", "trans_Type": "ALL", "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": [ { "transactionId": "HP-TXN-88421", "amount": 1850.0, "balance": 650.5, "currency": "INR", "transactionStatus": "SUCCESS", "transactionType": "FUEL", "paymentMode": "WALLET", "merchantId": "SAP-12845", "merchantName": "HP Sector 18 Noida", "product": "MS", "price": "94.72", "volume": "19.53", "odometerReading": "45210", "upiPayeeVpa": "hpcl@icici", "upiPayerVa": "ravi@okicici", "upiTxnId": "UPI123456789", "upiTxnStatus": "SUCCESS", "lpgRefillOrderNo": "", "lpgCosumerNo": "", "customerId": 1846501, "mobileNumber": 9876543210 } ], "message": "Success", "method_Name": "get_wallet_transaction_history_new", "status_Code": 200, "success": true }View wallet spend limits
POST
/v1/hppay/wallet/capsopenbankingReturns daily, monthly and per-transaction recharge and sale caps that gate wallet top-ups and pump spends.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- user_mobile
- dailyRechargeLimit
- dailySaleLimit
- monthlyRechargeLimit
- monthlySaleLimit
- perTransactionRechargeLimit
- perTransactionSaleLimit
- method_Name
- status_Code
- success
POST /v1/hppay/wallet/caps HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "user_mobile": "9876543210", "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": [ { "dailyRechargeLimit": 10000.0, "dailySaleLimit": 10000.0, "monthlyRechargeLimit": 100000.0, "monthlySaleLimit": 100000.0, "perTransactionRechargeLimit": 5000.0, "perTransactionSaleLimit": 5000.0 } ], "message": "Success", "method_Name": "view_limits", "status_Code": 200, "success": true, "model_State": null }HP Gas consumer profile
POST
/v1/hppay/lpg/householdopendataLoads the HP Gas household: unique consumer id, cylinder type, refill/payment flags, payable amount and assigned distributor.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- mobile_No
- UniqueConsumerId
- consumerNumber
- consumerName
- consumerAddress
- consumerPhone1
- PinCode
- CylinderType
- ConsumerType
- isValidForRefill
- isValidForPayment
- refillPaymentAmount
- onlinePaymentDiscountAmount
- OrderNo
- OrderDealerCode
- OrderDealerName
- SVQuantity
POST /v1/hppay/lpg/household HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "mobile_No": "9876543210", "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": { "UniqueConsumerId": "1234567890123456", "consumerNumber": 2081846501, "consumerName": "Ravi Kumar", "consumerAddress": "Sector 18, Noida", "consumerPhone1": "9876543210", "PinCode": "201301", "CylinderType": "14.2kg", "ConsumerType": "Domestic", "isValidForRefill": true, "isValidForPayment": true, "refillPaymentAmount": 903.0, "onlinePaymentDiscountAmount": 5.0, "OrderNo": "2-002184659844", "OrderDealerCode": "0000154004", "OrderDealerName": "K-2 International", "SVQuantity": 1, "isRefillPortabilityEnabled": false, "QueryRefNo": "QR-88421" }, "message": "Success", "method_Name": "get_consumer_data", "status_Code": 200, "success": true, "model_State": null }LPG refill booking history
POST
/v1/hppay/lpg/bookingsopenfinanceLists HP Gas refill bookings with order number, delivery date, subsidy flag and cash-memo reference.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- mobile_No
- refillOrderNum
- refillOrderDate
- refillDelivDate
- refillOrderStatus
- refillRefNum
- refillSubsidizedStatus
- cashMemoNo
- cashMemoTinyURL
- assuredDeliveryStatus
- errorCode
- errorMessage
POST /v1/hppay/lpg/bookings HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "mobile_No": 9876543210, "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": { "RefillHistoryData": [ { "refillOrderNum": "2-002184659844", "refillOrderDate": "2026-09-28", "refillDelivDate": "2026-09-30", "refillOrderStatus": "Delivered", "refillRefNum": "RF-88421", "refillSubsidizedStatus": "Y", "cashMemoNo": "CM-77821", "cashMemoTinyURL": "https://hpcl.example/cm/77821", "assuredDeliveryStatus": "OnTime" } ], "errorCode": "0", "errorMessage": "Success" }, "message": "Success", "method_Name": "get_refill_booking_history", "status_Code": 200, "success": true }Nearby HP petrol pumps
POST
/v1/hppay/pumps/nearbyopendataFinds nearby HP retail outlets with SAP code, posted fuel price, rating and distance from the handset.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- latitude
- longitude
- SAPCode
- Merchant_Name
- Merchant_Address
- Merchant_Latitude
- Merchant_Longtitude
- Distance_in_Meter
- Price
- Rating
- TotalReviews
- Mobile_No
- API_Status
- API_Message
POST /v1/hppay/pumps/nearby HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "latitude": "28.5355", "longitude": "77.3910", "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": { "Response": [ { "SAPCode": 12845, "Merchant_Name": "HP Sector 18 Noida", "Merchant_Address": "Sector 18, Noida", "Merchant_Detail": "Petrol Diesel", "Merchant_Latitude": "28.5701", "Merchant_Longtitude": "77.3210", "Distance_in_Meter": 3210.0, "Price": "94.72", "Rating": "4.2", "TotalReviews": 318.0, "Mobile_No": "0120-4000000" } ], "API_Status": "SUCCESS", "API_Message": "OK" }, "message": "Success", "method_Name": "getnearbypumpDistributorPincode", "status_Code": 200, "success": true }Fetch FASTag balance
POST
/v1/hppay/fastag/balanceopenbankingLooks up the FASTag wallet for a vehicle number and returns tag hex id, customer name and current balance (ICICI / IDFC tags in the same flow).
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- vehicleNumber
- Balance
- HexTagId
- CustomerName
- IsSuccess
- ErrorCode
- Messages
POST /v1/hppay/fastag/balance HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "vehicleNumber": "MH12AB1234", "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": { "Balance": 842.5, "ErrorCode": "0", "IsSuccess": true, "Messages": ["Success"], "CustomerName": "Ravi Kumar", "HexTagId": "34161FA8201B80" }, "message": "Success", "method_Name": "fetch_fastag_balance", "status_Code": 200, "success": true }PNG customer lookup
POST
/v1/hppay/png/accountopendataResolves the signed-in HP PNG (piped natural gas) account: business-partner number, payable amount and due date.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- bpnumber
- customerName
- address
- customerPhoneNo1
- registeredEmailID
- amountToPay
- dueDate
- isValidForPayment
- sapCodeHppayMapping
- apiStatus
- apiMessage
- errorCode
POST /v1/hppay/png/account HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "response": { "bpnumber": "1000123456", "customerName": "Ravi Kumar", "address": "Andheri East, Mumbai", "customerPhoneNo1": "9876543210", "registeredEmailID": "[email protected]", "amountToPay": 1240.0, "dueDate": "2026-10-18", "isValidForPayment": true, "sapCodeHppayMapping": "PNG-SAP-441" }, "apiStatus": true, "apiMessage": "Success", "errorCode": 0 }PNG pending bills
POST
/v1/hppay/png/invoicesopenfinanceFetches the outstanding HP PNG invoice for a business-partner number: bill number, amount, due date and fetch reference used at checkout.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- bp_number
- crn
- amount
- bill_no
- bill_due_date
- bill_generated_date
- bill_fetch_ref
- first_name
- last_name
- address
- reference_no
- currency
- transaction_status
POST /v1/hppay/png/invoices HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "bp_number": "1000123456", "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "apI_Status": true, "apI_Message": "Success", "response": { "bp_number": "1000123456", "crn": "CRN-77821", "amount": 1240.0, "bill_no": "PNG-2026-09-441", "bill_due_date": "2026-10-18", "bill_generated_date": "2026-09-18", "bill_fetch_ref": "BFR-88421", "first_name": "Ravi", "last_name": "Kumar", "address": "Andheri East, Mumbai", "reference_no": "REF-44120", "currency": "INR", "transaction_status": "PENDING" } }Signed-in user profile
POST
/v1/hppay/profileosintReturns the signed-in HP PAY profile: name, mobile, address, linked vehicle / FASTag, payback card and e-KYC / face-id flags.
Auth: Authorization: Bearer from MPIN login. JSON body signed with a Checksum header plus API_Key and Secret_Key.
- customer_Id
- first_name
- last_name
- user_mobile
- user_email
- dob
- address
- pincode
- city
- district
- state
- vehicle_no
- fasttag_no
- payback_cardno
- kyC_Status
- EKYCDone
- IsFaceID
- IsBioMetricID
- active_Paycode_Balance
POST /v1/hppay/profile HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Checksum: <body-checksum> API_Key: <api-key> Secret_Key: <secret-key> { "useragent": "Android", "userid": "9876543210", "userip": "0.0.0.0" }{ "data": { "customer_Id": "1846501", "first_name": "Ravi", "last_name": "Kumar", "user_mobile": 9876543210, "user_email": "[email protected]", "dob": "1990-03-12", "gender": "M", "address": "Sector 18, Noida", "pincode": "201301", "city": "Noida", "district": "Gautam Buddha Nagar", "state": "Uttar Pradesh", "vehicle_no": "MH12AB1234", "fasttag_no": "34161FA8201B80", "payback_cardno": "PB-998877", "kyC_Status": "Verified", "kyC_Status_Code": "1", "EKYCDone": "Y", "IsFaceID": true, "IsBioMetricID": false, "customerType": "Retail", "active_Paycode_Balance": 150.0 }, "message": "Success", "method_Name": "get_profile", "status_Code": 200, "success": true }
Data categories
- wallet balances
- fuel transactions
- spend limits
- LPG consumers
- LPG refill orders
- FASTag balances
- PNG bills
- petrol pumps
- KYC profiles
Where teams use this data
Fleet fuel-wallet reconciliation
A fleet back-office pulls wallet_balance and active_Paycode_Balance nightly, then matches passbook rows (transactionId, merchantName, volume, odometerReading, SAP-linked merchantId) to vehicle logbooks so pump fills that never posted an odometer reading are flagged.
HP Gas refill operations feed
An HP Gas distributor desk watches UniqueConsumerId, isValidForRefill, refillPaymentAmount and refillOrderStatus / cashMemoNo so open cylinder bookings can be dispatched without re-keying the household app.
FASTag pre-trip balance check
A logistics ops board looks up HexTagId and Balance by vehicleNumber before a toll corridor run, and alerts when IsSuccess is false or the tag wallet is below a rupee floor.
PNG arrears ageing
A billing desk ages outstanding piped-gas invoices on bp_number, bill_no, amount and bill_due_date, using isValidForPayment / transaction_status to skip accounts already in checkout.
Frequently asked questions
What wallet fields does HP PAY return?
The wallet-balance call returns wallet_balance, active_Paycode_Balance, point_balance and payback_Points for customer_id. The passbook pages transactionId, volume, odometerReading, UPI ids and lpgRefillOrderNo. Spend caps arrive as dailyRechargeLimit and perTransactionSaleLimit.
How does the app authenticate users?
Login starts with an OTP to user_Mobile, then an MPIN exchange for a session token. Later calls send Authorization: Bearer plus a checksum over the JSON body and static API_Key / Secret_Key headers.
Does HP PAY expose HP Gas LPG data?
The household profile returns UniqueConsumerId, consumerNumber, CylinderType, isValidForRefill, refillPaymentAmount and the assigned OrderDealerCode. Refill history lists refillOrderNum, refillOrderStatus, cashMemoNo and refillSubsidizedStatus.
Can I read FASTag or PNG bills from the same session?
FASTag lookup takes vehicleNumber and returns HexTagId, Balance and CustomerName. Piped-gas account and invoice calls expose bp_number / bpnumber, bill_no, amount and bill_due_date.
Apps similar to HP PAY
- IndianOil ONE — Indian Oil's consumer app for Indane LPG refills, XTRAREWARDS at petrol pumps and Aadhaar eKYC — HPCL's direct OMC counterpart.
- HelloBPCL — Bharat Petroleum's consumer app for Bharatgas cylinder booking, LPG eKYC and the Smartdrive fuel wallet.
- Paytm — Payments super-app whose BBPS bill-pay section books and pays HP Gas, Indane and Bharatgas refills in one place.
- PhonePe — UPI app that lists LPG cylinder booking for all three state-run oil companies inside its BBPS bill-pay section.
- UMANG — The Indian government's unified citizen-services app, which includes LPG refill booking for HP Gas, Indane and Bharatgas.
Topics
- HP PAY API
- HP Gas LPG
- HPCL wallet
- Instafuel paycode
- FASTag HexTagId
- PNG bp_number
- UniqueConsumerId
- HP petrol pump SAPCode
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use