GitHub Repository
पूरा FastAPI + Dodo Payments बॉयलरप्लेट
अवलोकन
FastAPI बॉयलरप्लेट Dodo Payments को आपके Python बैकएंड के साथ एकीकृत करने के लिए एक उत्पादन-तैयार प्रारंभिक बिंदु प्रदान करता है। इस टेम्पलेट में चेकआउट सत्र प्रबंधन, वेबहुक सत्यापन, ग्राहक पोर्टल एकीकरण, और भुगतान स्वीकार करने में तेजी लाने के लिए असिंक्रोनस API पैटर्न शामिल हैं।यह बॉयलरप्लेट FastAPI के async/await पैटर्न, Pydantic के लिए मान्यता, और
dodopayments Python SDK का उपयोग करता है ताकि API एकीकरण सुचारू हो सके।विशेषताएँ
- त्वरित सेटअप - 5 मिनट से कम समय में शुरू करें
- असिंक्रोनस समर्थन - FastAPI के मूल async/await पैटर्न के साथ बनाया गया
- चेकआउट सत्र - Python SDK का उपयोग करके पूर्व-निर्धारित चेकआउट प्रवाह
- वेबहुक प्रबंधन - हस्ताक्षर सत्यापन के साथ सुरक्षित वेबहुक एंडपॉइंट
- ग्राहक पोर्टल - आसान ग्राहक पोर्टल सत्र निर्माण
- प्रकार सुरक्षा - पूर्ण Pydantic मान्यता और प्रकार संकेत
- पर्यावरण कॉन्फ़िगरेशन - उपयोग के लिए तैयार पर्यावरण चर सेटअप
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:- Python 3.9+ (अनुशंसित: Python 3.11+)
- pip या uv पैकेज प्रबंधन के लिए
- Dodo Payments खाता (API और वेबहुक कुंजी तक पहुँचने के लिए डैशबोर्ड से)
त्वरित प्रारंभ
1
गिटहब रिपॉजिटरी क्लोन करें
2
वर्चुअल वातावरण बनाएँ
एक अलग Python वातावरण सेट करें:या तेज़ निर्भरता प्रबंधन के लिए uv का उपयोग करें:
3
निर्भरता स्थापित करें
4
API क्रेडेंशियल प्राप्त करें
Dodo Payments पर साइन अप करें और डैशबोर्ड से अपने क्रेडेंशियल प्राप्त करें:
- API कुंजी: डैशबोर्ड → डेवलपर → API कुंजी
- वेबहुक कुंजी: डैशबोर्ड → डेवलपर → वेबहुक
5
पर्यावरण चर कॉन्फ़िगर करें
रूट निर्देशिका में एक अपने Dodo Payments क्रेडेंशियल के साथ मान अपडेट करें:
.env फ़ाइल बनाएँ:.env
6
विकास सर्वर चलाएँ
आपको FastAPI का Swagger UI सभी उपलब्ध एंडपॉइंट्स के साथ परीक्षण के लिए तैयार दिखाई देना चाहिए।
परियोजना संरचना
API एंडपॉइंट्स
बॉयलरप्लेट में निम्नलिखित पूर्व-निर्धारित एंडपॉइंट शामिल हैं:| एंडपॉइंट | विधि | विवरण |
|---|---|---|
/checkout | POST | एक नया चेकआउट सत्र बनाएँ |
/webhook | POST | Dodo Payments वेबहुक को संभालें |
/customer-portal | POST | ग्राहक पोर्टल URL उत्पन्न करें |
कोड उदाहरण
चेकआउट सत्र बनाना
वेबहुक को संभालना
ग्राहक पोर्टल एकीकरण
वेबहुक घटनाएँ
बॉयलरप्लेट सामान्य वेबहुक घटनाओं को संभालने का प्रदर्शन करता है:| घटना | विवरण |
|---|---|
payment.succeeded | भुगतान सफलतापूर्वक पूरा हुआ |
payment.failed | भुगतान प्रयास विफल हुआ |
subscription.active | सदस्यता अब सक्रिय है |
subscription.cancelled | सदस्यता रद्द कर दी गई |
refund.succeeded | धनवापसी सफलतापूर्वक संसाधित की गई |
- अपने डेटाबेस में उपयोगकर्ता अनुमतियों को अपडेट करें
- पुष्टि ईमेल भेजें
- डिजिटल उत्पादों तक पहुँच प्रदान करें
- विश्लेषण और मैट्रिक्स को ट्रैक करें
स्थानीय रूप से वेबहुक का परीक्षण करना
स्थानीय विकास के लिए, अपने स्थानीय सर्वर को उजागर करने के लिए ngrok जैसे उपकरणों का उपयोग करें:तैनाती
डॉकर
उत्पादन विचार
समस्या निवारण
आयात त्रुटियाँ या गायब मॉड्यूल
आयात त्रुटियाँ या गायब मॉड्यूल
सुनिश्चित करें कि आपका वर्चुअल वातावरण सक्रिय है और निर्भरताएँ स्थापित हैं:
चेकआउट सत्र निर्माण विफल होता है
चेकआउट सत्र निर्माण विफल होता है
सामान्य कारण:
- अमान्य उत्पाद ID - सत्यापित करें कि यह आपके Dodo डैशबोर्ड में मौजूद है
.envमें गलत API कुंजी या वातावरण सेटिंग- विस्तृत त्रुटि संदेशों के लिए FastAPI लॉग की जाँच करें
वेबहुक घटनाएँ प्राप्त नहीं कर रहे हैं
वेबहुक घटनाएँ प्राप्त नहीं कर रहे हैं
स्थानीय परीक्षण के लिए, अपने सर्वर को उजागर करने के लिए ngrok का उपयोग करें:ngrok URL पर अपने Dodo डैशबोर्ड में वेबहुक URL अपडेट करें। सुनिश्चित करें कि आप अपने
.env फ़ाइल को सही वेबहुक सत्यापन कुंजी के साथ अपडेट कर रहे हैं।वेबहुक हस्ताक्षर सत्यापन विफल होता है
वेबहुक हस्ताक्षर सत्यापन विफल होता है
- सुनिश्चित करें कि
DODO_PAYMENTS_WEBHOOK_KEYआपके.envमें सही ढंग से सेट है - सत्यापन के लिए कच्चे अनुरोध शरीर का उपयोग कर रहे हैं यह सुनिश्चित करें
- सुनिश्चित करें कि आप
webhook-signatureहेडर को सही ढंग से पढ़ रहे हैं
अधिक जानें
Python SDK
पूर्ण Python SDK दस्तावेज़ जो असिंक्रोनस समर्थन के साथ है
वेबहुक दस्तावेज़
सभी वेबहुक घटनाओं और सर्वोत्तम प्रथाओं के बारे में जानें
चेकआउट सत्र
चेकआउट सत्र कॉन्फ़िगरेशन में गहराई से जाएँ
API संदर्भ
Dodo Payments API दस्तावेज़ का पूरा विवरण
समर्थन
बॉयलरप्लेट के साथ मदद चाहिए?- प्रश्नों और चर्चाओं के लिए हमारे Discord समुदाय में शामिल हों
- मुद्दों और अपडेट के लिए GitHub रिपॉजिटरी की जाँच करें
- सहायता के लिए हमारी समर्थन टीम से संपर्क करें