مستودع GitHub
نموذج كامل لـ FastAPI + مدفوعات دودي
نظرة عامة
يوفر نموذج FastAPI نقطة انطلاق جاهزة للإنتاج لدمج مدفوعات دودي مع بايثون الخلفية الخاصة بك. يتضمن هذا القالب معالجة جلسات الدفع، والتحقق من الويب هوك، ودمج بوابة العملاء، وأنماط API غير المتزامنة لمساعدتك في البدء في قبول المدفوعات بسرعة.يستخدم هذا النموذج FastAPI مع أنماط async/await، وPydantic للتحقق، و
dodopayments SDK بايثون لدمج API بسلاسة.الميزات
- إعداد سريع - ابدأ في أقل من 5 دقائق
- دعم غير متزامن - مبني على أنماط async/await الأصلية لـ FastAPI
- جلسات الدفع - تدفق دفع مُعد مسبقًا باستخدام SDK بايثون
- معالجة الويب هوك - نقطة نهاية ويب هوك آمنة مع التحقق من التوقيع
- بوابة العملاء - إنشاء جلسات بوابة العملاء بسهولة
- أمان النوع - تحقق كامل من Pydantic وتلميحات النوع
- تكوين البيئة - إعداد متغيرات البيئة الجاهزة للاستخدام
المتطلبات المسبقة
قبل أن تبدأ، تأكد من أن لديك:- بايثون 3.9+ (موصى به: بايثون 3.11+)
- pip أو uv لإدارة الحزم
- حساب مدفوعات دودي (للوصول إلى مفاتيح API وWebhook من لوحة التحكم)
بدء سريع
1
استنساخ المستودع
2
إنشاء بيئة افتراضية
قم بإعداد بيئة بايثون معزولة:أو باستخدام uv لإدارة التبعيات بشكل أسرع:
3
تثبيت التبعيات
4
الحصول على بيانات اعتماد API
قم بالتسجيل في مدفوعات دودي واحصل على بيانات اعتمادك من لوحة التحكم:
- مفتاح API: لوحة التحكم → المطور → مفاتيح API
- مفتاح الويب هوك: لوحة التحكم → المطور → الويب هوك
5
تكوين متغيرات البيئة
قم بإنشاء ملف قم بتحديث القيم باستخدام بيانات اعتماد مدفوعات دودي الخاصة بك:
.env في الدليل الجذر:.env
6
تشغيل خادم التطوير
يجب أن ترى واجهة Swagger الخاصة بـ FastAPI مع جميع نقاط النهاية المتاحة جاهزة للاختبار.
هيكل المشروع
نقاط نهاية API
يتضمن النموذج نقاط النهاية المُعدة مسبقًا التالية:| نقطة النهاية | الطريقة | الوصف |
|---|---|---|
/checkout | POST | إنشاء جلسة دفع جديدة |
/webhook | POST | معالجة ويب هوك مدفوعات دودي |
/customer-portal | POST | توليد عنوان URL لبوابة العملاء |
أمثلة على الكود
إنشاء جلسة دفع
معالجة الويب هوك
دمج بوابة العملاء
أحداث الويب هوك
يظهر النموذج كيفية التعامل مع أحداث الويب هوك الشائعة:| الحدث | الوصف |
|---|---|
payment.succeeded | تم إكمال الدفع بنجاح |
payment.failed | فشل محاولة الدفع |
subscription.active | الاشتراك نشط الآن |
subscription.cancelled | تم إلغاء الاشتراك |
refund.succeeded | تم معالجة الاسترداد بنجاح |
- تحديث أذونات المستخدم في قاعدة البيانات الخاصة بك
- إرسال رسائل تأكيد عبر البريد الإلكتروني
- توفير الوصول إلى المنتجات الرقمية
- تتبع التحليلات والقياسات
اختبار الويب هوك محليًا
للتطوير المحلي، استخدم أدوات مثل ngrok لفتح خادمك المحلي:النشر
دوكر
اعتبارات الإنتاج
استكشاف الأخطاء وإصلاحها
أخطاء الاستيراد أو الوحدات المفقودة
أخطاء الاستيراد أو الوحدات المفقودة
تأكد من تنشيط بيئتك الافتراضية وتثبيت التبعيات:
فشل إنشاء جلسة الدفع
فشل إنشاء جلسة الدفع
الأسباب الشائعة:
- معرف المنتج غير صالح - تحقق من أنه موجود في لوحة تحكم دودي الخاصة بك
- مفتاح API أو إعداد البيئة غير صحيح في
.env - تحقق من سجلات FastAPI للحصول على رسائل خطأ مفصلة
الويب هوك لا تتلقى الأحداث
الويب هوك لا تتلقى الأحداث
للاختبار المحلي، استخدم ngrok لفتح خادمك:قم بتحديث عنوان URL للويب هوك في لوحة تحكم دودي إلى عنوان URL الخاص بـ ngrok. تأكد من تحديث ملف
.env الخاص بك بمفتاح التحقق الصحيح للويب هوك.فشل التحقق من توقيع الويب هوك
فشل التحقق من توقيع الويب هوك
- تأكد من أن
DODO_PAYMENTS_WEBHOOK_KEYتم تعيينه بشكل صحيح في.env - تحقق من أنك تستخدم جسم الطلب الخام للتحقق من التوقيع
- تحقق من أنك تقرأ رأس
webhook-signatureبشكل صحيح
تعرف على المزيد
SDK بايثون
وثائق كاملة لـ SDK بايثون مع دعم غير متزامن
وثائق الويب هوك
تعرف على جميع أحداث الويب هوك وأفضل الممارسات
جلسات الدفع
استكشاف عميق في تكوين جلسات الدفع
مرجع API
وثائق كاملة لواجهة برمجة تطبيقات مدفوعات دودي
الدعم
تحتاج إلى مساعدة بشأن النموذج؟- انضم إلى مجتمع Discord لطرح الأسئلة والمناقشات
- تحقق من مستودع GitHub للمشكلات والتحديثات
- اتصل بفريق الدعم لدينا للحصول على المساعدة