Ready demo credentials for vendor panel and API testing.
https://fitfuel.fun/vendors/loginekyc_demo_vendor_key_001
demo_vendor_secret_001_fitfuel_abcdefghijklmnopqrstuvwxyz_123456
api_key, phone, ref_no, iat, exp
<?php
$apiKey = "ekyc_demo_vendor_key_001";
$secret = "demo_vendor_secret_001_fitfuel_abcdefghijklmnopqrstuvwxyz_123456";
$phone = "6666666666";
function base64UrlEncode($data) {
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
$header = ["alg" => "HS256", "typ" => "JWT"];
$payload = [
"api_key" => $apiKey,
"phone" => $phone,
"ref_no" => "REF123456",
"iat" => time(),
"exp" => time() + 300
];
$encodedHeader = base64UrlEncode(json_encode($header));
$encodedPayload = base64UrlEncode(json_encode($payload));
$signature = hash_hmac("sha256", $encodedHeader . "." . $encodedPayload, $secret, true);
$jwt = $encodedHeader . "." . $encodedPayload . "." . base64UrlEncode($signature);
$body = [
"merchant_code" => "MEXR123456",
"token" => $jwt
];
$ch = curl_init("https://fitfuel.fun/ext-api/v1/sessions/create");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . $jwt,
"X-Authorization: Bearer " . $jwt,
"Accept: application/json",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode($body),
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "HTTP Code: " . $httpCode . PHP_EOL;
echo $response;
1. Vendor login: 6666666666 / vendor123
2. API create session endpoint: https://fitfuel.fun/ext-api/v1/sessions/create
3. On success applicant open URL: https://fitfuel.fun/kyc/start?token=<session_token>
4. Demo docs page: /documentation/api