الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

الميزات الجديدة

1. الحقوق

تأتي Dodo Payments الآن مع طبقة موحدة من الحقوق - طبقة واحدة تدعم التسليم التلقائي لكل تكامل. يمكن لمنتج واحد تقديم حقوق متعددة مع كل عملية شراء ناجحة أو اشتراك نشط.
لوحة تحكم الحقوق مع قائمة الحقوق على اليسار ونشاط المنح على اليمين
خمسة تكاملات جديدة للمنصات حتى الآن، كانت Dodo Payments تقدم مفاتيح الترخيص و الملفات الرقمية تلقائيًا عند الشراء. تم توسيع نطاق الحقوق ليشمل خمس منصات إضافية - بحيث يمكن للعملاء الذين يدفعون الحصول فورًا على الوصول إلى مجتمعك أو رمزك أو محتواك بمجرد نجاح الدفع، بدون إتمام يدوي من جانبك:
التكاملما يقدمهسلوك الإلغاء
Discordيخصص دورًا تم اختياره في خادم Discord الخاص بك بعد أن يكمل العميل OAuthيتم إزالة الدور عند الإلغاء/الاسترداد
GitHubيضيف العميل كمتعاون إلى مستودع خاص بالمستوى الذي تختارهتتم إزالة المتعاون عند الإلغاء/الاسترداد
Telegramيصدر رابط دعوة للاشتراك لمرة واحدة لدردشة أو قناة خاصة عبر بوت Telegram الخاص بكيتم طرد العميل من الدردشة عند الإلغاء/الاسترداد
Framerيفتح رابط قالب Framer محمي برمز وصوليتم إلغاء تفعيل رمز الوصول عند الإلغاء/الاسترداد
Notionينسخ صفحة قالب Notion إلى مساحة عمل العميل بعد أن يمنح الإذن عبر OAuthيتم أرشفة الصفحة المسلمة عند الإلغاء/الاسترداد
تنضم هذه التكاملات إلى تكاملات مفاتيح الترخيص (مفاتيح فريدة مع حدود التنشيط ومدة الصلاحية) و الملفات الرقمية (روابط تنزيل موقعة للكتب الإلكترونية والقوالب والوسائط) الموجودة، والمدارة جميعاً الآن من خلال نفس دورة حياة المنح. ما تحصل عليه افتراضياً
قدرةالوصف
قوالب قابلة لإعادة الاستخدامحدد حقًا مرة واحدة (حدود التنشيط، حزم الملفات، دور Discord، إذن المستودع، إلخ) واربطه بأي منتج
منح تلقائيةيتم إصدارها على payment.succeeded و subscription.active، متكرر عبر التجديدات وإعادة التنشيط
إلغاء علم بالدورةيتم إلغاؤها على subscription.cancelled، subscription.on_hold، subscription.expired، refund.succeeded، subscription.plan_changed، أو الإلغاء اليدوي عبر API/لوحة التحكم — مع تعبئة revocation_reason
تدفقات OAuth + مباشرة للمنصةOAuth لموافقة مشتركي Discord و GitHub و Notion؛ مكالمات مباشرة للمنصة لـ Telegram و Framer و الملفات الرقمية
اكتشاف الانحرافيكشف عند خروج الدور الخاص بـ Discord أو متعاون GitHub أو صفحة Notion عن المزامنة في مستوى المنصة ويقوم بالإلغاء باستخدام revocation_reason: platform_external
تشفير في حالة راحةيتم تخزين جميع رموز المنصات (OAuth، بوت، تثبيتات التطبيقات) باستخدام AES-256-GCM
السوالب تشتعل أربعة أحداث دورة حياة جديدة لكل منحة:
الحدثيشتعل عندما
entitlement_grant.createdيتم إنشاء منح جديد للعميل
entitlement_grant.deliveredتمت تزويد العميل بالوصول
entitlement_grant.failedلم يتمكن التسليم من الإكمال؛ افحص error_code و error_message
entitlement_grant.revokedتم سحب الوصول؛ افحص revocation_reason
للتكاملات الجديدة، استمع إلى entitlement_grant.delivered بدلاً من payment.succeeded. لا يعني نجاح الدفع أن التسليم قد اكتمل، خاصةً للتكاملات القائمة على OAuth.
تعرف على المزيد: الحقوق | سوالب منح الحقوق

2. أسباب إلغاء الاشتراك في بوابة العملاء

