<?php
require_once dirname(__DIR__).'/config.php';
$u = current_user(); if(!$u){header('Location: ' . url('?login=1'));exit;}
?><!DOCTYPE html><html lang="ar" dir="rtl"><head>
<meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
<title>بوابة المطورين — Sudanna Pay</title>
<style>
:root{--g:#00d97e;--dark:#073328;--bg:#0d1117;--card:#161b22;--text:#e6edf3;--muted:#8b949e;--border:#30363d;--code:#f0883e;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:'Cairo','JetBrains Mono',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:calc(70px + var(--safe-bottom))}
.hdr{background:#161b22;border-bottom:1px solid var(--border);height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:100}
.logo{color:var(--g);font-weight:900;font-size:.95rem;display:flex;align-items:center;gap:8px}
.back{color:var(--muted);font-size:.82rem;text-decoration:none}
.hero{background:linear-gradient(135deg,#0d1117,#0a2a1a);padding:24px 16px;border-bottom:1px solid var(--border)}
.hero h1{font-size:1.3rem;font-weight:900;margin-bottom:6px}
.hero p{color:var(--muted);font-size:.82rem;line-height:1.7}
.tabs{display:flex;background:#161b22;border-bottom:1px solid var(--border);overflow-x:auto;padding:0 16px}
.tab{background:none;border:none;border-bottom:2px solid transparent;padding:12px 16px;color:var(--muted);font-family:inherit;font-size:.82rem;cursor:pointer;white-space:nowrap}
.tab.active{color:var(--g);border-bottom-color:var(--g)}
.container{max-width:900px;margin:0 auto;padding:16px}
.section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px}
.sec-title{font-size:.88rem;font-weight:800;margin-bottom:12px;color:var(--g)}
.code-block{background:#0d1117;border:1px solid var(--border);border-radius:10px;padding:14px;font-family:'JetBrains Mono',monospace;font-size:.75rem;line-height:1.8;overflow-x:auto;margin:10px 0;position:relative}
.copy-btn{position:absolute;top:8px;left:8px;background:#30363d;border:none;border-radius:6px;padding:4px 10px;color:var(--muted);font-size:.68rem;cursor:pointer}
.copy-btn:hover{color:var(--text)}
.endpoint{background:#0d1117;border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:8px}
.ep-method{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.7rem;font-weight:800;font-family:monospace;margin-left:8px}
.ep-post{background:#1a4a2a;color:#3fb950}
.ep-get{background:#1a3050;color:#58a6ff}
.ep-url{font-family:monospace;font-size:.8rem;color:var(--text)}
.ep-desc{font-size:.75rem;color:var(--muted);margin-top:4px}
.flow-step{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.step-num{width:28px;height:28px;border-radius:50%;background:var(--g);color:#000;font-weight:900;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-content{flex:1}
.step-title{font-weight:700;font-size:.85rem;margin-bottom:3px}
.step-desc{font-size:.77rem;color:var(--muted);line-height:1.65}
.type-card{background:#0d1117;border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:10px;cursor:pointer}
.type-title{font-weight:800;font-size:.9rem;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.type-badge{background:#1a3050;color:#58a6ff;border-radius:20px;padding:2px 10px;font-size:.65rem;font-weight:700}
.type-desc{font-size:.78rem;color:var(--muted);margin-bottom:8px;line-height:1.65}
.key-box{background:#0d1117;border:1px solid var(--g);border-radius:10px;padding:14px;margin-bottom:10px}
.key-label{font-size:.7rem;color:var(--muted);margin-bottom:4px}
.key-value{font-family:monospace;font-size:.8rem;color:var(--g);word-break:break-all}
.btn{background:linear-gradient(135deg,var(--g),#059669);color:#000;border:none;border-radius:10px;padding:11px 20px;font-family:inherit;font-weight:800;font-size:.85rem;cursor:pointer;margin-top:8px}
.btn-outline{background:transparent;color:var(--g);border:1.5px solid var(--g);border-radius:10px;padding:10px 20px;font-family:inherit;font-weight:700;font-size:.82rem;cursor:pointer;margin-top:8px}
.alert{border-radius:10px;padding:12px 14px;font-size:.8rem;line-height:1.65;margin-bottom:12px}
.alert-warn{background:#1a1a0a;border:1px solid #d97706;color:#fbbf24}
.alert-info{background:#0a1a2a;border:1px solid #3b82f6;color:#93c5fd}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#161b22;border-top:1px solid var(--border);display:flex;padding:8px 0 calc(8px + var(--safe-bottom));z-index:100}
.ni{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.6rem;padding:4px 0}
.ni.a{color:var(--g)}.ni-i{font-size:1.15rem}
</style></head><body>
<header class="hdr">
  <div class="logo">⚡ Sudanna Pay — Developer Portal</div>
  <a href="/app/pay.php" class="back">← Pay</a>
</header>
<div class="hero">
  <h1>⚡ ادمج Sudanna Pay في نظامك</h1>
  <p>API كامل للبنوك، مزودي الخدمات، المؤسسات، والشركات<br>
     دفع آني — إشعار webhook فوري — ويدجت جاهز للتضمين</p>
</div>
<div class="tabs" id="tabs">
  <button class="tab active" onclick="showTab('overview',this)">نظرة عامة</button>
  <button class="tab" onclick="showTab('quickstart',this)">بداية سريعة</button>
  <button class="tab" onclick="showTab('endpoints',this)">الـ Endpoints</button>
  <button class="tab" onclick="showTab('widget',this)">Widget تضمين</button>
  <button class="tab" onclick="showTab('webhook',this)">Webhook</button>
  <button class="tab" onclick="showTab('mykeys',this)">مفاتيحي</button>
</div>

<!-- TAB: OVERVIEW ─────────────────────────────────────────── -->
<div id="tab-overview" class="container">
  <div class="section">
    <div class="sec-title">🔌 3 طرق للربط</div>
    <div class="type-card" onclick="showTab('quickstart',document.querySelectorAll('.tab')[1])">
      <div class="type-title">🏠 Hosted Payment Page <span class="type-badge">الأسهل</span></div>
      <div class="type-desc">وجّه المستخدم لصفحة دفع سودانا — لا تحتاج frontend — الأفضل للبدء السريع</div>
      <div style="font-size:.72rem;color:var(--g)">→ مناسب لـ: مواقع إلكترونية، تطبيقات موبايل</div>
    </div>
    <div class="type-card" onclick="showTab('widget',document.querySelectorAll('.tab')[3])">
      <div class="type-title">🧩 Inline Widget <span class="type-badge">بدون مغادرة موقعك</span></div>
      <div class="type-desc">ضمِّن نموذج دفع سودانا مباشرة داخل صفحتك — سطر واحد من الكود</div>
      <div style="font-size:.72rem;color:var(--g)">→ مناسب لـ: e-commerce، مواقع التجزئة</div>
    </div>
    <div class="type-card">
      <div class="type-title">⚙️ Direct API <span class="type-badge">تحكم كامل</span></div>
      <div class="type-desc">REST API كامل — اصنع تجربة دفع مخصصة بالكامل — مثالي للمطورين والمؤسسات</div>
      <div style="font-size:.72rem;color:var(--g)">→ مناسب لـ: بنوك، أنظمة ERP، تطبيقات مخصصة</div>
    </div>
  </div>
  <div class="section">
    <div class="sec-title">🏦 من يمكنه الربط؟</div>
    <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px">
      <div style="background:#0d1117;border:1px solid var(--border);border-radius:10px;padding:12px">
        <div style="font-size:1.2rem;margin-bottom:6px">🏦</div>
        <div style="font-weight:700;font-size:.85rem;margin-bottom:4px">البنوك والمصارف</div>
        <div style="font-size:.75rem;color:var(--muted)">ادمج Sudanna Pay داخل تطبيق البنك — خدمة إضافية لعملائك</div>
      </div>
      <div style="background:#0d1117;border:1px solid var(--border);border-radius:10px;padding:12px">
        <div style="font-size:1.2rem;margin-bottom:6px">🏥</div>
        <div style="font-weight:700;font-size:.85rem;margin-bottom:4px">المستشفيات والعيادات</div>
        <div style="font-size:.75rem;color:var(--muted)">استقبل مدفوعات المرضى رقمياً بدون نقد</div>
      </div>
      <div style="background:#0d1117;border:1px solid var(--border);border-radius:10px;padding:12px">
        <div style="font-size:1.2rem;margin-bottom:6px">🏛️</div>
        <div style="font-weight:700;font-size:.85rem;margin-bottom:4px">المؤسسات الحكومية</div>
        <div style="font-size:.75rem;color:var(--muted)">استقبل رسوم الخدمات الحكومية إلكترونياً</div>
      </div>
      <div style="background:#0d1117;border:1px solid var(--border);border-radius:10px;padding:12px">
        <div style="font-size:1.2rem;margin-bottom:6px">🛒</div>
        <div style="font-weight:700;font-size:.85rem;margin-bottom:4px">متاجر e-commerce</div>
        <div style="font-size:.75rem;color:var(--muted)">أضف Sudanna Pay كخيار دفع في متجرك</div>
      </div>
    </div>
  </div>
</div>

<!-- TAB: QUICKSTART ───────────────────────────────────────── -->
<div id="tab-quickstart" class="container" style="display:none">
  <div class="section">
    <div class="sec-title">🚀 بداية في 5 خطوات</div>
    <div class="flow-step">
      <div class="step-num">1</div>
      <div class="step-content">
        <div class="step-title">سجّل كشريك (مرة واحدة)</div>
        <div class="step-desc">احصل على API Key و API Secret من تبويب "مفاتيحي"</div>
      </div>
    </div>
    <div class="flow-step">
      <div class="step-num">2</div>
      <div class="step-content">
        <div class="step-title">أنشئ معاملة دفع</div>
        <div class="step-desc">POST /api/partners/init.php → تستلم payment_url</div>
        <div class="code-block"><button class="copy-btn" onclick="copyCode(this)">نسخ</button>
POST https://sudanna.ai/api/partners/init.php
Headers:
  X-Api-Key: sk_live_your_key
  X-Timestamp: 1714000000
  X-Signature: hmac_sha256(timestamp+body, secret)
  Content-Type: application/json

Body:
{
  "amount_sdg": 5000,
  "partner_reference": "ORDER-123",
  "description": "شراء منتج X",
  "callback_url": "https://yoursite.com/webhook",
  "integration_type": "hosted"
}

Response:
{
  "ok": true,
  "payment_id": "PAY20241028ABCD",
  "payment_url": "https://sudanna.ai/pay/checkout.php?session=...",
  "expires_at": "2024-10-28 12:00:00"
}</div>
      </div>
    </div>
    <div class="flow-step">
      <div class="step-num">3</div>
      <div class="step-content">
        <div class="step-title">وجّه العميل للـ payment_url</div>
        <div class="step-desc">العميل يدفع في صفحة سودانا — لا تحتاج frontend خاص</div>
      </div>
    </div>
    <div class="flow-step">
      <div class="step-num">4</div>
      <div class="step-content">
        <div class="step-title">استقبل Webhook عند الدفع</div>
        <div class="step-desc">سودانا يرسل POST لـ callback_url الخاص بك فور اكتمال الدفع</div>
        <div class="code-block"><button class="copy-btn" onclick="copyCode(this)">نسخ</button>
// ما يصلك على webhook_url:
{
  "event": "payment.completed",
  "payment_id": "PAY20241028ABCD",
  "partner_reference": "ORDER-123",
  "amount_sdg": 5000,
  "txn_ref": "TRF20241028XYZ",
  "completed_at": "2024-10-28T10:00:00+03:00"
}</div>
      </div>
    </div>
    <div class="flow-step">
      <div class="step-num">5</div>
      <div class="step-content">
        <div class="step-title">تحقق من الدفع (اختياري)</div>
        <div class="step-desc">GET /api/partners/verify.php?payment_id=XXX للتحقق المستقل</div>
      </div>
    </div>
  </div>
  <div class="section">
    <div class="sec-title">🔐 حساب التوقيع</div>
    <div class="code-block"><button class="copy-btn" onclick="copyCode(this)">نسخ</button>
// PHP
$signature = hash_hmac('sha256', $timestamp . $requestBody, $apiSecret);

// Python
import hmac, hashlib
signature = hmac.new(secret.encode(), (timestamp+body).encode(), hashlib.sha256).hexdigest()

// JavaScript (Node.js)
const crypto = require('crypto');
const sig = crypto.createHmac('sha256', apiSecret).update(timestamp+body).digest('hex');</div>
  </div>
</div>

<!-- TAB: ENDPOINTS ─────────────────────────────────────────── -->
<div id="tab-endpoints" class="container" style="display:none">
  <div class="section">
    <div class="sec-title">📡 API Endpoints الكاملة</div>
    <div class="alert alert-info">Base URL: <strong>https://sudanna.ai/s26</strong> | Version: 1.0</div>
    <div class="endpoint">
      <span class="ep-method ep-post">POST</span><span class="ep-url">/api/partners/register.php</span>
      <div class="ep-desc">تسجيل شريك جديد — تستلم API Key وSecret</div>
    </div>
    <div class="endpoint">
      <span class="ep-method ep-post">POST</span><span class="ep-url">/api/partners/init.php</span>
      <div class="ep-desc">بدء معاملة دفع جديدة — يستلم payment_url + session</div>
    </div>
    <div class="endpoint">
      <span class="ep-method ep-get">GET</span><span class="ep-url">/api/partners/verify.php?payment_id=X</span>
      <div class="ep-desc">التحقق من حالة الدفع — pending | completed | failed | expired</div>
    </div>
    <div class="endpoint">
      <span class="ep-method ep-get">GET</span><span class="ep-url">/api/partners/transactions.php</span>
      <div class="ep-desc">قائمة جميع معاملاتك مع pagination وفلتر بالحالة</div>
    </div>
    <div class="endpoint">
      <span class="ep-method ep-post">POST</span><span class="ep-url">/api/partners/webhook_test.php</span>
      <div class="ep-desc">اختبر webhook endpoint الخاص بك قبل الإنتاج</div>
    </div>
    <div class="endpoint">
      <span class="ep-method ep-get">GET</span><span class="ep-url">/api/partners/widget.php?session=X</span>
      <div class="ep-desc">JS Widget للتضمين inline داخل موقعك</div>
    </div>
  </div>
</div>

<!-- TAB: WIDGET ─────────────────────────────────────────────── -->
<div id="tab-widget" class="container" style="display:none">
  <div class="section">
    <div class="sec-title">🧩 Inline Widget — سطر واحد</div>
    <div class="alert alert-info">ضمِّن نموذج دفع سودانا مباشرة في صفحتك — بدون redirect</div>
    <div class="code-block"><button class="copy-btn" onclick="copyCode(this)">نسخ</button>
&lt;!-- 1. أضف div الحاوي --&gt;
&lt;div id="sudanna-payment"&gt;&lt;/div&gt;

&lt;!-- 2. أضف السكريبت بعد الحصول على session من API --&gt;
&lt;script src="https://sudanna.ai/api/partners/widget.php?session=SESSION_TOKEN"&gt;&lt;/script&gt;

&lt;!-- 3. شغّل الويدجت --&gt;
&lt;script&gt;
  document.addEventListener('SudannaPayReady', function() {
    SudannaPay.mount('sudanna-payment');
  });

  // استقبل نتيجة الدفع
  function SudannaPayCallback(result) {
    if(result.ok) {
      console.log('تم الدفع!', result.txn_ref);
      // أكمل طلب المستخدم هنا
    }
  }
&lt;/script&gt;</div>
    <div class="sec-title" style="margin-top:16px">معاينة الويدجت</div>
    <div style="background:#f0fdf4;border-radius:14px;padding:16px;max-width:360px">
      <div style="background:#073328;border-radius:12px;padding:16px;text-align:center;color:#fff">
        <div style="font-size:1.3rem;margin-bottom:6px">💳</div>
        <div style="font-weight:900;font-size:.95rem;margin-bottom:4px">Sudanna Pay</div>
        <div style="font-size:.78rem;color:rgba(255,255,255,.6);margin-bottom:12px">شراء منتج X</div>
        <div style="background:rgba(255,255,255,.1);border-radius:8px;padding:10px;margin-bottom:12px">
          <div style="font-size:.65rem;color:rgba(255,255,255,.5);margin-bottom:2px">المبلغ</div>
          <div style="font-size:1.4rem;font-weight:900"><span data-price-plus>5,000</span> SDG</div>
        </div>
        <input readonly placeholder="رقم جوالك" style="width:100%;background:rgba(255,255,255,.1);border:none;border-radius:8px;padding:9px;color:#fff;font-family:inherit;font-size:.82rem;text-align:right;margin-bottom:8px">
        <input type="password" readonly placeholder="رقم PIN" style="width:100%;background:rgba(255,255,255,.1);border:none;border-radius:8px;padding:9px;color:#fff;font-family:inherit;font-size:.82rem;text-align:right;margin-bottom:12px">
        <div style="background:#00d97e;border-radius:8px;padding:10px;color:#000;font-weight:800;font-size:.85rem">💳 ادفع الآن</div>
        <div style="font-size:.65rem;color:rgba(255,255,255,.4);margin-top:8px">مدعوم بـ Sudanna Pay | آمن ومشفر</div>
      </div>
    </div>
  </div>
</div>

<!-- TAB: WEBHOOK ────────────────────────────────────────────── -->
<div id="tab-webhook" class="container" style="display:none">
  <div class="section">
    <div class="sec-title">🔔 Webhook — إشعار فوري عند الدفع</div>
    <div class="alert alert-warn">سودانا يرسل POST لـ URL الخاص بك فوراً عند كل حدث</div>
    <div style="font-weight:700;font-size:.85rem;margin-bottom:8px">الأحداث المتاحة:</div>
    <div class="code-block">payment.completed  — تم الدفع بنجاح
payment.failed     — فشل الدفع
payment.expired    — انتهت صلاحية الجلسة
payment.refunded   — تم الاسترداد</div>
    <div style="font-weight:700;font-size:.85rem;margin:12px 0 8px">التحقق من صحة الـ Webhook:</div>
    <div class="code-block"><button class="copy-btn" onclick="copyCode(this)">نسخ</button>
// PHP — تحقق من صحة الـ webhook
$timestamp = $_SERVER['HTTP_X_SUDANNA_TIMESTAMP'];
$signature = $_SERVER['HTTP_X_SUDANNA_SIGNATURE'];
$body      = file_get_contents('php://input');

$expected = hash_hmac('sha256', $timestamp . $body, YOUR_API_SECRET);

if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit('Invalid signature');
}

$payload = json_decode($body, true);
if ($payload['event'] === 'payment.completed') {
    // ابحث عن الطلب بـ partner_reference
    $orderId = $payload['partner_reference'];
    // حدّث حالة الطلب في قاعدة بياناتك
    updateOrderStatus($orderId, 'paid');
}
http_response_code(200);
echo 'OK';</div>
    <div style="font-weight:700;font-size:.85rem;margin:12px 0 8px">اختبر webhook الخاص بك:</div>
    <input type="url" id="wh-url" placeholder="https://yoursite.com/sudanna-webhook" style="width:100%;background:#0d1117;border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font-family:inherit;font-size:.85rem;margin-bottom:8px">
    <button class="btn" onclick="testWebhook()">🔔 أرسل Webhook تجريبي</button>
    <div id="wh-result" style="margin-top:8px;font-size:.8rem"></div>
  </div>
</div>

<!-- TAB: MY KEYS ────────────────────────────────────────────── -->
<div id="tab-mykeys" class="container" style="display:none">
  <div class="section">
    <div class="sec-title">🔑 مفاتيح API الخاصة بك</div>
    <div id="keys-content"><p style="color:var(--muted);text-align:center;padding:20px">جاري التحميل...</p></div>
  </div>
</div>

<nav class="bottom-nav">
  <a href="/app/hub.php" class="ni"><span class="ni-i">🏠</span><span>الهب</span></a>
  <a href="/app/pay.php" class="ni"><span class="ni-i">💳</span><span>Pay</span></a>
  <a href="/app/developer.php" class="ni a"><span class="ni-i">⚡</span><span>Dev Portal</span></a>
  <a href="/app/profile.php" class="ni"><span class="ni-i">👤</span><span>حسابي</span></a>
</nav>

<script>
function showTab(name, btn){
  document.querySelectorAll('.tab').forEach(b=>b.classList.remove('active'));
  document.querySelectorAll('.container').forEach(c=>c.style.display='none');
  if(btn) btn.classList.add('active');
  document.getElementById('tab-'+name).style.display='block';
  if(name==='mykeys') loadKeys();
}

function copyCode(btn){
  const code=btn.closest('.code-block').textContent.replace('نسخ','').trim();
  navigator.clipboard?.writeText(code).then(()=>{btn.textContent='✅';setTimeout(()=>btn.textContent='نسخ',2000);});
}

async function loadKeys(){
  const el=document.getElementById('keys-content');
  try{
    const r=await fetch('/api/partners/register.php',{method:'GET'});
    // Check if already registered
    const r2=await fetch('/api/user/profile.php');
    const d2=await r2.json();
    el.innerHTML=`
      <div class="alert alert-warn">⚠️ الـ API Secret يظهر مرة واحدة فقط عند التسجيل — احفظه فوراً</div>
      <div style="margin-bottom:12px">
        <div class="key-label">نوع الشريك</div>
        <div style="display:flex;gap:8px;flex-wrap:wrap;margin-top:6px">
          <select id="pt" style="background:#0d1117;border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-family:inherit">
            <option value="bank">🏦 بنك / مصرف</option>
            <option value="provider">🏥 مزود خدمة</option>
            <option value="institution">🏛️ مؤسسة حكومية</option>
            <option value="merchant">🏪 تاجر</option>
            <option value="fintech">💻 شركة فينتك</option>
          </select>
        </div>
      </div>
      <div style="margin-bottom:12px">
        <div class="key-label">اسم الشريك / المؤسسة</div>
        <input id="pn" type="text" placeholder="اسم بنكك أو مؤسستك" style="width:100%;background:#0d1117;border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font-family:inherit;font-size:.85rem;margin-top:6px">
      </div>
      <div style="margin-bottom:12px">
        <div class="key-label">رابط الموقع (اختياري)</div>
        <input id="pw" type="url" placeholder="https://yoursite.com" style="width:100%;background:#0d1117;border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font-family:inherit;font-size:.85rem;margin-top:6px">
      </div>
      <div style="margin-bottom:16px">
        <div class="key-label">Webhook URL (اختياري)</div>
        <input id="wh" type="url" placeholder="https://yoursite.com/sudanna-webhook" style="width:100%;background:#0d1117;border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font-family:inherit;font-size:.85rem;margin-top:6px">
      </div>
      <button class="btn" onclick="registerPartner()">⚡ احصل على API Keys</button>
      <div id="keys-result" style="margin-top:12px"></div>
    `;
  }catch(e){el.innerHTML='<p style="color:var(--muted);text-align:center">تعذّر التحميل</p>';}
}

async function registerPartner(){
  const btn=document.querySelector('#keys-content .btn');
  btn.disabled=true;btn.textContent='جاري التسجيل...';
  const r=await fetch('/api/partners/register.php',{method:'POST',headers:{'Content-Type':'application/json'},
    body:JSON.stringify({partner_name:document.getElementById('pn').value,partner_type:document.getElementById('pt').value,website_url:document.getElementById('pw').value,webhook_url:document.getElementById('wh').value})});
  const d=await r.json();
  if(d.ok){
    document.getElementById('keys-result').innerHTML=`
      <div class="alert alert-warn">⚠️ احفظ الـ API Secret الآن — لن يظهر مرة أخرى!</div>
      <div class="key-box"><div class="key-label">API Key</div><div class="key-value">${d.api_key}</div></div>
      <div class="key-box" style="border-color:#dc2626"><div class="key-label">API Secret (احفظه الآن!)</div><div class="key-value" style="color:#f87171">${d.api_secret}</div></div>
      <div class="key-box"><div class="key-label">Partner ID</div><div class="key-value">${d.partner_id}</div></div>
    `;
  }else{
    document.getElementById('keys-result').innerHTML=`<div style="color:#f87171;font-size:.82rem">❌ ${d.error||d.message||'حدث خطأ'}</div>`;
  }
  btn.disabled=false;btn.textContent='⚡ احصل على API Keys';
}

async function testWebhook(){
  const url=document.getElementById('wh-url').value.trim();
  if(!url){alert('أدخل webhook URL');return;}
  const r=await fetch('/api/partners/webhook_test.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({webhook_url:url})});
  const d=await r.json();
  document.getElementById('wh-result').innerHTML=d.ok
    ? '<span style="color:#3fb950">✅ تم إرسال Webhook بنجاح</span>'
    : '<span style="color:#f87171">❌ فشل الإرسال — تحقق من URL</span>';
}
</script><script src="/assets/pricing-loader.js" defer></script>
</body></html>
