इंस्टालेशन
Cargo के साथ अपने प्रोजेक्ट में SDK जोड़ें:Cargo.toml में मैन्युअल रूप से जोड़ें:
SDK को Rust 1.75 या बाद के संस्करण की आवश्यकता होती है, जो इष्टतम प्रदर्शन के लिए आधुनिक async सुविधाओं का लाभ उठाता है।
त्वरित प्रारंभ
क्लाइंट डिफ़ॉल्ट रूप से आपका API कुंजीDODO_PAYMENTS_API_KEY परिवेश वेरिएबल से पढ़ता है। क्लाइंट को प्रारंभ करें और अपनी पहली चेकआउट सेशन बनाएँ:
मुख्य विशेषताएं
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 सेकंड है। इसे प्रति क्लाइंट ओवरराइड करें:सामान्य संचालन
एक चेकआउट सत्र बनाएँ
एक चेकआउट सत्र उत्पन्न करें:ग्राहकों को प्रबंधित करें
ग्राहक जानकारी बनाएं और पुनः प्राप्त करें:सब्सक्रिप्शन्स को संभालें
आवर्ती सब्सक्रिप्शन्स बनाएँ और प्रबंधित करें: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-levelrequest builder का उपयोग करें, जो authentication और base URL लागू करता है:
Resources
GitHub Repository
Source code देखें और योगदान करें
Crates.io
Published crate और versions देखें
API Reference
संपूर्ण API documentation
Discord Community
सहायता प्राप्त करें और developers से जुड़ें
Support
Rust SDK के साथ सहायता चाहिए?- Discord: real-time support के लिए हमारे community server से जुड़ें
- Email: support@dodopayments.com पर हमसे संपर्क करें
- GitHub: repository पर issue खोलें