# Turf Edge AI - Backend Launch Kit

هذه الحزمة تنقل المشروع من واجهة محلية إلى SaaS قابل للربط مع Supabase وStripe.

## الملفات الجديدة

- `api/create-checkout-session.js`: يستقبل `checkout intent` من صفحة `racing-checkout.html` وينشئ Stripe Checkout Session.
- `api/stripe-webhook.js`: يستقبل Webhook من Stripe ويحدث جداول `profiles` و`subscriptions` و`member_access_events`.
- `api/sync-member.js`: ينقل بيانات بوابة المشترك من localStorage إلى Supabase.
- `api/_racingBackend.js`: أدوات مشتركة للبيئة، Stripe، Supabase، وتوقيع webhook.

## مفاتيح البيئة

املأ القيم في منصة الاستضافة، ولا تضع المفاتيح السرية داخل المتصفح:

- `APP_URL`
- `SUPABASE_URL`
- `SUPABASE_SERVICE_ROLE_KEY`
- `STRIPE_SECRET_KEY`
- `STRIPE_WEBHOOK_SECRET`
- `STRIPE_PRICE_FREE`
- `STRIPE_PRICE_PRO`
- `STRIPE_PRICE_ELITE`
- `STRIPE_PRICE_API`

## مسار الدفع الحقيقي

1. المشترك يختار الخطة من `racing-checkout.html`.
2. الصفحة ترسل payload إلى `/api/create-checkout-session`.
3. الخادم ينشئ Stripe Checkout Session ويرجع `checkoutUrl`.
4. بعد الدفع، Stripe يرسل الحدث إلى `/api/stripe-webhook`.
5. webhook يحدث `profiles` و`subscriptions`.
6. الواجهة تفتح ميزات Pro/Elite/API حسب حالة الاشتراك.

## ملاحظات قانونية وتشغيلية

- Turf Edge AI لا يستقبل رهانات ولا أموال رهانات.
- المنتج يقدم تحليلا احتماليا فقط ولا يضمن الربح.
- يجب إبقاء تأكيد +18 واللعب المسؤول قبل الدفع.
- أي شراكة أو affiliate في فرنسا يجب أن تراعي ANJ ومشغلين مرخصين.

## المرحلة التالية

- نشر الموقع على Vercel.
- إدخال SQL في Supabase SQL Editor.
- إنشاء منتجات وأسعار Stripe المطابقة للباقات.
- تعبئة مفاتيح البيئة ثم تجربة `racing-checkout.js`: الصفحة تحاول الآن طلب `/api/create-checkout-session` تلقائيا عند توفر الخادم، وتبقى محلية عند فتحها كملف ثابت.

## تحديث 2026-07-07: الدفع الآلي متعدد الطرق

تم تحويل الخطة التجارية من دفع يدوي إلى مسار آلي أولا.

المزود الأساسي للإطلاق:

`PayPal Subscriptions`

الأدوار:

- `PayPal`: اشتراكات شهرية آلية وتفعيل الحساب بعد موافقة العميل.
- `Supabase`: حفظ العضو، الخطة، حالة الاشتراك، وأحداث الوصول.
- `Payoneer`: احتياطي للتحصيل أو عملاء الشركات، وليس المسار الأساسي للمستخدم العادي.
- `Stripe`: خيار مستقبلي إذا أصبح متاحا أو تم استعمال شركة في بلد مدعوم.

الملفات الجديدة:

- `api/paypal-config.js`
- `api/create-paypal-plan.js`
- `api/paypal-confirm-subscription.js`
- `api/paypal-webhook.js`
- `api/create-crypto-invoice.js`
- `api/crypto-webhook.js`
- `racing-checkout-paypal.js`
- `TURF_EDGE_AI_PAYPAL_MIGRATION.sql`
- `TURF_EDGE_AI_PAYMENT_METHODS_AR.md`

متغيرات البيئة الجديدة:

- `PAYPAL_ENV`
- `PAYPAL_CURRENCY`
- `PAYPAL_CLIENT_ID`
- `PAYPAL_CLIENT_SECRET`
- `PAYPAL_WEBHOOK_ID`
- `PAYPAL_PRODUCT_ID`
- `PAYPAL_PLAN_FREE`
- `PAYPAL_PLAN_PRO`
- `PAYPAL_PLAN_ELITE`
- `PAYPAL_PLAN_API`
- `CRYPTO_PROVIDER_NAME`
- `CRYPTO_CREATE_INVOICE_URL`
- `CRYPTO_API_KEY`
- `CRYPTO_WEBHOOK_SECRET`
- `CRYPTO_PRICE_CURRENCY`
- `CRYPTO_PREFERRED_ASSET`
- `CRYPTO_ACCESS_DAYS`
- `CMI_MERCHANT_ID`
- `CMI_STORE_KEY`
- `CMI_GATEWAY_URL`
- `CMI_WEBHOOK_SECRET`

مسار الدفع الجديد:

1. العضو يختار الخطة من:
   `racing-checkout.html`
2. العضو يستطيع رفع مبلغ الدفع فوق الحد الأدنى دون سقف.
3. الصفحة تعرض زر:
   `PayPal`
4. إذا كان المبلغ أعلى من الحد الأدنى، ينشئ الخادم خطة:
   `PayPal`
   شهرية ديناميكية بنفس المبلغ.
5. العضو يوافق على الاشتراك الشهري.
6. الخادم يستعلم من:
   `PayPal`
   للتأكد من الاشتراك.
7. الخادم يحدّث:
   `profiles`
   و
   `subscriptions`
   و
   `member_access_events`
8. الويبهوك:
   `api/paypal-webhook.js`
   يتابع التجديد والإلغاء والتعليق.

مسار العملات الرقمية:

1. العضو يختار الخطة والمبلغ.
2. الخادم ينشئ فاتورة:
   `Crypto`
   بالمبلغ المختار، بشرط ألا يقل عن الحد الأدنى.
3. بعد تأكيد الدفع عبر webhook يتم تفعيل الوصول لمدة:
   `CRYPTO_ACCESS_DAYS`
4. هذا المسار جاهز تقنيا، لكن تشغيله التجاري يحتاج مراجعة قانونية ومحاسبية.
