Skip to main content
Rust SDK Rust में लिखी गई एप्लिकेशनों से Dodo Payments REST API तक सुविधाजनक, async-प्रथम पहुँच प्रदान करता है। यह सख्ती से टाइप की गई अनुरोध और प्रतिक्रियाएँ, निर्मित पृष्ठांकन हेल्पर्स, और कॉन्फ़िगरेबल टाइमआउट्स और पर्यावरण प्रदान करता है।

इंस्टालेशन

Cargo के साथ अपने प्रोजेक्ट में SDK जोड़ें:
या इसे अपने Cargo.toml में मैन्युअल रूप से जोड़ें:
SDK को Rust 1.75 या बाद के संस्करण की आवश्यकता होती है, जो इष्टतम प्रदर्शन के लिए आधुनिक async सुविधाओं का लाभ उठाता है।

त्वरित प्रारंभ

क्लाइंट डिफ़ॉल्ट रूप से आपका API कुंजी DODO_PAYMENTS_API_KEY परिवेश वेरिएबल से पढ़ता है। क्लाइंट को प्रारंभ करें और अपनी पहली चेकआउट सेशन बनाएँ:
अपने API कुंजी को हमेशा सुरक्षित रूप से परिवेश वेरिएबल्स का उपयोग करके स्टोर करें। कभी भी इसे अपने स्रोत कोड में हार्ड कोड न करें।

मुख्य विशेषताएं

Async First

Tokio और reqwest पर आधारित कई समर्थन के साथ

Strong Typing

कंपाइल-टाइम सुरक्षा के लिए सख्ती से टाइप की गई अनुरोध और प्रतिक्रियाएँ

Auto-Pagination

पृष्ठों में हर आइटम को स्ट्रीम करें या एक समय में एक पृष्ठ को आगे बढ़ाएँ

Configurable

पर्यावरण, टाइमआउट्स, और बेस URL को प्रति क्लाइंट कॉन्फ़िगर करें

कॉन्फ़िगरेशन

पर्यावरण वेरिएबल्स

डिफ़ॉल्ट रूप से, Client::from_env() आपके API कुंजी को DODO_PAYMENTS_API_KEY परिवेश वेरिएबल से पढ़ता है और डिफ़ॉल्ट बेस URL का उपयोग करता है जब तक कि आप DODO_PAYMENTS_BASE_URL सेट नहीं करते:
आप क्लाइंट को स्पष्ट रूप से भी कॉन्फ़िगर कर सकते हैं। Client::new एक Result लौटाता है, इसलिए इसे ? के साथ अनलॉक करें जो एक dodopayments::Result लौटाता है:

पर्यावरण

डिफ़ॉल्ट आधार URL https://live.dodopayments.com है। URLs को हार्ड-कोड करने के बजाय, Environment एनम का उपयोग करके किसी और पर्यावरण का चयन करें:
एक गैर-डिफ़ॉल्ट पर्यावरण को लक्ष्य करने के दौरान DODO_PAYMENTS_API_KEY से API कुंजी की रीडिंग जारी रखने के लिए, इसे विन्यास में ओवरराइड करें:

टाइमआउट्स

डिफ़ॉल्ट अनुरोध समय समाप्ति 30 सेकंड है। इसे प्रति क्लाइंट ओवरराइड करें:

सामान्य संचालन

एक चेकआउट सत्र बनाएँ

एक चेकआउट सत्र उत्पन्न करें:

ग्राहकों को प्रबंधित करें

ग्राहक जानकारी बनाएं और पुनः प्राप्त करें:

सब्सक्रिप्शन्स को संभालें

आवर्ती सब्सक्रिप्शन्स बनाएँ और प्रबंधित करें:
POST /subscriptions (SDK की subscriptions.create विधि) deprecated है। मौजूदा integrations के लिए यह अभी भी काम करती है, लेकिन नए integrations को Checkout Session के माध्यम से subscriptions बनानी चाहिए।
billing के लिए कम से कम दो-अक्षर वाला ISO country code आवश्यक है। customer एक CustomerRequest enum है — मौजूदा customer के लिए AttachExisting या नए customer के लिए New पास करें। product_price जैसे amount fields मुद्रा की सबसे छोटी denomination में होते हैं (उदाहरण के लिए, 2500 = $25.00 USD)।

Usage-Based Billing

Usage Events Ingest करना

कस्टम events को track करें:

Usage Events की सूची बनाना

Pagination

List endpoints एक typed page लौटाते हैं, जिसके items field में परिणामों का वर्तमान page होता है। into_stream के साथ सभी pages में मौजूद हर item को stream करें:
या get_next_page के साथ एक-एक करके अगले page पर जाएँ:

Error Handling

हर method एक dodopayments::Result<T> लौटाती है। Failures को dodopayments::Error enum द्वारा दर्शाया जाता है। API errors को transport errors से अलग तरीके से handle करने के लिए इस पर match करें:

Undocumented Endpoints

ऐसे endpoint को call करने के लिए जो अभी तक typed method के रूप में expose नहीं किया गया है, low-level request builder का उपयोग करें, जो authentication और base URL लागू करता है:

Resources

GitHub Repository

Source code देखें और योगदान करें

Crates.io

Published crate और versions देखें

API Reference

संपूर्ण API documentation

Discord Community

सहायता प्राप्त करें और developers से जुड़ें

Support

Rust SDK के साथ सहायता चाहिए?

Contributing

हम contributions का स्वागत करते हैं! शुरुआत करने के लिए contributing guidelines देखें।
अंतिम संशोधन 17 अगस्त 2026