Purchase exam result checker PINs and tokens.
Result Checker / EPIN
Purchase exam result checker PINs and tokens (WAEC, NECO, NABTEB).
Endpoint
POST https://example.com/api/epin
Rate Limit: 30 requests per minute.
Request Headers
{
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
exam_name | string | Yes | Exam type name. Must be one of: "WAEC", "NECO", "NABTEB" |
quantity | integer | Yes | Number of PINs to purchase. Maximum: 5 |
Example Request
{
"exam_name": "WAEC",
"quantity": 2
}
curl -X POST https://example.com/api/epin \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"exam_name": "WAEC",
"quantity": 2
}'
Response
Success (200)
{
"data": {
"id": 1,
"network": null,
"ident": "RC20260318123045123456",
"amount": "2,000.00",
"api_response": "Success",
"description": "WAEC Pin Purchase",
"plan_network": "N/A",
"Status": "successful",
"balance_before": "10,000.00",
"balance_after": "8,000.00",
"create_date": "18/03/2026 10:30 AM"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
id | integer | Transaction ID |
network | integer/null | Always null for EPIN transactions |
ident | string | Unique transaction reference (prefixed with RC) |
amount | string | Total amount charged (unit price × quantity) |
api_response | string | Provider response message, or "N/A" |
description | string | Human-readable description (e.g., "WAEC Pin Purchase") |
plan_network | string | Always "N/A" |
Status | string | "successful", "pending", or "failed" |
balance_before | string | Wallet balance before transaction |
balance_after | string | Wallet balance after transaction |
create_date | string | Transaction timestamp (format: DD/MM/YYYY hh:mm AM/PM) |
Available Exam Types
| Exam Name | Unit Price |
|---|---|
WAEC | ₦1,000 |
NECO | ₦500 |
NABTEB | ₦800 |
Total cost = Unit Price × Quantity
Error Handling
Validation Error (422)
Returned when request fields fail validation:
{
"message": "The given data was invalid.",
"errors": {
"exam_name": ["The exam name field is required."],
"quantity": ["The quantity field is required."]
}
}
| Error | Cause |
|---|---|
"The exam name field is required." | Missing exam_name parameter |
"The selected exam name is invalid." | Exam name does not exist (must be WAEC, NECO, or NABTEB) |
"The quantity field is required." | Missing quantity parameter |
"The quantity must not be greater than 5." | Quantity exceeds maximum of 5 |
"The quantity must be a number." | Non-numeric value provided |
Business Logic Errors (422)
{
"message": "The given data was invalid.",
"errors": {
"status": ["Something Went Wrong! Try again Letter"]
}
}
| Error Message | Field | Cause |
|---|---|---|
"Insufficient wallet balance!" | amount | Not enough funds in your wallet |
"Your account has been restricted for transaction, Please submit your KYC to activate your account or contact support!." | status | Account KYC restriction |
"Sorry, your daily result_checker spending limit exceeded! Limit: ₦X" | status | Daily spending limit reached |
"Something Went Wrong! Try again Letter" | status | Provider-level failure (generic) |
Unauthorized (401)
Returned when the Bearer token is missing or invalid.
IP Whitelist Denied (403)
{
"status": false,
"message": "Access Denied: Your IP (x.x.x.x) or Origin is not whitelisted for this API token."
}
Notes
- The
exam_namefield must match one of the supported exam names exactly (case-sensitive) quantityis required and must be between 1 and 5- Total amount charged = exam unit price × quantity