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

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

1. تحليلات على مستوى المنتج

كل منتج الآن يمتلك لوحة تحليلات مخصصة له. انتقل إلى المنتجات > [اختر منتجًا] للوصول إلى مقاييس مفصلة خاصة بذلك المنتج، مرتبة على خمسة علامات تبويب:
Product-Level Analytics
علامة التبويبما تحصل عليه
نظرة عامةإجمالي الإيرادات، عدد المدفوعات الناجحة، مخطط اتجاه الإيرادات خلال 30 يومًا (يومي أو تراكمي)، وجدول معاملات يمكن تصفيته
العملاءأفضل 3 عملاء مرتبة حسب الإنفاق مع عرض منصة التتويج، بالإضافة إلى جدول تفصيلي كامل للعملاء
الاحتفاظمعدل تسرب العملاء، معدل تسرب الإيرادات، ومخطط اتجاه بخطين مزدوجين لاكتشاف الأنماط
المشتركونكل الاشتراكات الخاصة بالمنتج مع الحالة، تاريخ البدء، تاريخ الفاتورة التالي، والمبلغ
الإيراد الشهري المتكرر (MRR)مخطط أشرطة مكدسة للإيراد الشهري المتكرر مع تفصيل الإيراد الشهري الجديد، وتوسعة الإيراد الشهري، وإلغاء الإيراد الشهري، وإجمالي الإيراد الصافي الجديد
كل علامات التبويب تدعم مرشح تاريخ (افتراضيًا كل الوقت) حتى تتمكن من استعراض أي فترة زمنية.
استخدم علامة تبويب الاحتفاظ لتحديد المنتجات ذات التسرب العالي مبكرًا، واستخدم علامة تبويب الإيراد الشهري المتكرر لتتبع ما إذا كانت إيرادات التوسعة تتجاوز الإيرادات الملغاة شهريًا.
تعرف على المزيد: تحليلات على مستوى المنتج

2. دعم Verifi RDR على Dodo Payments

تدعم Dodo Payments الآن حل النزاعات السريع من Visa (RDR) بمساعدة Verifi — وهي أداة آلية لمنع النزاعات تقوم بحل نزاعات Visa المؤهلة قبل أن تتحول إلى استرداد رسمي. عندما يبدأ حامل البطاقة نزاعًا، يقوم RDR باعتراضه ويصدر رد مبلغ تلقائيًا إذا كان المبلغ أقل من الحد المحدد بالدولار الأمريكي. لماذا هذا مهم
الفائدةالتأثير
انخفاض معدل النزاعاتالنزاعات التي يحلها RDR لا تحتسب ضمن حد 0.9% الخاص بـ Visa
لا رسوم على النزاعاتتجنب رسوم غير قابلة للاسترداد تتراوح بين 15-25 دولارًا لكل نزاع
لا عبء تشغيليلا حاجة لجمع دلائل أو الالتزام بمواعيد نهائية للرد
تحسين تجربة العميليحصل حاملو البطاقات على ردود فورية
حماية الحسابابق خارج برنامج مراقبة النزاعات الخاص بـ Visa (VDMP)
تجاوز معدل النزاعات البالغ 0.9% أو 100 نزاع في الشهر عند Visa يؤدي إلى تفعيل VDMP، مع غرامات متصاعدة تصل إلى أكثر من 50,000 دولار/شهريًا. يساعدك RDR على البقاء دون هذه الحدود بكثير.
كيف يعمل
  1. يبدأ حامل البطاقة نزاعًا مع البنك
  2. يعترض RDR النزاع قبل أن يتحول إلى استرداد رسمي
  3. إذا كان مبلغ المعاملة عند الحد أو دونه، يتم إصدار رد مبلغ تلقائيًا
  4. يتم حل النزاع فورًا ولا يُحتسب ضمن معدل النزاعات الخاص بك
المعاملات التي تُرد تلقائيًا عبر RDR تظهر كنزاع خاسر في لوحة تحكم Dodo Payments. هذا متوقع — حيث تم إصدار الرد تلقائيًا لمنع استرداد رسمي.
لتمكين Verifi RDR في حسابك، تواصل مع support@dodopayments.com لتكوين الحد الخاص بك. تعرف على المزيد: توثيق Visa RDR

3. أداة سطر الأوامر DodoPayments CLI

