Verify Electricity Meter
LIVEQuick Summary
Verify a meter number and retrieve the registered customer name before purchasing electricity. This endpoint supports both prepaid and postpaid meters. Always verify the meter first to confirm it's valid and see the registered name before committing to a purchase.
Endpoint
Send a POST request with the provider, meter number, and meter type in the request body.
https://pairgate.com/api/v1/electricity/verify
https://pairgate.com/api/v1/test/electricity/verify
Authentication
This request requires a valid Bearer token.
| Header | Value | Description |
|---|---|---|
Authorization |
Bearer {token}
|
Your unique API authorization token |
Content-Type |
application/json
|
Required for POST requests |
Body Parameters
All parameters are required. Send them as JSON in the request body.
| Parameter | Type | Required | Description |
|---|---|---|---|
provider_id |
string | Yes | Provider slug (e.g. ikedc, eko) |
meter_number |
string | Yes | Meter number (1–20 digits) |
meter_type |
integer | Yes | Meter type: 1 for prepaid, 2 for postpaid |
Meter Types
| Value | Description |
|---|---|
1 |
Prepaid |
2 |
Postpaid |
Code Examples
Choose your preferred language below. Replace the parameters and YOUR_API_KEY with your actual values.
// Verify Electricity Meter
$response = Http::withHeaders([
'Authorization' => 'Bearer YOUR_API_KEY',
'Content-Type' => 'application/json',
])->post('https://pairgate.com/api/v1/electricity/verify', [
'provider_id' => 'ikedc',
'meter_number' => '1234567890',
'meter_type' => 1,
]);
$result = $response->json();
dd($result);
curl -X POST "https://pairgate.com/api/v1/electricity/verify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider_id": "ikedc",
"meter_number": "1234567890",
"meter_type": 1
}'
const axios = require('axios');
const verifyMeter = async () => {
try {
const response = await axios.post(
'https://pairgate.com/api/v1/electricity/verify',
{
provider_id: 'ikedc',
meter_number: '1234567890',
meter_type: 1
},
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
} catch (error) {
console.error(error.response?.data || error.message);
}
};
verifyMeter();
import requests
import json
url = "https://pairgate.com/api/v1/electricity/verify"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"provider_id": "ikedc",
"meter_number": "1234567890",
"meter_type": 1
}
try:
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
data = response.json()
print(json.dumps(data, indent=2))
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
String jsonBody = "{"
+ "\"provider_id\": \"ikedc\","
+ "\"meter_number\": \"1234567890\","
+ "\"meter_type\": 1"
+ "}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://pairgate.com/api/v1/electricity/verify"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
try {
HttpResponse response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
Example Request Body
{
"provider_id": "ikedc",
"meter_number": "1234567890",
"meter_type": 1
}
Response Format
Success Response (200)
{
"code": 200,
"status": "success",
"data": {
"status": true,
"customer_name": "John Doe"
}
}
Test Response (200)
{
"code": 200,
"status": "success",
"data": {
"test_mode": true,
"message": "This is a test — no API call made.",
"status": true,
"customer_name": "Test Customer (Sandbox)"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
status |
boolean | true if the meter is valid |
customer_name |
string | Name registered on the meter |
Error Responses
The following errors may occur when calling this endpoint.
| Status | Code | Description |
|---|---|---|
| 422 | Invalid provider |
Provider not found or inactive |
| 500 | Unknown server |
Unsupported provider configuration |
| 401 | Missing API key |
No Bearer token provided |
| 401 | Invalid API key |
Token does not match any active key |
| 403 | Suspended |
API key or account has been suspended |
| 429 | Rate limited |
Too many requests |