$whmcs_identifier,
‘secret’ => $whmcs_secret,
‘responsetype’ => ‘json’
], $params);

$max_attempts = 3;
$backoff = 1;

for ($attempt = 1; $attempt <= $max_attempts; $attempt++) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $whmcs_api_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $curl_errno = curl_errno($ch); $curl_error = curl_error($ch); curl_close($ch); if ($curl_errno) { file_put_contents($logfile, date('c') . " - cURL error ($attempt): $curl_error\n", FILE_APPEND); if ($attempt < $max_attempts) { sleep($backoff); $backoff *= 2; continue; } } if (empty($response)) { if ($attempt < $max_attempts) { sleep($backoff); $backoff *= 2; continue; } } $json = json_decode($response, true); if (json_last_error() !== JSON_ERROR_NONE) { if ($attempt < $max_attempts) { sleep($backoff); $backoff *= 2; continue; } } if (isset($json['result']) && $json['result'] === 'success') { return $json; } else { if ($http_code == 429 || $http_code >= 500) {
if ($attempt < $max_attempts) { sleep($backoff); $backoff *= 2; continue; } } return $json; } } return ['result' => ‘error’, ‘message’ => ‘Eroare necunoscuta dupa retry-uri multiple’];
}
}

function wp_whmcs_generate_iptv_pass($length = 8){
return substr(str_shuffle(‘0123456789’), 0, (int)$length);
}

// —————————–
// Procesare formular
// —————————–
if ($_SERVER[‘REQUEST_METHOD’] === ‘POST’) {

// PASUL 1: date + aplicatie (fără otp_code)
if (isset($_POST[‘nume’], $_POST[‘telefon’], $_POST[’email’], $_POST[‘macadress’], $_POST[‘aplicatie’]) && !isset($_POST[‘otp_code’])) {
$nume = sanitize_text_field($_POST[‘nume’]);
$telefon = preg_replace(‘/\D+/’, ”, $_POST[‘telefon’]);
$email = sanitize_email($_POST[’email’]);
$password = wp_whmcs_generate_iptv_pass();
$macadress = sanitize_text_field($_POST[‘macadress’]);
$aplicatie = sanitize_text_field($_POST[‘aplicatie’]);

if (empty($nume) || empty($telefon) || empty($email) || empty($aplicatie)) {
$message = ‘

Completează toate câmpurile obligatorii!

‘;
} elseif (!validate_fullname($nume)) {
$message = ‘

Numele trebuie să conțină prenume și nume.

‘;
} elseif (email_exists($email)) {
$message = ‘

Există deja un cont cu acest email.

‘;
} else {
// toate aplicațiile afișate necesită MAC
$needs_mac = in_array($aplicatie, [‘SMART IPTV’,’NETIPTV’,’MEGAIPTV’,’IBO PLAYER IPTV’,’HOTPLAYER’,’SETIPTV’]);
if ($needs_mac && empty($macadress)) {
$message = ‘

Trebuie completat câmpul MAC pentru aplicația selectată.

‘;
$show_otp_form = false;
} else {
$otp = rand(100000, 999999);
$transient_data = [
‘nume’ => $nume,
‘telefon’ => $telefon,
’email’ => $email,
‘password’ => $password,
‘macadress’ => $macadress,
‘aplicatie’ => $aplicatie,
‘otp’ => (string)$otp,
‘otp_time’ => time()
];
set_transient($session_key, $transient_data, 5 * MINUTE_IN_SECONDS);

$payload = [
‘instance_id’ => $GLOBALS[‘instance_id’],
‘access_token’ => $GLOBALS[‘access_token’],
‘chatId’ => $telefon . ‘@c.us’,
‘message’ => “Codul tău OTP: $otp (valabil 5 minute)”
];

$resp = wp_remote_post(‘https://wawp.net/wp-json/awp/v1/send’, [
‘headers’ => [‘Content-Type’ => ‘application/json’],
‘body’ => wp_json_encode($payload),
‘timeout’ => 20
]);

if (is_wp_error($resp)) {
error_log(“WhatsApp API error: ” . $resp->get_error_message());
$message = ‘

OTP generat, dar nu am reușit să trimitem pe WhatsApp.

‘;
} else {
$message = ‘

Codul OTP a fost trimis pe WhatsApp. Valabil 5 minute.

‘;
}

$show_otp_form = true; // pentru POP-UP OTP
}
}
}

