التثبيت
أضف 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 على الأقل رمز ISO مكوّنًا من حرفين country. customer هو تعداد CustomerRequest — مرّر AttachExisting لعميل حالي أو New لعميل جديد. تكون حقول المبالغ مثل product_price بوحدة الفئة الأدنى للعملة (مثلًا، 2500 = 25.00 دولارًا أمريكيًا).الفوترة القائمة على الاستخدام
إدخال أحداث الاستخدام
تتبّع الأحداث المخصصة:إدراج أحداث الاستخدام
ترقيم الصفحات
تعرض نقاط النهاية الخاصة بالإدراج صفحةً ذات نوع محدد، ويحتوي حقل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: انضم إلى خادم مجتمعنا للحصول على دعم فوري
- البريد الإلكتروني: تواصل معنا على support@dodopayments.com
- GitHub: أرسل مشكلة في المستودع