عندما يقوم العملاء بإلغاء اشتراك من بوابة العملاء، يُطلب منهم الآن مشاركة سبب إلغائهم قبل التأكيد. يتم تخزين السبب الملتقط على الاشتراك كـ cancellation_feedback، يتم عرضه في واجهة برمجة التطبيقات وحمولات السوالب، ومتاح في لوحة التحكم بحيث يمكنك ملاحظة أنماط الاضطراب بسرعة.
نموذج إلغاء بوابة العملاء مع القائمة المنسدلة 'لماذا تلغي؟' التي تعرض الأسباب مثل مكلف جداً، الميزات المفقودة، وغيرها
خيارات السبب
القيمةالعلامة الموجهة للعميل
too_expensiveمكلف جداً
missing_featuresالميزات المفقودة
switched_serviceالانتقال إلى خدمة أخرى
unusedعدم استخدامه كثيراً
customer_serviceخدمة عملاء سيئة
low_qualityجودة منخفضة
too_complexمعقد جداً
otherأخرى
أين يظهر
  • كائن الاشتراك: حقل جديد cancellation_feedback (واحد من القيم أعلاه) و cancellation_comment (نص حر اختياري)، يتم تعبئته عندما يلغي العميل
  • subscription.cancelled سوالب: كلا الحقلين مضمنين في الحمولة
  • API: مرر cancellation_feedback و cancellation_comment إلى PATCH /subscriptions/{id} عند جدولة أو تنفيذ إلغاء برمجي
// Reading the captured feedback
const subscription = await client.subscriptions.retrieve('sub_123');
console.log(subscription.cancellation_feedback); // e.g., "too_expensive"
console.log(subscription.cancellation_comment);  // e.g., "Switching to a competitor"
اجمع cancellation_feedback مع إدارة الاشتراك لتخصيص رسائل استعادة عملائك — على سبيل المثال، أرسل رمز خصم إلى too_expensive الملغين واستطلاع “ما الذي تفتقده؟” إلى missing_features الملغين.
تعرف على المزيد: بوابة العملاء | سوالب الاشتراك

3. حد أدنى قابل للتكوين للتفويض INR للتفويضات الإلكترونية

يمكنك الآن إعداد حد التفويض للتفويضات الإلكترونية INR على الاشتراكات الدورية للبطاقات الهندية. سابقًا، كان كل اشتراك للبطاقات الهندية تحت ₹15,000 يستخدم تفويض الطلب المحدد بـ ₹15,000. الآن يمكنك تجاوز هذا الحد على مستوى التاجر — ولكل جلسة دفع أو اشتراك إذا لزم الأمر. مبلغ التفويض المسجل لدى بنك العميل هو max(mandate_min_amount_inr_paise, billing_amount)، لذلك يعمل هذا المبلغ كـ سقف الموافقة كلما كانت الفاتورة أقل من الحد الأدنى.
// Per-subscription override
const subscription = await client.subscriptions.create({
  product_id: 'prod_inr_monthly',
  customer: { email: 'customer@example.in' },
  billing: { country: 'IN' /* ... */ },
  mandate_min_amount_inr_paise: 2_000_000 // ₹20,000 ceiling for this subscription
});

// Or via a checkout session
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_inr_monthly', quantity: 1 }],
  mandate_min_amount_inr_paise: 2_000_000,
  return_url: 'https://yoursite.com/return'
});
أولوية القرار
  1. تجاوز حسب الطلب (mandate_min_amount_inr_paise على جلسة الدفع، الدفع، أو الاشتراك)
  2. إعداد التاجر على مستوى العمل
  3. الافتراضية النظامية بقيمة ₹15,000 (1,500,000 بايزة)
الحقلالنوعالنطاقيطبق على
mandate_min_amount_inr_paiseinteger (INR بايزة)>= 1اشتراكات البطاقات الهندية INR على موصلات غير Airwallex
هذا الإعداد يؤثر فقط على التفويضات الإلكترونية المسجلة لبطاقات الصادرة عن الهند (Visa، Mastercard، RuPay) على اشتراكات INR. اتبع اشتراكات UPI تدفق AutoPay الخاص بها وغير معنونة.
تعرف على المزيد: طرق الدفع في الهند | الاشتراكات مع تفويضات RBI

4. إعداد شامل لرسوم العملة التكيفية

