# Turf Edge AI - إعداد الدفع خطوة بخطوة

تاريخ التحديث: 2026-07-10

هذا الملف يشرح كيف نفعّل الدفع الآلي دون حفظ أي مفتاح سري داخل المشروع.

## القاعدة التجارية

كل خطة لها حد أدنى، ولا يوجد سقف أعلى للدفع.

- `Pro`
  الحد الأدنى:
  `29 EUR / month`
- `Elite`
  الحد الأدنى:
  `79 EUR / month`
- `API`
  الحد الأدنى:
  `199 EUR / month`

إذا اختار الزبون دفع أكثر من الحد الأدنى، يتم حفظ الفرق في:

`extraAmount`

## الخطوة 1: PayPal

الحالة الحالية:

`PayPal`

مؤجل إلى 2026-07-11 بسبب طلب تحقق هوية أثناء إنشاء الحساب التجاري.

لا نحتاج إيقاف باقي المشروع. نكمل النشر والتحضير، ثم نعود لهذه الخطوة بعد اكتمال التحقق.

افتح:

`PayPal Developer`

ثم أنشئ:

1. تطبيق:
   `REST API App`
2. منتج:
   `Turf Edge AI`
3. خططا شهرية ثابتة للحد الأدنى:
   `Pro`
   و
   `Elite`
   و
   `API`
4. Webhook بعد نشر الموقع.

المتغيرات التي ستدخل في:

`Vercel`

هي:

- `PAYPAL_ENV`
- `PAYPAL_CURRENCY`
- `PAYPAL_CLIENT_ID`
- `PAYPAL_CLIENT_SECRET`
- `PAYPAL_WEBHOOK_ID`
- `PAYPAL_PRODUCT_ID`
- `PAYPAL_PLAN_PRO`
- `PAYPAL_PLAN_ELITE`
- `PAYPAL_PLAN_API`

لا ترسل هذه المفاتيح في المحادثة.

ضعها مباشرة في:

`Vercel`

ثم:

`Environment Variables`

## الخطوة 2: Webhook PayPal

بعد نشر الموقع على:

`Vercel`

سيكون رابط الويبهوك:

`https://www.turfedgeai.com/api/paypal-webhook`

الأحداث التي نحتاجها:

- `BILLING.SUBSCRIPTION.ACTIVATED`
- `BILLING.SUBSCRIPTION.CANCELLED`
- `BILLING.SUBSCRIPTION.SUSPENDED`
- `BILLING.SUBSCRIPTION.EXPIRED`
- `BILLING.SUBSCRIPTION.PAYMENT.FAILED`
- `PAYMENT.SALE.COMPLETED`

## الخطوة 3: Supabase

لأن قاعدة البيانات أُنشئت قبل إضافة الدفع المتعدد، شغل هذا الملف مرة واحدة فقط في:

`Supabase SQL Editor`

الملف:

`TURF_EDGE_AI_PAYPAL_MIGRATION.sql`

سيضيف أعمدة:

- `payment_provider`
- `paypal_subscription_id`
- `paypal_payer_id`
- `crypto_invoice_id`
- `crypto_transaction_id`

## الخطوة 4: Crypto

هذا خيار جاهز تقنيا لكنه يحتاج مراجعة قانونية ومحاسبية قبل التشغيل التجاري، خصوصا للمقيمين في المغرب.

عند اختيار مزود فاتورة Crypto، سنحتاج:

- `CRYPTO_PROVIDER_NAME`
- `CRYPTO_CREATE_INVOICE_URL`
- `CRYPTO_API_KEY`
- `CRYPTO_API_KEY_HEADER`
- `CRYPTO_WEBHOOK_SECRET`
- `CRYPTO_PRICE_CURRENCY`
- `CRYPTO_PREFERRED_ASSET`
- `CRYPTO_ACCESS_DAYS`

الرابط الذي يعطيه المزود للويبهوك سيكون:

`https://www.turfedgeai.com/api/crypto-webhook`

## الخطوة 5: CMI / Maroc Pay

هذا هو المسار المحلي الأفضل لاحقا للسوق المغربي.

بعد فتح حساب تاجر مع البنك أو:

`CMI`

نحتاج:

- `CMI_MERCHANT_ID`
- `CMI_STORE_KEY`
- `CMI_GATEWAY_URL`
- `CMI_WEBHOOK_SECRET`

لم نفعّل كود:

`CMI`

بعد، لأن ذلك يحتاج معطيات الحساب التجاري وطريقة التوقيع التي يعطيها المزود.

## الخطوة 6: التحقق بعد النشر

بعد وضع المتغيرات في:

`Vercel`

نجرب:

1. فتح:
   `racing-checkout.html?plan=pro`
2. اختيار مبلغ:
   `29 EUR`
3. تجربة مبلغ أعلى:
   `50 EUR`
4. التأكد أن:
   `PayPal`
   ينشئ اشتراكا شهريا.
5. التأكد أن جدول:
   `subscriptions`
   في:
   `Supabase`
   يتحدث تلقائيا.

## مراجع رسمية

- `PayPal Subscriptions API`
  https://developer.paypal.com/docs/api/subscriptions/v1/
- `PayPal Webhooks`
  https://developer.paypal.com/api/rest/webhooks/
- `CMI`
  https://www.cmi.co.ma/
- `Payoneer Checkout`
  https://www.payoneer.com/checkout/
