نظرة عامة
نموذج جاهز للإنتاج للاشتراكات باستخدام Next.js 15، React 19، Supabase، Drizzle ORM، وDodo Payments. يأتي مع مصادقة Google OAuth، عملية الدفع للاشتراك، معالجة الويب هوك، مخطط قاعدة البيانات، ولوحة تحكم أساسية.إذا كنت بحاجة فقط إلى معالجات المسار لتطبيق موجود، راجع المحولات المخصصة: محول Next.js ومحول Express.
المتطلبات الأساسية
- Node.js 18+ (أو Bun 1.0+)
- مشروع Supabase (URL، مفتاح Anon، مفتاح دور الخدمة، URL قاعدة البيانات)
- حساب Dodo Payments (مفتاح API، سر الويب هوك)
- عميل Google Cloud OAuth (معرف العميل والسر)
البدء السريع
1
استنساخ وتثبيت
2
إنشاء مشروع Supabase
قم بإنشاء مشروع Supabase ونسخ:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (سلسلة الاتصال)
3
تكوين Google OAuth
قم بتعيين URI إعادة التوجيه إلى:
https://[your-project-ref].supabase.co/auth/v1/callback في Google Cloud، ثم قم بتمكين موفر Google في مصادقة Supabase باستخدام معرف العميل والسر الخاص بك.4
تكوين Dodo Payments
قم بإنشاء مفتاح API وسر الويب هوك من لوحة معلومات Dodo. قم بتعيين البيئة إلى
test_mode أثناء التطوير.5
إنشاء .env.local
6
توفير مخطط قاعدة البيانات
تم إنشاء الجداول:
users، subscriptions، payments.7
نشر وظيفة الويب هوك
cURL
8
إضافة الويب هوك في Dodo Payments
قم بتعيين عنوان URL لنقطة النهاية إلى:اختر أحداث الدفع والاشتراك.
9
إنشاء المنتجات والميزات
في لوحة معلومات Dodo → المنتجات → إنشاء منتج. أضف بيانات التعريف اختيارياً:تقرأ واجهة تسعير المستخدم هذا
features المصفوفة وتعرضها ديناميكياً.10
تشغيل خادم التطوير
ما هو مدرج
- المصادقة عبر Supabase (تم تكوين Google OAuth)
- عملية الدفع للاشتراك عبر Dodo Payments
- وظيفة Edge من Supabase للويب هوك (
dodo-webhook) - مخطط Drizzle ORM والترحيلات
- لوحة تحكم مع الفواتير، حالة الاشتراك، وميزات الخطة
الملفات والمسارات الرئيسية
- وظيفة Edge
- مسارات Next.js
- قاعدة البيانات (Drizzle)
متغيرات البيئة
Supabase
Supabase
Dodo Payments
Dodo Payments
Google OAuth
Google OAuth
التحقق واستكشاف الأخطاء وإصلاحها
توقيع الويب هوك غير صالح (401)
توقيع الويب هوك غير صالح (401)
- تأكد من أن
DODO_WEBHOOK_SECRETيتطابق مع القيمة من لوحة معلومات Dodo - تأكد من أنك نشرت أحدث
dodo-webhookالوظيفة - تحقق من أن اسم الرأس صحيح في وظيفتك (Dodo-Signature)
فشل دفع قاعدة البيانات
فشل دفع قاعدة البيانات
- تحقق من
DATABASE_URLالتركيب و egress الشبكة في Supabase - انتظر ~2-3 دقائق بعد إنشاء المشروع قبل أول دفع
عدم تطابق إعادة توجيه OAuth
عدم تطابق إعادة توجيه OAuth
- يجب أن يكون URI إعادة التوجيه
https://[ref].supabase.co/auth/v1/callback - تأكد من نفس الشيء في Google Cloud ومزود مصادقة Supabase
لديك الآن نموذج اشتراك SaaS يعمل مع Supabase وDodo Payments.
المستودع الأصلي والخطوات التفصيلية: dodo-supabase-subscription-starter.