इंस्टालेशन
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 कोड जरूरी है। customer एक CustomerRequest एनम है - एक मौजूदा ग्राहक के लिए AttachExisting पास करें या एक नए के लिए New। राशि क्षेत्रों, जैसे product_price को न्यूनतम मुद्रा विभाजन में रखें (उदाहरण: 2500 = $25.00 USD)।उपयोग-आधारित बिलिंग
उपयोग घटनाएँ इनजेस्ट करें
कस्टम इवेंट ट्रैक करें:उपयोग घटनाएँ सूचीबद्ध करें
पृष्ठांकन
सूची अंत बिंदु एक टाइप की गई पृष्ठ लौटाते हैं जिसकीitems फ़ील्ड वर्तमान परिणामों के पृष्ठ को रखती है। हर पृष्ठ के पार प्रत्येक आइटम को स्ट्रीम करें into_stream के साथ:
get_next_page के साथ:
त्रुटि हैंडलिंग
प्रत्येक विधि एकdodopayments::Result<T> लौटाती है। असफलताओं का प्रतिनिधित्व dodopayments::Error एनम द्वारा किया जाता है। इसे हैंडल करने के लिए API त्रुटियों को ट्रांसपोर्ट त्रुटियों से अलग से मिलाएँ:
अप्रलेखित अंत बिंदु
किसी अंत बिंदु को कॉल करने के लिए जो अभी तक टाइप की गई विधि के रूप में उजागर नहीं किया गया है, निम्न-स्तरीयrequest बिल्डर का उपयोग करें, जो प्रमाणीकरण और आधार URL लागू करता है:
संसाधन
GitHub Repository
स्रोत कोड देखें और योगदान करें
Crates.io
प्रकाशित क्रेट और संस्करण देखें
API Reference
पूर्ण API दस्तावेज़ीकरण
Discord Community
सहायता प्राप्त करें और डेवलपर्स के साथ जुड़ें
सहायता
Rust SDK के साथ मदद की जरूरत है?- Discord: वास्तविक समय समर्थन के लिए हमारे समुदाय सर्वर से जुड़ें
- Email: हमसे संपर्क करें support@dodopayments.com पर
- GitHub: repository पर एक मुद्दा खोलें