GitHub Repository
FastAPI + Dodo Payments बायलरप्लेट पूरा करें
अवलोकन
FastAPI बॉयलरप्लेट Dodo Payments को आपके Python बैकएंड के साथ एकीकृत करने के लिए एक उत्पादन-तैयार प्रारंभिक बिंदु प्रदान करता है। इस टेम्पलेट में चेकआउट सत्र प्रबंधन, वेबहुक सत्यापन, ग्राहक पोर्टल एकीकरण, और भुगतान स्वीकार करने में तेजी लाने के लिए असिंक्रोनस API पैटर्न शामिल हैं।यह बायलरप्लेट FastAPI को async/await पैटर्न के साथ, वैलिडेशन के लिए Pydantic, और सहज API इंटीग्रेशन के लिए
dodopayments Python SDK का उपयोग करता है।विशेषताएँ
- त्वरित सेटअप - 5 मिनट से कम समय में शुरू करें
- असिंक्रोनस समर्थन - FastAPI के मूल async/await पैटर्न के साथ बनाया गया
- चेकआउट सत्र - Python SDK का उपयोग करके पूर्व-निर्धारित चेकआउट प्रवाह
- वेबहुक प्रबंधन - हस्ताक्षर सत्यापन के साथ सुरक्षित वेबहुक एंडपॉइंट
- ग्राहक पोर्टल - आसान ग्राहक पोर्टल सत्र निर्माण
- प्रकार सुरक्षा - पूर्ण Pydantic मान्यता और प्रकार संकेत
- पर्यावरण कॉन्फ़िगरेशन - उपयोग के लिए तैयार पर्यावरण चर सेटअप
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:- Python 3.9+ (अनुशंसित: Python 3.11+)
- pip या uv पैकेज प्रबंधन के लिए
- Dodo Payments खाता (API और वेबहुक कुंजी तक पहुँचने के लिए डैशबोर्ड से)
त्वरित प्रारंभ
Create Virtual Environment
एक अलग Python वातावरण सेट अप करें:या तेज़ निर्भरता प्रबंधन के लिए uv का उपयोग करें:
Get API Credentials
Dodo Payments पर साइन अप करें और डैशबोर्ड से अपने प्रमाणपत्र प्राप्त करें:
- API कुंजी: डैशबोर्ड → डेवलपर → API कुंजी
- वेबहुक कुंजी: डैशबोर्ड → डेवलपर → वेबहुक
Configure Environment Variables
रूट डायरेक्टरी में अपने Dodo Payments क्रेडेंशियल के साथ मान अपडेट करें:
.env फ़ाइल बनाएँ:.env
Run the Development Server
आपको FastAPI का Swagger UI दिखाई देना चाहिए जिसमें सभी उपलब्ध एंडपॉइंट्स परीक्षण के लिए तैयार हों।
परियोजना संरचना
API एंडपॉइंट्स
बॉयलरप्लेट में निम्नलिखित पूर्व-निर्धारित एंडपॉइंट शामिल हैं:| एंडपॉइंट | मेथड | विवरण |
|---|---|---|
/checkout | POST | एक नया चेकआउट सेशन बनाएं |
/webhook | POST | Dodo Payments वेबहुक्स को संभालें |
/customer-portal | POST | ग्राहक पोर्टल यूआरएल उत्पन्न करें |
कोड उदाहरण
चेकआउट सत्र बनाना
वेबहुक को संभालना
ग्राहक पोर्टल एकीकरण
वेबहुक घटनाएँ
बॉयलरप्लेट सामान्य वेबहुक घटनाओं को संभालने का प्रदर्शन करता है:| ईवेंट | विवरण |
|---|---|
payment.succeeded | भुगतान सफलतापूर्वक पूरा हुआ |
payment.failed | भुगतान प्रयास असफल रहा |
subscription.active | सदस्यता अब सक्रिय है |
subscription.cancelled | सदस्यता रद्द कर दी गई थी |
refund.succeeded | रिफंड सफलतापूर्वक संसाधित किया गया |
- अपने डेटाबेस में उपयोगकर्ता अनुमतियों को अपडेट करें
- पुष्टि ईमेल भेजें
- डिजिटल उत्पादों तक पहुँच प्रदान करें
- विश्लेषण और मैट्रिक्स को ट्रैक करें
स्थानीय रूप से वेबहुक का परीक्षण करना
स्थानीय विकास के लिए, अपने स्थानीय सर्वर को उजागर करने के लिए ngrok जैसे उपकरणों का उपयोग करें:तैनाती
डॉकर
उत्पादन विचार
समस्या निवारण
Import errors or missing modules
Import errors or missing modules
सुनिश्चित करें कि आपका वर्चुअल वातावरण सक्रिय है और निर्भरताएँ इंस्टॉल की गई हैं:
Checkout session creation fails
Checkout session creation fails
सामान्य कारण:
- अवैध उत्पाद आईडी - जांचें कि यह आपके Dodo डैशबोर्ड में मौजूद है
.envमें गलत API कुंजी या परिवेश सेटिंग- विस्तृत त्रुटि संदेशों के लिए FastAPI लॉग्स जांचें
Webhooks not receiving events
Webhooks not receiving events
लोकल परीक्षण के लिए, अपने सर्वर को एक्सपोज़ करने के लिए ngrok का उपयोग करें:अपने Dodo डैशबोर्ड में वेबहुक URL को ngrok URL में अपडेट करें। सुनिश्चित करें कि आपने
.env फ़ाइल को सही वेबहुक वेरिफिकेशन कुंजी के साथ अपडेट किया है।Webhook signature verification fails
Webhook signature verification fails
- सुनिश्चित करें कि
DODO_PAYMENTS_WEBHOOK_KEYआपके.envमें ठीक से सेट है - सत्यापित करें कि आप हस्ताक्षर सत्यापन के लिए रॉ रिक्वेस्ट बॉडी का उपयोग कर रहे हैं
- जांचें कि आप
webhook-signatureहेडर को सही तरीके से पढ़ रहे हैं
अधिक जानें
Python SDK
Async सपोर्ट के साथ पूर्ण Python SDK दस्तावेज़ीकरण
Webhooks Documentation
सभी वेबहुक ईवेंट्स और सर्वोत्तम प्रथाओं के बारे में जानें
Checkout Sessions
चेकआउट सेशन कॉन्फ़िगरेशन में गहराई से जाएं
API Reference
Dodo Payments API दस्तावेज़ीकरण पूरा करें
समर्थन
बॉयलरप्लेट के साथ मदद चाहिए?- प्रश्नों और चर्चाओं के लिए हमारे Discord समुदाय में शामिल हों
- मुद्दों और अपडेट के लिए GitHub रिपॉजिटरी की जाँच करें
- सहायता के लिए हमारी समर्थन टीम से संपर्क करें