मुख्य सामग्री पर जाएं

अवलोकन

बेहतर ऑथ अडाप्टर डोडो पेमेंट्स के लिए प्रदान करता है:
  • साइन-अप पर स्वचालित ग्राहक निर्माण
  • उत्पाद स्लग मैपिंग के साथ चेकआउट सत्र (प्राथमिकता)
  • स्व-सेवा ग्राहक पोर्टल
  • उपयोग-आधारित बिलिंग के लिए मीटर उपयोग इनजेशन और रिपोर्टिंग एंडपॉइंट्स
  • हस्ताक्षर सत्यापन के साथ वास्तविक समय वेबहुक इवेंट प्रोसेसिंग
  • पूर्ण TypeScript समर्थन
इस एकीकरण का उपयोग करने के लिए आपको Dodo Payments खाता और API कुंजियाँ चाहिए।

पूर्वापेक्षाएँ

  • Node.js 20+
  • आपके डोडो पेमेंट्स डैशबोर्ड तक पहुंच
  • better-auth का उपयोग करने वाला मौजूदा प्रोजेक्ट

स्थापना

1

Install dependencies

अपने प्रोजेक्ट रूट में निम्नलिखित कमांड चलाएँ:
अब सभी आवश्यक पैकेज इंस्टॉल हो गए हैं।

सेटअप

1

Configure environment variables

अपने .env फ़ाइल में इन्हें जोड़ें:
API कुंजियों या सीक्रेट्स को वर्शन कंट्रोल में कभी कमिट न करें।
2

Set up server-side integration

src/lib/auth.ts बनाएँ या अपडेट करें:
उत्पादन के लिए environment को live_mode पर सेट करें।
3

Set up client-side integration

src/lib/auth-client.ts बनाएँ या अपडेट करें:

उपयोग के उदाहरण

नए एकीकरणों के लिए authClient.dodopayments.checkoutSession को प्राथमिकता दें। परंपरागत checkout विधि अप्रचलित हो चुकी है और केवल पिछड़ी संगतता के लिए रखी गई है।

चेकआउट सत्र बनाना (प्राथमिकता)

पुरानी checkout विधि के विपरीत, checkoutSession चेकआउट पृष्ठ पर उपयोगकर्ता से बिलिंग जानकारी लेता है। आप billing कुंजी को तर्क में पास करके इसे अधिलेखित कर सकते हैं।
पुरानी checkout विधि के समान, checkoutSession ग्राहक की ईमेल और नाम को उनकी बेहतर-प्रमाणित सत्र से लेती है, हालांकि, आप इसे customer वस्तु के माध्यम से अधिलेखित कर सकते हैं।
आप समान विकल्पों को तर्क में पास कर सकते हैं जैसे कि अनुरोध शरीर Create Checkout Session एंडपॉइंट के लिए।
वापसी URL सर्वर प्लगइन में कॉन्फ़िगर किए गए successUrl से लिया जाता है। आपको ग्राहक पेलोड में return_url शामिल करने की आवश्यकता नहीं है।

लेगेसी चेकआउट (अप्रचलित)

authClient.dodopayments.checkout विधि अप्रचलित है। नए कार्यान्वयन के लिए checkoutSession का उपयोग करें।

ग्राहक पोर्टल तक पहुंच

ग्राहक डेटा सूचीबद्ध करना

मीटर्ड उपयोग को ट्रैक करना

usage() प्लगइन को सर्वर पर सक्षम करें ताकि मीटर्ड इवेंट कैप्चर किया जा सके और ग्राहक अपने उपयोग-आधारित बिलिंग का निरीक्षण कर सकें।
  • authClient.dodopayments.usage.ingest साइन-इन, ईमेल-सत्यापित उपयोगकर्ता के लिए घटनाओं को ग्रहण करता है।
  • authClient.dodopayments.usage.meters.list उन ग्राहकों की सदस्यताओं से जुड़े मीटर के लिए हालिया उपयोग को सूचीबद्ध करता है।
जब उपयोग को ग्रहण किया जा रहा होता है, तो एक घंटे से पुराने या पांच मिनट से अधिक भविष्य के टाइमस्टैम्प अस्वीकार कर दिए जाते हैं।
यदि आप उपयोग मीटर सूचीबद्ध करते समय meter_id छोड़ देते हैं, तो ग्राहक की सदस्यताओं से जुड़े सभी मीटर लौटाए जाते हैं।

वेबहुक्स

वेबहुक प्लगइन Dodo Payments से सुरक्षित हस्ताक्षर सत्यापन के साथ रीयल-टाइम भुगतान घटनाओं को संसाधित करता है। डिफ़ॉल्ट एंडपॉइंट /api/auth/dodopayments/webhooks है।
1

Generate and set webhook secret

अपने एंडपॉइंट URL (जैसे, https://<your-domain>/api/auth/dodopayments/webhooks) के लिए डोडो पेमेंट्स डैशबोर्ड में एक वेबहुक सीक्रेट जनरेट करें और इसे अपने .env फ़ाइल में सेट करें:
2

Handle webhook events

उदाहरण हैंडलर:

समर्थित वेबहुक इवेंट हैंडलर्स

कॉन्फ़िगरेशन संदर्भ

  • client (आवश्यक): DodoPayments क्लाइंट इंस्टेंस
  • createCustomerOnSignUp (वैकल्पिक): उपयोगकर्ता साइनअप पर ऑटो-क्लाइंट बनाएं
  • use (आवश्यक): सक्षम करने के लिए प्लगइन्स की सूची (checkout, portal, usage, webhooks)
  • getCustomerParams (वैकल्पिक): फ़ंक्शन जो BetterAuth User को प्राप्त करता है और DodoPayments क्लाइंट के लिए जोड़ने और अपडेट करने के लिए अतिरिक्त फ़ील्ड्स लौटाता है (उदा. metadata, phone_number)
  • products: उत्पादों की सूची या उत्पाद लौटाने वाला async फ़ंक्शन - successUrl: सफल भुगतान के बाद पुनर्निर्देशित होने वाला URL - authenticatedUsersOnly: उपयोगकर्ता प्रमाणीकरण की आवश्यकता (डिफ़ॉल्ट: false)

समस्या निवारण और टिप्स

  • अमान्य API कुंजी: अपनी DODO_PAYMENTS_API_KEY को .env में दोबारा जांचें। - वेबहुक हस्ताक्षर बेमेल: सुनिश्चित करें कि वेबहुक सीक्रेट Dodo Payments डैशबोर्ड में सेट की गई के समान है। - ग्राहक नहीं बनाया गया: पुष्टि करें कि createCustomerOnSignUp को true पर सेट किया गया है।
  • सभी सीक्रेट्स और कुंजियों के लिए एन्वायरनमेंट वेरिएबल्स का उपयोग करें। - test_mode में परीक्षण करें, उसके बाद live_mode पर स्विच करें। - डिबगिंग और ऑडिट के लिए वेबहुक इवेंट्स को लॉग करें।

LLMs के लिए प्रॉम्प्ट

अंतिम संशोधन 9 जुलाई 2026