الانتقال إلى المحتوى الرئيسي
يوفر Rust SDK وصولاً مناسبًا ومبنيًا على النمط غير المتزامن إلى Dodo Payments REST API من التطبيقات المكتوبة بلغة Rust. يقدم الطلبات والاستجابات المكتوبة بقوة، والمساعدين المدمجين للتصفح، والمهلات القابلة للتكوين والبيئات.

التثبيت

أضف SDK إلى مشروعك باستخدام Cargo:
أو أضفها يدويًا إلى Cargo.toml:
يتطلب SDK إصدار Rust 1.75 أو أحدث، مستفيدًا من ميزات النمط غير المتزامن الحديثة لأداء مثالي.

البداية السريعة

يقوم العميل بقراءة مفتاح API الخاص بك من متغير البيئة DODO_PAYMENTS_API_KEY افتراضيًا. قم بتهيئة العميل وقم بإنشاء جلسة الدفع الأولى الخاصة بك:
احفظ دائمًا مفاتيح API الخاصة بك بشكل آمن باستخدام متغيرات البيئة. لا تقم بتثبيتها بشكل مباشر في شفرة المصدر الخاصة بك.

الميزات الأساسية

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 يدويًا:
للاستمرار في قراءة مفتاح API من 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؟

المساهمة

نرحب بالمساهمات! تحقق من إرشادات المساهمة للبدء.
آخر تعديل في ٢٦ يونيو ٢٠٢٦