Recharge Card / e-Pin

LIVE
Endpoint

Send a GET request to fetch available e-Pin denominations for a specific provider.

Production URL
https://pairgate.com/api/v1/epin/denominations?provider_id={slug}
Method GET
Test Endpoint
https://pairgate.com/api/v1/test/epin/denominations?provider_id={slug}
Authentication

This request requires a valid Bearer token.

Header Value Description
Authorization
Bearer {token}
Your unique API authorization token
Query Parameters

The provider_id parameter is required and identifies the provider.

Parameter Type Required Description
provider_id string Yes Provider slug (e.g. mtn, airtel, glo, 9mobile)
Code Examples

Choose your preferred language below. Replace YOUR_API_KEY with your actual API key.

PHP (Laravel)
// Get Recharge Card Denominations
$response = Http::withHeaders([
    'Authorization' => 'Bearer YOUR_API_KEY',
    'Cache-Control' => 'no-cache',
])->get('https://pairgate.com/api/v1/epin/denominations?provider_id=mtn');

$result = $response->json();

dd($result);
cURL
curl -X GET "https://pairgate.com/api/v1/epin/denominations?provider_id=mtn" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Cache-Control: no-cache"
Node.js
const axios = require('axios');

const getDenominations = async () => {
    try {
        const response = await axios.get(
            'https://pairgate.com/api/v1/epin/denominations?provider_id=mtn',
            {
                headers: {
                    'Authorization': 'Bearer YOUR_API_KEY',
                    'Cache-Control': 'no-cache'
                }
            }
        );
        
        console.log(response.data);
    } catch (error) {
        console.error(error.response?.data || error.message);
    }
};

getDenominations();
Python
import requests

url = "https://pairgate.com/api/v1/epin/denominations?provider_id=mtn"

headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Cache-Control": "no-cache"
}

try:
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    data = response.json()
    print(data)
except requests.exceptions.RequestException as e:
    print(f"Error: {e}")
Java
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://pairgate.com/api/v1/epin/denominations?provider_id=mtn"))
    .header("Authorization", "Bearer YOUR_API_KEY")
    .header("Cache-Control", "no-cache")
    .GET()
    .build();

try {
    HttpResponse response = client.send(request, 
        HttpResponse.BodyHandlers.ofString());
    
    System.out.println(response.body());
} catch (Exception e) {
    System.err.println("Error: " + e.getMessage());
}
Response Format

A successful request returns a 200 status with available e-Pin denominations for the requested provider. Results are cached for 30 minutes.

Success Response (200)
{
  "MTN": [
    {
      "denomination": "100",
      "name": "MTN N100",
      "price": 97.00
    },
    {
      "denomination": "200",
      "name": "MTN N200",
      "price": 194.00
    },
    {
      "denomination": "500",
      "name": "MTN N500",
      "price": 485.00
    }
  ]
}
Response Fields
Field Type Description
{Provider Name} array Keyed by provider name (e.g. MTN). Contains an array of denomination objects.
denomination string e-Pin face value in Naira (as string)
name string Human-readable name combining provider name and denomination
price float Discounted price for resellers (after applying reseller_discount)
Error Responses

The following errors may occur when calling this endpoint.

Status Code Description
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
422 Invalid provider. The provided provider_id does not match any active e-Pin provider
429 Rate limited Too many requests