العملة التكيفية هي الخاصية التي تتيح لك شحن العملاء بعملتهم المحلية. افتراضيًا، يتحمل العميل رسوم العملة التكيفية 2–4% ويتم إضافتها فوق السعر المعروض. مع الإعداد الجديد الشامل للرسوم، يمكنك عكس هذا: الحفاظ على السعر المعروض دون تغيير للعميل وامتصاص الرسوم بنفسك. أين يمكن تكوينها اذهب إلى الإعدادات → العمل، تأكد من تمكين التسعير التكيفي، وقم بالتبديل إلى شامل الرسوم في قسم العملة التكيفية. تجاوز حسب الطلب يمكنك أيضًا تجاوز الافتراض التاجر لعمليات الدفع الفردية، المدفوعات، والاشتراكات حسب الطلب باستخدام adaptive_currency_fees_inclusive الثابتة:
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  adaptive_currency_fees_inclusive: true, // override business default
  return_url: 'https://yoursite.com/return'
});
الوضعيرى العميليستقر التاجر
حصري (افتراضي)السعر المحلي + 2–4% فوق ذلكالسعر الأساسي الكامل
شاملالسعر المحلي (دون تغيير)السعر الأساسي ناقص الرسوم 2–4%
التعاملات INR → INR دائمًا ما تعتبر شاملة بغض النظر عن إعداد العمل أو التجاوز حسب الطلب.
تعرف على المزيد: العملة التكيفية

5. تطبيق ديسكتوب Dodo Payments

التطبيق الرسمي Dodo Payments Desktop متاح الآن بشكل عام لنظام التشغيل macOS, Windows, وLinux. أدِر لوحة تحكم الدفعات الخاصة بك كتطبيق محلي سريع - بدون الحاجة إلى علامة تبويب المتصفح.
المنصةتنزيل
macOS (Apple Silicon)Dodo.Payments_<version>_aarch64.dmg
macOS (Intel)Dodo.Payments_<version>_x64.dmg
WindowsDodo.Payments_<version>_x64-setup.exe (أو .msi)
Linux (Debian/Ubuntu)Dodo.Payments_<version>_amd64.deb
Linux (Fedora/RHEL)Dodo.Payments-<version>-1.x86_64.rpm
Linux (AppImage, auto-update)Dodo.Payments_<version>_amd64.AppImage
ما بالداخل
  • تنفيذ محلي صغير — مبني بـ Tauri على webview النظام المحلي، حوالي 5 ميجابايت إجمالي (بدون Chromium مدمج)
  • موقع ومصدق — تم توقيع برامج macOS بمعرف مطور Apple وتوثيقها، لذا لا توجد تحذيرات Gatekeeper
  • تحديث تلقائي — يتحقق كل 4 ساعات ويطبق التحديثات الموقعة تلقائيًا من GitHub Releases (يعمل على macOS، Windows، وLinux AppImage)
  • شريط النظام + شريط القوائم — إخفاء في الدرج على macOS، قوائم كاملة File/Edit/View/Help مع اختصارات لوحة المفاتيح (⌘⇧H يذهب إلى لوحة التحكم، ⌘L ينسخ URL الحالي، ⌘⌥I أدوات المطورين)
  • دعم الربط العميق — روابط اعتماد رابط السحر تفتح مباشرة في التطبيق
  • دعم النوافذ المتعددة — افتح لوحات تحكم متعددة جنبًا إلى جنب
احصل على أحدث مثبت لمنصتك من صفحة إصدار التطبيق لسطح المكتب. المستودع مفتوح المصدر بالكامل.

6. مدفوعات العملات المستقرة (USDC, USDP, USDG)

