अवलोकन
Astro न्यूनतम बॉयलरप्लेट आपके Astro एप्लिकेशन के साथ Dodo Payments को एकीकृत करने के लिए एक तैयार-से-उपयोग प्रारंभिक बिंदु प्रदान करता है। इस टेम्पलेट में चेकआउट सत्र, वेबहुक हैंडलिंग, ग्राहक पोर्टल, और आधुनिक UI घटक शामिल हैं जो आपको जल्दी से भुगतान स्वीकार करने में मदद करते हैं।यह बॉयलरप्लेट Astro 5, TypeScript, Tailwind CSS 4, और
@dodopayments/astro एडाप्टर का उपयोग करता है।विशेषताएँ
- Quick Setup - 5 मिनट से कम समय में शुरू करें
- Payment Integration -
@dodopayments/astroका उपयोग करके प्री-कॉन्फ़िगर किए गए चेकआउट फ़्लो - Modern UI - Tailwind CSS के साथ साफ़-सुथरा, डार्क-थीम वाला प्राइसिंग पेज
- Webhook Handler - भुगतान ईवेंट्स के लिए तैयार उपयोग करने योग्य वेबहुक एंडपॉइंट
- Customer Portal - एक-क्लिक सब्सक्रिप्शन प्रबंधन
- TypeScript - पूरी तरह से टाइप किया गया, कम और केंद्रित टाइप्स के साथ
- Pre-filled Checkout - बेहतर UX के लिए ग्राहक डेटा पास करने का प्रदर्शन
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:- Node.js LTS संस्करण (Astro 5 के लिए आवश्यक)
- Dodo Payments खाता (डैशबोर्ड से API और वेबहुक कुंजी तक पहुँचने के लिए)
त्वरित प्रारंभ
Get API Credentials
Dodo Payments पर साइन अप करें और डैशबोर्ड से अपनी क्रेडेंशियल्स प्राप्त करें:
- API कुंजी: डैशबोर्ड → डेवलपर → API कुंजी
- वेबहुक कुंजी: डैशबोर्ड → डेवलपर → वेबहुक
Configure Environment Variables
रूट डायरेक्टरी में अपने Dodo Payments क्रेडेंशियल के साथ मान अपडेट करें:
.env फ़ाइल बनाएँ:Run the Development Server
परियोजना संरचना
अनुकूलन
उत्पाद जानकारी अपडेट करें
src/lib/products.ts को संपादित करें ताकि आप निम्न को संशोधित कर सकें:
- अपने Dodo डैशबोर्ड से उत्पाद आईडी
- मूल्य निर्धारण
- विशेषताएँ
- विवरण
ग्राहक डेटा पूर्व-भरा करें
src/components/ProductCard.astro में, हार्डकोड किए गए मानों को अपने वास्तविक उपयोगकर्ता डेटा से बदलें:
ग्राहक पोर्टल अपडेट करें
src/components/Header.astro में, हार्डकोड ग्राहक आईडी को अपने ऑथ सिस्टम या डेटाबेस से वास्तविक ग्राहक आईडी से बदलें:
वेबहुक घटनाएँ
यह बॉयलरप्लेटsrc/pages/api/webhook.ts में वेबहुक ईवेंट्स को हैंडल करने का प्रदर्शन करता है:
-
onSubscriptionActive- जब एक सब्सक्रिप्शन सक्रिय हो जाता है तब ट्रिगर -
onSubscriptionCancelled- जब एक सब्सक्रिप्शन रद्द किया जाता है तब ट्रिगर -
onSubscriptionActive- जब एक सदस्यता सक्रिय होती है तो ट्रिगर किया जाता है -
onSubscriptionCancelled- जब एक सदस्यता रद्द की जाती है तो ट्रिगर किया जाता है
तैनाती
यह बॉयलरप्लेट API मार्गों के लिए मांग पर रेंडरिंग के साथ स्थैतिक आउटपुट का उपयोग करता है। आपको अपने तैनाती प्लेटफ़ॉर्म के लिए एक एडेप्टर स्थापित करने की आवश्यकता होगी:| प्लेटफ़ॉर्म | गाइड |
|---|---|
| Vercel | Vercel पर तैनात करें |
| Netlify | Netlify पर तैनात करें |
| Cloudflare | Cloudflare पर तैनात करें |
वेबहुक URL अपडेट करें
तैनाती के बाद, अपने वेबहुक URL को Dodo Payments डैशबोर्ड में अपडेट करें:DODO_PAYMENTS_WEBHOOK_KEY पर्यावरण चर को अपडेट करना न भूलें।
समस्या निवारण
Module not found or build errors
Module not found or build errors
node_modules को हटाएँ और डिपेंडेंसीज़ को फिर से इंस्टॉल करें:Checkout redirect fails
Checkout redirect fails
Common causes:
- अमान्य उत्पाद आईडी - सुनिश्चित करें कि यह आपके Dodo डैशबोर्ड में मौजूद है
.envमें गलत API कुंजी या पर्यावरण सेटिंग- त्रुटियों के लिए ब्राउज़र कंसोल और टर्मिनल जांचें
Webhooks not receiving events
Webhooks not receiving events
लोकल परीक्षण के लिए, अपने सर्वर को एक्सपोज़ करने के लिए ngrok का उपयोग करें:अपने Dodo dashboard में वेबहुक URL को ngrok URL में अपडेट करें। सही वेबहुक सत्यापन कुंजी के साथ अपने .env फ़ाइल को अपडेट करना न भूलें।
Customer portal link doesn't work
Customer portal link doesn't work
src/components/Header.astro में हार्डकोड CUSTOMER_ID को अपने Dodo डैशबोर्ड से वास्तविक ग्राहक आईडी से बदलें।या अपने ऑथेंटिकेशन सिस्टम और डेटाबेस को इंटीग्रेट करें ताकि ग्राहक आईडी को डायनामिक रूप से प्राप्त किया जा सके।Build fails with adapter error
Build fails with adapter error
यह बॉयलरप्लेट ऑन-डिमांड API रूट्स के साथ स्टैटिक आउटपुट का उपयोग करता है। आपको डिप्लॉयमेंट के लिए एक एडाप्टर इंस्टॉल करना होगा:विस्तार के लिए Astro’s deployment guides देखें।
अधिक जानें
सहायता
बॉयलरप्लेट के साथ मदद चाहिए?- प्रश्नों और चर्चाओं के लिए हमारे Discord समुदाय में शामिल हों
- मुद्दों और अपडेट के लिए GitHub रिपॉजिटरी की जांच करें
- सहायता के लिए हमारी सहायता टीम से संपर्क करें