// PASUL 2: verificare OTP (în modal)
if (isset($_POST[‘otp_code’])) {
$otp_code = sanitize_text_field($_POST[‘otp_code’]);
$data = get_transient($session_key);

if (!$data) {
$message = ‘

Sesiunea a expirat. Reîncearcă.

‘;
} elseif (time() – ($data[‘otp_time’] ?? 0) > 300) {
delete_transient($session_key);
$message = ‘

Cod OTP expirat. Reîncearcă.

‘;
} elseif ($otp_code !== ($data[‘otp’] ?? ”)) {
$message = ‘

Cod OTP incorect.

‘;
$show_otp_form = true;
} else {
$nume = $data[‘nume’];
$telefon = $data[‘telefon’];
$email = $data[’email’];
$password = $data[‘password’];
$macadress = $data[‘macadress’];
$aplicatie = $data[‘aplicatie’];

$parts = preg_split(‘/\s+/’, $nume);
$username = generate_username_from_name($nume);
$iptv_pass = $password;

$customfields_array = [
458 => strtoupper($aplicatie),
398 => $macadress,
427 => $username,
428 => $iptv_pass,
391 => date(‘d-m-Y’),
392 => date(‘d-m-Y’, strtotime(‘+24 hours’)),
394 => ‘TEST 24 ORE GRATIS ( Max 1 Conexiune )’,
395 => ‘1’,
396 => ‘0 EURO’
];

if (email_exists($email)) {
$message = ‘

Există deja un cont cu acest email.

‘;
$show_otp_form = true;
} else {
$user_id = wp_insert_user([
‘user_login’ => $username,
‘user_pass’ => $password,
‘user_email’ => $email,
‘first_name’ => $parts[0] ?? ”,
‘last_name’ => $parts[1] ?? ”,
‘display_name’ => $nume,
‘role’ => ‘abonat’
]);

if (!is_wp_error($user_id)) {
update_user_meta($user_id, ‘billing_phone’, $telefon);
update_user_meta($user_id, ‘macadress’, $macadress);
update_user_meta($user_id, ‘aplicatie’, $aplicatie);
update_user_meta($user_id, ‘iptv_username’, $username);
update_user_meta($user_id, ‘iptv_password’, $iptv_pass);

foreach ($customfields_array as $k => $v) {
update_user_meta($user_id, ‘whmcs_cf_’ . $k, $v);
}

$whmcs = wp_whmcs_api([
‘action’ => ‘AddClient’,
‘firstname’ => $parts[0] ?? ”,
‘lastname’ => $parts[1] ?? ”,
’email’ => $email,
‘password2’ => $password,
‘address1’ => ‘N/A’,
‘city’ => ‘N/A’,
‘state’ => ‘N/A’,
‘postcode’ => ‘0000’,
‘country’ => ‘RO’,
‘phonenumber’ => $telefon,
‘customfields’=> base64_encode(serialize($customfields_array))
]);

if ($whmcs && isset($whmcs[‘result’]) && $whmcs[‘result’] === ‘success’) {
$client_id = $whmcs[‘clientid’];
update_user_meta($user_id, ‘whmcs_client_id’, $client_id);

$order = wp_whmcs_api([
‘action’ => ‘AddOrder’,
‘clientid’ => $client_id,
‘pid’ => ’48’,
‘billingcycle’ => ‘monthly’,
‘paymentmethod’=> ‘banktransfer’,
‘customfields’ => base64_encode(serialize($customfields_array)),
‘noinvoice’ => true,
‘status’ => ‘Pending’
]);
}

$user_info = get_user_by(‘id’, $user_id);
if ($user_info) {
wp_set_current_user($user_id);
wp_set_auth_cookie($user_id, true);
do_action(‘wp_login’, $user_info->user_login, $user_info);
delete_transient($session_key);
wp_safe_redirect(home_url(‘/my-account’));
exit;
}
}
}
}
}
}

get_header();
?>

Pasul 1: Informații cont






Pasul 2: Alege aplicația


Dispozitive compatibile:



    Introduceți MAC-ul afișat în aplicația IPTV.

    După trimitere, vei primi un cod OTP prin WhatsApp. Îl vei introduce într-un pop-up aici, fără să părăsești pagina.

    Sumar Test Gratuit

    Test Gratuit – 24 Ore

    Total
    0,00 €

    Cum Funcționează?

    1
    Completezi Formularul
    Durează mai puțin de 60 de secunde.

    2
    Primești Confirmarea
    Un email automat este trimis instant.

    3
    Activăm & Te Notificăm
    Primești datele de acces în max. 24 ore.

    Ce Spun Clienții Noștri

    ‘”Bună ziua, merge și EPG pentru programe. Mulțumesc!”‘, “author” => “- Dan”],
    [“text” => ‘”Sunt la voi de ani buni, nu am ce să reproșez. TOP!”‘, “author” => “- Bebe”],
    [“text” => ‘”Super calitate, recomand cu încredere!”‘, “author” => “- Marian”],
    [“text” => ‘”Merge perfect, suport rapid. Mulțumesc!”‘, “author” => “- Elena”],
    [“text” => ‘”Cel mai bun IPTV încercat până acum.”‘, “author” => “- Robert”],
    [“text” => ‘”Foarte mulțumit, filme și sport impecabil!”‘, “author” => “- Andrei”],
    [“text” => ‘”Instalare rapidă, totul simplu și clar.”‘, “author” => “- Ciprian”],
    [“text” => ‘”Funcționează excelent și în străinătate.”‘, “author” => “- Aftode”],
    [“text” => ‘”Recomand, stabil și calitate foarte bună.”‘, “author” => “- Sorin”],
    [“text” => ‘”Suport răspunde imediat, 10/10.”‘, “author” => “- Luca”],
    ];

    // amestecă și ia doar 2
    shuffle($testimonials);
    $selected = array_slice($testimonials, 0, 2);

    foreach($selected as $t): ?>

    Siguranță & suport

    • ✓ Test 100% gratuit, fără obligații
    • ✓ Datele Tale Sunt în Siguranță
    • ✓ Suport prin WhatsApp & email


    Confirmare cod OTP

    Am trimis un cod prin WhatsApp. Introdu codul mai jos pentru a finaliza crearea contului.