Skip to main content

GitHub Repository

قالب اشتراكات بسيط لـ Next.js + Supabase + Dodo Payments

Live Demo

استكشف العرض التجريبي المنشور

نظرة عامة

قالب جاهز للاستخدام في بيئة الإنتاج للاشتراكات باستخدام Next.js 15 وReact 19 وSupabase وDrizzle ORM وDodo Payments. يتضمن Google OAuth، وإتمام الدفع للاشتراكات، ومعالجة webhook، ومخطط قاعدة البيانات، ولوحة تحكم أساسية.
إذا كنت تحتاج إلى معالجات المسارات فقط لتطبيق موجود، فراجع أدوات التكييف المخصصة: أداة تكييف Next.js وأداة تكييف Express.

المتطلبات الأساسية

  • Node.js 18+ (أو Bun 1.0+)
  • مشروع Supabase (URL، ومفتاح Anon، ومفتاح Service role، وURL قاعدة البيانات)
  • حساب Dodo Payments (مفتاح API، وسر Webhook)
  • عميل Google Cloud OAuth (معرّف العميل والسر)

البدء السريع

1

Clone and install

2

Create Supabase project

أنشئ مشروع Supabase وانسخ ما يلي:
  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • DATABASE_URL (سلسلة الاتصال)
3

Configure Google OAuth

اضبط URI إعادة التوجيه على: https://[your-project-ref].supabase.co/auth/v1/callback في Google Cloud، ثم فعّل موفّر Google في Supabase Auth باستخدام معرّف العميل والسر.
4

Configure Dodo Payments

أنشئ مفتاح API وسر Webhook من لوحة تحكم Dodo. اضبط البيئة على test_mode أثناء التطوير.
5

Create .env.local

لا ترفع الأسرار إلى نظام التحكم بالإصدارات مطلقًا. استخدم متغيرات البيئة في بيئات النشر.
6

Provision database schema

تم إنشاء الجداول: users وsubscriptions وpayments.
7

Deploy webhook function

cURL
8

Add webhook in Dodo Payments

اضبط عنوان endpoint على:
حدّد أحداث الدفع والاشتراك.
9

Create products and features

في لوحة تحكم Dodo، انتقل إلى Products → Create Product. يمكنك اختياريًا إضافة بيانات وصفية:
تقرأ واجهة التسعير مصفوفة features هذه وتعرضها ديناميكيًا.
10

Run the dev server

افتح http://localhost:3000.

ما يتضمنه القالب

  • المصادقة عبر Supabase (تم إعداد Google OAuth)
  • إتمام الدفع للاشتراكات عبر Dodo Payments
  • Supabase Edge Function لمعالجة webhooks (dodo-webhook)
  • مخطط Drizzle ORM وعمليات الترحيل
  • لوحة تحكم تتضمن الفواتير، وحالة الاشتراك، وميزات الخطة
أبقِ DODO_PAYMENTS_ENVIRONMENT مضبوطًا على test_mode حتى تُكمل اختبارات end-to-end.

الملفات والمسارات الرئيسية

متغيرات البيئة

التحقق واستكشاف الأخطاء وإصلاحها

  • تأكد من أن DODO_WEBHOOK_SECRET يطابق القيمة من لوحة تحكم Dodo
  • تأكد من نشر أحدث دالة dodo-webhook
  • تحقّق من صحة اسم الرأس في دالتك (Dodo-Signature)
  • تحقّق من بنية DATABASE_URL ومن خروج شبكة Supabase
  • انتظر نحو دقيقتين إلى 3 دقائق بعد إنشاء المشروع قبل أول push
  • يجب أن يكون URI إعادة التوجيه هو https://[ref].supabase.co/auth/v1/callback
  • تأكد من استخدام القيمة نفسها في Google Cloud وموفّر Supabase Auth
أصبح لديك الآن هيكل SaaS عملي للاشتراكات مبني باستخدام Supabase وDodo Payments.
المستودع الأصلي والخطوات التفصيلية: dodo-supabase-subscription-starter.
آخر تعديل في ٣١ يوليو ٢٠٢٦