'localhost', 'name' => 'kh_e6233585_Agentverify', 'user' => 'kh_e6233585_Lildon_Team', 'pass' => 'ASNC19Eco025' ]; try { $pdo = new PDO("mysql:host={$db_config['host']};dbname={$db_config['name']}", $db_config['user'], $db_config['pass']); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Initialize Table $pdo->exec("CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, fullname VARCHAR(100), email VARCHAR(100) UNIQUE, password VARCHAR(255), account_number VARCHAR(20), bank_name VARCHAR(50), balance DECIMAL(10,2) DEFAULT 0.00 )"); } catch(PDOException $e) { $error = "Connection failed: " . $e->getMessage(); } // --- 2. PHP BACKEND LOGIC --- $action = $_GET['action'] ?? 'home'; // LOGOUT if($action == 'logout') { session_destroy(); header("Location: index.php"); exit; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { // REGISTER & KATPAY INTEGRATION if ($action === 'register') { $name = $_POST['fullname']; $email = $_POST['email']; $pass = password_hash($_POST['password'], PASSWORD_DEFAULT); $kat_secret = "eyJpdiI6IjVaUmVQM1R3Ylo4TDlzeFVyL054QlE9PSIsInZhbHVlIjoiSDZRQU1HVHZrQjR4Rlp5UExvSDZhRFhlWi8rT2ZPL095eXZXcXFhUWdiMnhLQjY1bVI3VGR2SlAxK3B5MXU0TDc3MGNmSUNsM2kxNEFhMWs5SStOcERmak9CYUN0SFVjZHBJbGpncjVCa1c2MDROWGRrOHBXRFZXSEJYei9STHUiLCJtYWMiOiJkZTViMDNmMTEzNTMwMjkxYmZjMDI0ODcxNGY5YWQzZjA1MTY1YzZkYzY3NmM2NWQyMWNiNTljMzlmODhlNzM5IiwidGFnIjoiIn0="; // KatPay API for Virtual PalmPay Account $ch = curl_init("https://api.katpay.co/v1/virtual-account/create"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $kat_secret", "Content-Type: application/json"]); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([ "account_name" => $name, "email" => $email, "bank_code" => "999991" // Palmpay ])); $res = json_decode(curl_exec($ch), true); curl_close($ch); $acc_num = $res['data']['account_number'] ?? '0000000000'; $stmt = $pdo->prepare("INSERT INTO users (fullname, email, password, account_number, bank_name) VALUES (?, ?, ?, ?, 'PalmPay')"); try { $stmt->execute([$name, $email, $pass, $acc_num]); $msg = "Registration successful! You can now login."; } catch(Exception $e) { $error = "Registration failed. Email might exist."; } } // LOGIN if ($action === 'login') { $stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?"); $stmt->execute([$_POST['email']]); $user = $stmt->fetch(); if ($user && password_verify($_POST['password'], $user['password'])) { $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['fullname']; header("Location: index.php?view=dashboard"); exit; } else { $error = "Invalid credentials."; } } // DATAVERIFY NIN API CALL if ($action === 'verify') { $method = $_POST['method']; $slip = $_POST['slip_type']; $val = $_POST['id_value']; $apiKey = "dataverify536b7003e957cec65a05ade87f92eb91"; // Logic to select correct endpoint $baseUrl = "https://dataverify.com.ng/developers/nin_slips/"; if ($method === 'phone') { $url = $baseUrl . "nin_{$slip}_phone"; } else { if($slip == 'vnin') $url = $baseUrl . "vnin_slip"; elseif($slip == 'basic') $url = $baseUrl . "nin_basic_slip"; else $url = $baseUrl . "nin_{$slip}"; } $payload = json_encode(['api_key' => $apiKey, 'nin' => $val]); $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $payload, CURLOPT_HTTPHEADER => ['Content-Type: application/json'] ]); $response = json_decode(curl_exec($ch), true); curl_close($ch); if ($response['status'] === 'success' && !empty($response['pdf_base64'])) { header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="nin_slip_'.$val.'.pdf"'); echo base64_decode($response['pdf_base64']); exit; } else { $error = $response['message'] ?? "API Error. Check API balance."; } } } // Fetch Logged In User if(isset($_SESSION['user_id'])) { $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$_SESSION['user_id']]); $u = $stmt->fetch(); } ?> AgentVerify | Professional Verification Portal
Premium Access

Identity
Verification.

Secure, instant, and professional NIN verification for agents. Access Basic, Standard, and Premium slips with automatic PalmPay wallet funding.

Create Agent Account

Already have an account? Login

Agent Login

New here? Create Account

Main Balance

Funding: PalmPay (KatPay)

Transfer to fund your wallet

Generate Verification Slip