مستودع GitHub
نموذج Go + مدفوعات دودي بسيط
نظرة عامة
يوفر نموذج Go نقطة انطلاق جاهزة للإنتاج لدمج مدفوعات دودي مع خلفية Go الخاصة بك. يتضمن هذا القالب معالجة جلسات الدفع، والتحقق من الويب هوك، ودمج بوابة العملاء، ويتبع أفضل الممارسات في Go لمساعدتك على البدء في قبول المدفوعات بسرعة.يستخدم هذا النموذج Go 1.21+ مع أنماط العمارة النظيفة (
cmd، internal، templates)، وقوالب HTML، و dodopayments-go SDK لدمج API بسلاسة.الميزات
- إعداد سريع - ابدأ في أقل من 5 دقائق
- دمج المدفوعات - تدفق دفع مُعد مسبقًا باستخدام
dodopayments-goSDK - واجهة مستخدم حديثة - صفحة تسعير نظيفة ذات طابع داكن مع قوالب HTML
- معالجة الويب هوك - تحقق من أحداث الدفع ومعالجتها بأمان
- بوابة العملاء - إدارة الاشتراكات بشكل ذاتي
- أفضل ممارسات Go - عمارة نظيفة مع
cmd،internal، وtemplates - دفع مسبق - يوضح تمرير بيانات العملاء لتحسين تجربة المستخدم
المتطلبات المسبقة
قبل أن تبدأ، تأكد من أن لديك:- Go 1.21+
- حساب مدفوعات دودي (للوصول إلى مفاتيح API وWebhook من لوحة التحكم)
بدء سريع
1
استنساخ المستودع
2
تثبيت التبعيات
3
احصل على بيانات اعتماد API
سجل في مدفوعات دودي واحصل على بيانات اعتمادك من لوحة التحكم:
- مفتاح API: لوحة التحكم → المطور → مفاتيح API
- مفتاح الويب هوك: لوحة التحكم → المطور → الويب هوك
4
تكوين متغيرات البيئة
أنشئ ملف قم بتحديث القيم باستخدام بيانات اعتماد مدفوعات دودي الخاصة بك:
.env في الدليل الجذر:.env
5
أضف منتجاتك
قم بتحديث
internal/lib/products.go باستخدام معرفات المنتجات الفعلية الخاصة بك من مدفوعات دودي:6
تشغيل خادم التطوير
يجب أن ترى صفحة تسعير ذات طابع داكن مع منتجاتك جاهزة للشراء.
هيكل المشروع
نقاط نهاية API
يتضمن النموذج نقاط النهاية المُعدة مسبقًا التالية:| نقطة النهاية | الطريقة | الوصف |
|---|---|---|
/ | GET | صفحة التسعير مع قائمة المنتجات |
/api/checkout | POST | إنشاء جلسة دفع جديدة |
/api/webhook | POST | معالجة ويب هوك مدفوعات دودي |
/api/customer-portal | POST | توليد عنوان URL لبوابة العملاء |
التخصيص
تحديث معلومات المنتج
قم بتحريرinternal/lib/products.go لتعديل:
- معرفات المنتجات (من لوحة تحكم دودي)
- التسعير
- الميزات
- الأوصاف
ملء بيانات العملاء مسبقًا
فيtemplates/index.html، استبدل بيانات العملاء الثابتة ببيانات المستخدم الفعلية الخاصة بك:
أحداث الويب هوك
يظهر النموذج كيفية التعامل مع أحداث الويب هوك فيinternal/api/webhook.go. تشمل الأحداث المدعومة:
| الحدث | الوصف |
|---|---|
subscription.active | يتم تفعيله عندما يصبح الاشتراك نشطًا |
payment.succeeded | يتم تفعيله عندما تكون المدفوعات ناجحة |
- تحديث أذونات المستخدم في قاعدة بياناتك
- إرسال رسائل تأكيد عبر البريد الإلكتروني
- توفير الوصول إلى المنتجات الرقمية
- تتبع التحليلات والبيانات
اختبار الويب هوك محليًا
للتطوير المحلي، استخدم أدوات مثل ngrok لفتح خادمك المحلي:النشر
بناء للإنتاج
النشر على Vercel
[Docker
أنشئDockerfile:
اعتبارات الإنتاج
استكشاف الأخطاء وإصلاحها
أخطاء البناء أو التبعيات المفقودة
أخطاء البناء أو التبعيات المفقودة
تأكد من تنزيل وحدات Go بشكل صحيح:
فشل إنشاء جلسة الدفع
فشل إنشاء جلسة الدفع
الأسباب الشائعة:
- معرف المنتج غير صالح - تحقق من وجوده في لوحة تحكم دودي
- مفتاح API خاطئ أو إعداد بيئة في
.env - تحقق من سجلات الخادم للحصول على رسائل خطأ مفصلة
الويب هوك لا تتلقى الأحداث
الويب هوك لا تتلقى الأحداث
للاختبار المحلي، استخدم ngrok لفتح خادمك:قم بتحديث عنوان URL للويب هوك في لوحة تحكم دودي إلى عنوان URL الخاص بـ ngrok. تأكد من تحديث ملف
.env الخاص بك بمفتاح التحقق الصحيح للويب هوك.القوالب لا تُحمّل
القوالب لا تُحمّل
تأكد من أنك تقوم بتشغيل الخادم من الدليل الجذر للمشروع، أو أن مسار القوالب مُعد بشكل صحيح في الكود الخاص بك.
تعرف على المزيد
Go SDK
الوثائق الكاملة لـ Go SDK
وثائق الويب هوك
تعرف على جميع أحداث الويب هوك وأفضل الممارسات
جلسات الدفع
استكشاف عميق في تكوين جلسة الدفع
مرجع API
الوثائق الكاملة لمدفوعات دودي API
الدعم
تحتاج إلى مساعدة بشأن النموذج؟- انضم إلى مجتمع Discord لطرح الأسئلة والمناقشات
- تحقق من مستودع GitHub للحصول على المشكلات والتحديثات
- اتصل بفريق الدعم لدينا للحصول على المساعدة