التثبيت
أضف SDK إلى مشروعك باستخدام Cargo:Cargo.toml:
يتطلب SDK إصدار Rust 1.75 أو أحدث، مستفيدًا من ميزات النمط غير المتزامن الحديثة لأداء مثالي.
البداية السريعة
يقوم العميل بقراءة مفتاح API الخاص بك من متغير البيئةDODO_PAYMENTS_API_KEY افتراضيًا. قم بتهيئة العميل وقم بإنشاء جلسة الدفع الأولى الخاصة بك:
الميزات الأساسية
Async First
مبني باستخدام Tokio وreqwest بدعم
async/await في جميع الأنحاء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. اختر بيئة أخرى باستخدام Environment enum بدلاً من ترميز عناوين URL يدويًا:
DODO_PAYMENTS_API_KEY عبر from_env() أثناء استهداف بيئة غير افتراضية، تجاوزها على التكوين:
المهلات
مهلة الطلب الافتراضية هي 30 ثانية. تجاوزها لكل عميل:العمليات الشائعة
إنشاء جلسة الدفع
قم بإنشاء جلسة دفع:إدارة العملاء
قم بإنشاء واسترجاع معلومات العميل:معالجة الاشتراكات
إنشاء وإدارة الاشتراكات المتكررة:يتطلب
billing على الأقل الرمز country المكون من حرفين ISO. يعتبر customer نوع CustomerRequest enum — مرر AttachExisting لعميل موجود أو New لعميل جديد. يتم تقديم الحقول المتعلقة بالمبالغ مثل product_price في أدنى فئة عملة (مثلًا، 2500 = $25.00 USD).الفوترة المستندة إلى الاستخدام
تجميع أحداث الاستخدام
تتبع الأحداث المخصصة:قائمة أحداث الاستخدام
التصفح
تقوم نقاط النهاية للقائمة بإعادة صفحة مكتوبة يحتوي حقلitems على الصفحة الحالية من النتائج. بث كل عنصر عبر جميع الصفحات باستخدام into_stream:
get_next_page:
معالجة الأخطاء
كل طريقة تعيدdodopayments::Result<T>. يتم تمثيل الفشل بواسطة نوع dodopayments::Error enum. قم بمطابقته للتعامل مع أخطاء API بشكل مختلف عن أخطاء النقل:
نقاط النهاية غير الموثقة
لإجراء اتصال بنقطة نهاية لم يتم الكشف عنها بعد كطريقة مكتوبة، استخدم أداةrequest منخفضة المستوى، التي تطبق المصادقة وعنوان URL الأساسي:
الموارد
GitHub Repository
عرض الشفرة المصدرية والمساهمة
Crates.io
عرض الحزمة والمنشورات
API Reference
وثائق API الكاملة
Discord Community
احصل على المساعدة واتصل بالمطورين
الدعم
هل تحتاج إلى مساعدة مع Rust SDK؟- Discord: انضم إلى الخادم المجتمعي للحصول على دعم في الوقت الحقيقي
- Email: تواصل معنا عبر support@dodopayments.com
- GitHub: افتح مشكلة على المستودع