نقدم الأداة الجديدة كليًا DodoPayments CLI (dodopayments-cli) — قم بإدارة سير عمل Dodo Payments بالكامل مباشرة من الطرفية. بُنيت للمطورين الذين يفضلون سطر الأوامر، وتتيح الأداة إدارة المنتجات والمدفوعات والعملاء والخصومات والتراخيص والإضافات والاستردادات، بل وحتى إنشاء جلسات السداد دون مغادرة محررك. التثبيت
npm install -g dodopayments-cli
الأوامر الرئيسية
الأمرالوصف
dodo loginالمصادقة باستخدام مفتاح API (يفتح المتصفح)
dodo products listقائمة بكل المنتجات
dodo payments listقائمة بكل المدفوعات
dodo customers createإنشاء عميل جديد
dodo checkout newإنشاء جلسة سداد والحصول على عنوان URL
dodo wh listenإعادة توجيه webhooks اختبار مباشرة إلى الخادم المحلي عبر WebSocket
dodo wh triggerإرسال حمولات webhook وهمية إلى أي نقطة نهاية
اختبار Webhook تتضمن الأداة أدوات قوية للتطوير:
  • dodo wh listen — يفتح اتصال WebSocket لإعادة توجيه Webhooks الاختبارية في الوقت الفعلي إلى الخادم المحلي، مع الحفاظ على الرؤوس الأصلية لاختبار التحقق من التوقيع
  • dodo wh trigger — يرسل حمولات Webhook وهمية تفاعليًا، ويدعم جميع أنواع الأحداث الـ22 عبر الاشتراكات والمدفوعات والاستردادات والنزاعات والتراخيص
يعمل مستمع Webhook فقط مع مفتاح API في وضع الاختبار. تأكد من تسجيل الدخول بمفتاح وضع اختبار قبل استخدام dodo wh listen.
تعرف على المزيد: توثيق CLI

4. إعادة تصميم واجهة بوابة العملاء

تم إعادة تصميم بوابة العملاء تمامًا بواجهة نظيفة وموحدة. تتميز البوابة المُعاد تصميمها بشريط تنقل جانبي على اليسار وأقسام منظمة، مما يوفر للعملاء تجربة خدمة ذاتية أكثر سهولة intuitively.
Customer Portal UI Revamp
ما الجديد
القسمالميزات
الاشتراكات النشطةعرض كل الاشتراكات النشطة مع تفاصيل الخطة، ودورة الفوترة، وتاريخ الدفع التالي
طرق الدفعإدارة طرق الدفع المحفوظة، إضافة بطاقات جديدة، وتحديث تفاصيل الدفع
سجل الفوترةعرض الفواتير السابقة مع إيصالات PDF قابلة للتنزيل
معلومات الفوترةتحرير الاسم والبريد الإلكتروني ورقم الهاتف وعنوان الفوترة
تفاصيل الاشتراكعرض معلومات تفصيلية للاشتراك مع خيارات للإلغاء أو تغيير الخطة
تغييرات الخطةالترقية أو التخفيض عبر مجموعات المنتجات مباشرةً في البوابة
يمكن للعملاء أيضًا تحديث طرق الدفع للاشتراكات النشطة أو إعادة تفعيل الاشتراكات المتوقفة بسبب فشل الدفع — كل ذلك من خلال البوابة المُعاد تصميمها.
البوابة المعاد تصميمها متاحة على https://customer.dodopayments.com/login/{business_id} لوضع الإنتاج وhttps://test.customer.dodopayments.com/login/{business_id} لوضع الاختبار.
تعرف على المزيد: بوابة العملاء

5. تحديث طريقة الدفع في السداد المضمّن

يدعم السداد المضمّن الآن تحديث طرق الدفع للاشتراكات. عندما يحتاج العميل إلى تحديث طريقة الدفع (لاشتراك نشط أو لإعادة تفعيل اشتراك متوقف)، يمكن الآن عرض تدفق تحديث طريقة الدفع مباشرة ضمن تخطيط صفحتك باستخدام السداد المضمّن — مما يوفر تجربة مدمجة وسلسة. كيف يعمل
  1. استدعِ واجهة تحديث طريقة الدفع (Update Payment Method API) للحصول على payment_link:
const response = await client.subscriptions.updatePaymentMethod('sub_123', {
  type: 'new',
  return_url: 'https://example.com/return'
});
  1. استخدم الـ payment_link المُعاد كـ checkoutUrl في السداد المضمّن:
DodoPayments.Checkout.open({
  checkoutUrl: response.payment_link,
  elementId: "dodo-inline-checkout"
});
يعرض الإطار المضمّن فقط نموذج جمع طريقة الدفع، مما يسمح للعملاء بإدخال تفاصيل بطاقة جديدة أو اختيار طريقة دفع محفوظة دون مغادرة صفحتك.
بالنسبة للاشتراكات المتوقفة، يقوم تدفق تحديث طريقة الدفع تلقائيًا بإنشاء خصم للمبالغ المتبقية. راقب الـ payment.succeeded وsubscription.active للتأكد من إعادة التفعيل.
تعرف على المزيد: السداد المضمّن | تحديث طرق الدفع للاشتراكات

6. دعم الملء المسبق لمعرف الضريبة في جلسات السداد