اقبل مدفوعات العملات المستقرة عالميًا مع تسوية بالدولار الأمريكي. يدفع العملاء من محفظة العملة المستقرة المفضلة لديهم على الشبكة التي يختارونها؛ أنت تتلقى الدولار الأمريكي العادي بدون تعرض لتقلبات العملات المشفرة، بدون عكس عمليات الدفع، ولا حاجة للبنية التحتية المصرفية من جانب العميل. العملات والشبكات المدعومة
العملة المستقرةالشبكات
USDCEthereum، Solana، Polygon، Base
USDPEthereum، Solana
USDGEthereum
التغطية
التفاصيلالقيمة
عملة الفوترةUSD
الدول المدعومةعالميًا (باستثناء الهند)
الاشتراكاتغير مدعوم (مدفوعات لمرة واحدة فقط)
الحد الأدنى للمبلغ$0.50
التسويةUSD
التكوين مرر crypto في allowed_payment_method_types عند إنشاء جلسة دفع:
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['crypto', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
يظهر للعميل عنوان محفظة ورمز QR مع المبلغ المحسوب للعملة المستقرة بسعر الصرف في الزمن الفعلي؛ بمجرد أن يؤكد blockchain العملية، تشتعل سوالب payment.succeeded الخاصة بك ويتم تحويل العميل إلى صفحة النجاح الخاصة بك.
مدفوعات العملات المستقرة غير قابلة للعكس بطبيعتها — لا توجد عمليات عكس للمدفوعات. نوصي دائمًا بعرض credit و debit كطرق احتياطية للعملاء الذين لا يمتلكون محفظة عملة مستقرة.
تعرف على المزيد: مدفوعات العملات المستقرة

7. استيراد مفاتيح الترخيص الحالية

يمكنك الآن استيراد مفاتيح الترخيص من نظام آخر إلى Dodo Payments باستخدام واجهة برمجة تطبيقات Create License Key. يفتح هذا عملية الترحيل بدون انقطاع من أي مزود خارجي لمفاتيح الترخيص، بحيث يمكن لعملائك الحاليين الاستمرار في تفعيل مفاتيحهم والتحقق منها وإلغاء تفعيلها ضد Dodo Payments بدون إعادة الإصدار.
const licenseKey = await client.licenseKeys.create({
  customer_id: 'cus_abc123',
  product_id: 'prod_456',
  key: 'YOUR-EXISTING-LICENSE-KEY',
  activations_limit: 5,
  expires_at: '2026-12-31T23:59:59Z',
});
يتم وضع علامات على المفاتيح المستوردة بـ source: "import" (مقابل source: "auto" للمفاتيح التي تم إنشاؤها تلقائيًا عند الدفع)، بحيث يمكنك التمييز بين المخزون المهاجر من المفاتيح المصدرة من Dodo Payments عند استعلام GET /license_keys. payment_id على المفاتيح المستوردة هو null لأنها ليست مرتبطة بمعاملة Dodo Payments.
لا تؤدي مفاتيح الترخيص التي تُنشأ أو تُحدث عبر واجهة البرمجة إلى تحذير البريد الإلكتروني للعملاء. إذا كنت بحاجة إلى إعلام العملاء بمفتاح مستورد، تعامل مع ذلك بشكل منفصل في تطبيقك.
الهجرة من Polar.sh أو Lemon Squeezy؟ dodo-migrate CLI يُؤتمت بعمليات استيراد كبيرة للمنتجات والعملاء والخصومات ومفاتيح الترخيص في أمر واحد.
تعرف على المزيد: مفاتيح الترخيص | واجهة برمجة تطبيقات Create License Key

8. require_phone_number للجلسات الدفعية

إلزم العملاء بتقديم رقم هاتف أثناء الدفع عن طريق تعيين feature_flags.require_phone_number: true عند إنشاء جلسة دفع. يصبح رقم الهاتف حقلًا مطلوبًا في نموذج الدفع، مع التحقق من صحة النموذج مؤكداً “رقم الهاتف مطلوب” إذا تركه العميل فارغًا.
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  feature_flags: {
    allow_phone_number_collection: true,
    require_phone_number: true
  },
  return_url: 'https://yoursite.com/return'
});
العلمالافتراضيالسلوك
allow_phone_number_collectiontrueيظهر حقل رقم الهاتف على الدفع
require_phone_numberfalseيجعل حقل رقم الهاتف مطلوبًا
require_phone_number: true يتطلب allow_phone_number_collection: true. ترفض واجهة البرمجة الجلسات حيث require_phone_number يكون صحيحًا بينما يكون تجميع الهاتف معطلا.
مفيد للأعمال التجارية بين الشركات، الصناعات المنظمة، أو أي تدفق حيث تحتاج إلى قناة اتصال موثوقة للدعم، مراجعة الاحتيال، أو الامتثال.
تعرف على المزيد: ميزات الدفع | واجهة برمجة تطبيقات إنشاء جلسة دفع

إصلاحات الأخطاء والتحسينات

  • إصلاحات الأخطاء الطفيفة وتحسينات الاستقرار عبر المنصة
Last modified on May 14, 2026