Developer Portal
BILL PAYMENT

Education Examination PIN API

Purchase exam registration and scratch card result checker tokens instantly for WAEC, JAMB (UTME/Direct Entry), NECO, and NABTEB.

Supported Examination Bodies & Pricing

EXAMINATION BODY SERVICE ID (serviceID) BASE PRICE / DISCOUNT VERIFICATION (STEP 2) STATUS
WAEC PIN & Scratch Card waec By variation plan Not required Active
JAMB (UTME / Direct Entry) jamb By variation plan Required Active
NECO Token PIN neco ₦2,500.00 Not required Active
NABTEB Token PIN nabteb ₦3,000.00 Not required Active

Step 1: Fetch Available Education PIN Plans

Query supported examination PIN products and discounted pricing for your user role.

GET /api/v1/education/variations?service_id=waec
PARAMETER TYPE DESCRIPTION REQUIRED
service_id string Exam body: waec, jamb, neco, or nabteb. (Omit to retrieve all). Optional

Step 2: Candidate Profile Verification (JAMB only)

Verify candidate profile code before purchasing UTME or Direct Entry e-PINs.

POST /api/v1/education/verify
PARAMETER TYPE DESCRIPTION REQUIRED
serviceID string Must be jamb. Required
billersCode string Candidate Profile Code (Profile ID). Required
type string Application type: utme or direct-entry. Required

Step 3: Purchase Examination e-PIN

POST /api/v1/education/purchase
Authentication & Headers
HEADER VALUE REQUIRED
Authorization Bearer YOUR_API_TOKEN Yes
Content-Type application/json Yes

Purchase Parameters

PARAMETER TYPE DESCRIPTION REQUIRED
serviceID string Supported: waec, jamb, neco, nabteb. Required
billersCode string Candidate profile ID (for JAMB) or Phone number (for WAEC, NECO, NABTEB). Required
variation_code string Plan variation code from Step 1 (e.g. waecdirect, neco, nabteb). Required
amount numeric Amount corresponding to the selected product. Required
phone string 11-digit customer telephone number to receive PIN token alert. Required
request_id string Optional unique client request reference for idempotency and duplicate request protection. Optional
Sample Request Payload
JSON
{
    "serviceID": "waec",
    "billersCode": "08012345678",
    "variation_code": "waecdirect",
    "amount": 3500,
    "phone": "08012345678",
    "request_id": "REQ_EDU_55210"
}
Success Response (200 OK)
{
    "status": "success",
    "code": 200,
    "message": "Education PIN successful",
    "data": {
        "pin": "9812401829104",
        "serial": "WAC20269910",
        "transaction_ref": "202610194829109",
        "request_id": "REQ_EDU_55210",
        "amount": 3500,
        "new_balance": 1242.0,
        "status": "success"
    }
}
Failed Response (400 Bad Request)
{
    "status": "failed",
    "code": 400,
    "message": "Education PIN failed."
}