يمكنك الآن ملء معرف الضريبة مسبقًا (مثل رقم ضريبة القيمة المضافة، رقم GST) عند إنشاء جلسة سداد باستخدام المعامل tax_id. هذا مثالي للمعاملات بين الشركات حيث تعرف رقم تعريف الضريبة للعميل بالفعل. عندما يتم ملء المعرف مسبقًا، يتم تعبئة الحقل مسبقًا ويصبح مغلقًا في نموذج السداد.
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  customer: { customer_id: 'cus_123' },
  billing_address: { country: 'DE' },
  tax_id: 'DE999999999',
  return_url: 'https://yoursite.com/return'
});
يتطلب معامل tax_id وجود billing_address يحتوي على حقلcountry على الأقل. يتم التحقق من الأهلية الضريبية في الوقت الفعلي، وتطبق قواعد الخصم العكسي تلقائيًا للمعاملات المؤهلة بين الشركات.
استخدم علم الميزة allow_customer_editing_tax_id للتحكم فيما إذا كان بإمكان العملاء تعديل معرف الضريبة المملوء مسبقًا، وallow_tax_id لتبديل رؤية معرف الضريبة في السداد. تعرف على المزيد: جلسات السداد - معرف الضريبة | مدفوعات بين الشركات

7. مفتاح الترخيص والبريد الإلكتروني في إعادة التوجيه إلى عنوان العودة

بعد إكمال العميل لعملية السداد، تضيف Dodo Payments الآن license_key وemail كمعلمات استعلام في إعادة التوجيه return_url، بالإضافة إلى المعلمات الحالية payment_id/subscription_id وstatus. معلمات الاستعلام المضافة
المعاملالنوعالشرط
payment_idstringمتوفر دائمًا للمدفوعات لمرة واحدة
subscription_idstringمتوفر دائمًا لمدفوعات الاشتراك
statusstringموجود دائمًا
license_keystringموجود إذا كان المنتج يحتوي على مفاتيح ترخيص ممكنة (مفصولة بفواصل عند تعددها)
emailstringموجود إذا كان لدى العميل بريد إلكتروني في السجلات
أمثلة عناوين إعادة التوجيه:
# One-time payment with license key
https://yoursite.com/return?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com

# Subscription with multiple license keys
https://yoursite.com/return?subscription_id=sub_xxx&status=active&license_key=LK-001,LK-002&email=customer%40example.com
استخدم هذه المعلمات لعرض مفاتيح الترخيص أو إرسال بريد تأكيد فورًا في صفحة العودة الخاصة بك، دون الحاجة إلى استدعاء API إضافي.
تعرف على المزيد: جلسات السداد - عنوان العودة | مفاتيح الترخيص في عنوان العودة

8. واجهة تحديث البريد الإلكتروني للعميل

تدعم نقطة النهاية PATCH /customers/{customer_id} الآن تحديث عناوين البريد الإلكتروني للعملاء برمجيًا. حدّث البريد الإلكتروني إلى جانب الاسم ورقم الهاتف والبيانات الوصفية في استدعاء API واحد.
await client.customers.update('cus_123', {
  email: 'newemail@example.com',
  name: 'Updated Name'
});
الحقول القابلة للتحديث
الحقلالنوعالوصف
emailstring | nullعنوان البريد الإلكتروني للعميل
namestring | nullاسم العرض الخاص بالعميل
phone_numberstring | nullرقم الهاتف بالصيغة الدولية
metadataobject | nullأزواج مفتاح-قيمة مخصصة
تحديثات البريد الإلكتروني للعملاء متاحة أيضًا من خلال بوابة العملاء (الخدمة الذاتية)، ولوحة التحكم، والأداة CLI عبر dodo customers update.
تعرف على المزيد: واجهة تحديث العميل | إدارة العملاء

9. إصدار محول Bun

نقدّم @dodopayments/bun — محول إطار عمل مخصص للخادم الأصلي لـ Bun (Bun.serve()). دمج السداد، وبوابة العملاء، وWebhooks مع Bun ببضع أسطر فقط من التعليمات البرمجية. التثبيت
bun add @dodopayments/bun
الإعداد السريع
import { Checkout, CustomerPortal, Webhooks } from "@dodopayments/bun";

Bun.serve({
  routes: {
    "/api/checkout": Checkout({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      returnUrl: process.env.DODO_PAYMENTS_RETURN_URL!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/customer-portal": CustomerPortal({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/webhooks": Webhooks({
      webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY!,
      onPaymentSucceeded: async (payload) => {
        console.log("Payment succeeded:", payload.data.payment_id);
      },
      onSubscriptionActive: async (payload) => {
        console.log("Subscription active:", payload.data.subscription_id);
      },
    }),
  },
});
يدعم محول Bun جميع تدفقات السداد الثلاثة (الثابتة، والديناميكية، والمعتمدة على الجلسة)، وتوليد جلسات بوابة العملاء، ومعالجة Webhooks آمنة مع التحقق من التوقيع والتحقق باستخدام Zod عبر 22 نوع حدث.
ينضم محول Bun إلى عائلة محولات الأطر لدينا التي تضم 11 محولًا بما في ذلك Next.js وNuxt وExpress وFastify وHono وAstro وSvelteKit وRemix وTanStack Start وBetter Auth وConvex.
تعرف على المزيد: توثيق محول Bun | نظرة عامة على محولات الأطر