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

ميزات جديدة

1. مجموعات المنتجات

قم بتجميع المنتجات المرتبطة معًا لتوفير تجارب دفع موحدة، وخيارات اختيار الخطة، ومسارات ترقية/تخفيض سلسة داخل بوابة العملاء.
صفحة الدفع لمجموعة المنتجات تُظهر خيارات خطط متعددة
الفوائد الرئيسية
  • دفع قائم على المجموعة: عرض جميع المنتجات في المجموعة في شاشة دفع واحدة، مما يتيح للعملاء المقارنة واختيار خطتهم المفضلة
  • إدارة منتجات منظمة: تجميع المنتجات المرتبطة (مثل Starter وPro وEnterprise) ضمن مجموعة واحدة
  • تكامل بوابة العملاء: تمكين العملاء من الترقية أو التراجع بين المنتجات ضمن نفس المجموعة
  • تحكم التاجر: تمكين أو تعطيل المنتجات وإعادة ترتيبها داخل كل مجموعة
كيفية العمل أنشئ جلسة دفع لمجموعة:
const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});

// Redirect customer to the checkout
window.location.href = session.url;
النتيجة: تجربة دفع موحدة حيث يمكن للعملاء عرض جميع المنتجات المتاحة في مجموعتك واختيار ما يرغبون به.
دفع المجموعة مثالي للشركات التي تعتمد على الاشتراكات وتريد أن يقارن العملاء بين الخطط جنبًا إلى جنب قبل الشراء.
تعرف على المزيد: دليل مجموعات المنتجات

2. طرق الدفع RevolutPay وBillie بعملة GBP

توسعت خيارات الدفع؛ إذ أصبحت RevolutPay وBillie متاحتين عالميًا لمعاملات الدفع لمرة واحدة بعملة GBP، مما يمنح عملائك مرونة أكبر في كيفية السداد. طرق دفع جديدة
طريقة الدفعالدول المدعومةالعملةدعم الاشتراكات
RevolutPayعالميGBPلا (مرة واحدة فقط)
BillieعالميGBPلا (مرة واحدة فقط)
  • RevolutPay – مدفوعات سريعة وسلسة لمستخدمي Revolut حول العالم
  • Billie – حل B2B للشراء الآن والدفع لاحقًا يمكّن الشركات من تقديم شروط دفع مرنة لعملائهم
تتوفر هذه الطرق تلقائيًا لمعاملات GBP، ولا يتطلب الأمر أي إعداد إضافي.
تعرف على المزيد: طرق الدفع

3. معاينة جلسة الدفع

معاينة جلسات الدفع قبل إنشائها لحساب التسعير الدقيق والضرائب والخصومات والإجماليات. عرض التسعير الحقيقي للعملاء قبل متابعة الدفع. كيفية العمل
const preview = await client.checkoutSessions.preview({
  product_cart: [
    { product_id: 'prod_123', quantity: 1 }
  ],
  billing_address: {
    country: 'US',
    state: 'CA',
    zipcode: '94102'
  },
  discount_code: 'SAVE20'
});

console.log('Subtotal:', preview.subtotal);
console.log('Tax:', preview.tax);
console.log('Discount:', preview.discount);
console.log('Total:', preview.total);
حالات الاستخدام
  • عرض تسعير مخصص: عرض الإجماليات الدقيقة بما في ذلك الضريبة قبل الدفع
  • التحقق من الخصومات: التحقق من رموز الخصم وعرض التوفير للعملاء
  • دعم عملات متعددة: معاينة التسعير بعملات مختلفة
  • ملخصات السلة: بناء واجهات مستخدم مخصصة للسلة مع التسعير في الوقت الفعلي

Preview API Reference

اطلع على توثيق نقطة النهاية للمعاينة بالكامل.

4. دعم البيانات الوصفية في طلبات تغيير الخطة

أرسل بيانات وصفية مخصصة عند تغيير خطط الاشتراك، مما يتيح تتبعًا أفضل وتكاملاً مع أنظمتك الداخلية أثناء انتقالات الخطط.
// Adding metadata when changing a subscription plan
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_premium',
  proration_billing_mode: 'prorated_immediately',
  quantity: 1,
  metadata: {
    upgrade_reason: 'feature_request',
    previous_plan: 'basic',
    sales_rep: 'john@company.com'
  }
});
حالات الاستخدام
  • تتبع أسباب الترقية/التراجع: حفظ سبب تغيير العملاء للخطط
  • الربط بسجلات إدارة علاقات العملاء: ربط تغييرات الخطط بالأنشطة البيعية
  • التصنيف الداخلي: وسم تغييرات الخطط للتقارير والتحليلات
  • سجلات التدقيق: الاحتفاظ بسجلات من الذي بدأ تغييرات الخطط
تُدرَج البيانات الوصفية في أحداث الويب هوك، مما يسهل معالجة تغييرات الخطط ببياناتك المخصصة.
تعرف على المزيد: دليل البيانات الوصفية | واجهة تغيير الخطة

5. حقل invoice_url في استجابة الدفع واستجابة رابط الدفع

تتضمن استجابة الدفع واستجابة رابط الدفع الآن حقل invoice_url، ما يوفر وصولًا مباشرًا إلى الفاتورة المرتبطة بكل عملية دفع.
{
  "payment_id": "pay_2IjeQm4hqU6RA4Z4kwDee",
  "status": "succeeded",
  "invoice_url": "https://dodopayments.com/invoices/inv_2IsUnWGtRKFLxk7xAQeyt",
  "amount": 9900,
  "currency": "USD",
  // ... other fields
}
حالات الاستخدام
  • التواصل مع العملاء: إرسال روابط الفاتورة مباشرةً إلى العملاء
  • التكامل المحاسبي: ربط المدفوعات بالفواتير في برامج المحاسبة الخاصة بك
  • بوابات الخدمة الذاتية: تمكين العملاء من الوصول إلى فواتيرهم بسهولة
  • حفظ السجلات: الاحتفاظ بإشارات مباشرة إلى مستندات الفاتورة

Get Payment API

اطلع على مخطط استجابة الدفع.

6. نقطة نهاية التحقق من الخصم بواسطة اسم الكود

نقطة نهاية API جديدة للتحقق من رموز الخصم واسترجاعها باستخدام اسم الكود (مثل “SAVE20”) بدلًا من استخدام معرف الخصم الداخلي. تحقق من أهلية الخصومات قبل تطبيقها عند الدفع.
// Validate a discount code before checkout
const discount = await client.discounts.getByCode('SAVE20');

console.log('Discount type:', discount.type);
console.log('Discount value:', discount.amount);
console.log('Valid until:', discount.expires_at);
الفوائد
  • التحقق قبل الدفع: تأكد من صلاحية رموز الخصم قبل إنشاء جلسات الدفع
  • ردود فعل في الوقت الفعلي: أظهر للعملاء ما إذا كان رمزهم صالحًا
  • معالجة الأخطاء: اكتشاف الرموز غير الصالحة أو المنتهية مبكرًا
  • واجهات خصم مخصصة: بناء حقول إدخال رموز الخصم مع التحقق الفوري

Get Discount by Code API

اطلع على توثيق نقطة النهاية بالكامل.

7. قدرات تصفية محسّنة للعملاء والخصومات ومفاتيح الترخيص

مرشحات API جديدة لقوائم العملاء والخصومات ومفاتيح الترخيص، مما يسهل العثور على بياناتك وإدارتها برمجيًا. مرشحات واجهة برمجة التطبيقات للعملاء
المرشحالوصف
emailالتصفية حسب بريد العميل الإلكتروني
nameالتصفية حسب اسم العميل (مطابقة جزئية، غير حساسة لحالة الأحرف)
created_at_gteالتصفية للعملاء الذين تم إنشاؤهم في أو بعد هذا الطابع الزمني
created_at_lteالتصفية للعملاء الذين تم إنشاؤهم في أو قبل هذا الطابع الزمني
// Find customers by name created in the last 30 days
const customers = await client.customers.list({
  name: 'John',
  created_at_gte: '2026-01-01T00:00:00Z'
});
مرشحات واجهة برمجة التطبيقات للخصومات
المرشحالوصف
codeالتصفية حسب رمز الخصم (مطابقة جزئية، غير حساسة لحالة الأحرف)
discount_typeالتصفية حسب نوع الخصم (نسبة مئوية)
activeالتصفية حسب حالة النشاط (true = غير منتهي، false = منتهي)
product_idالتصفية حسب تقييد المنتج (فقط الخصومات التي تنطبق على هذا المنتج)
// Find active percentage discounts for a specific product
const discounts = await client.discounts.list({
  active: true,
  discount_type: 'percentage',
  product_id: 'prod_123'
});
مرشحات واجهة برمجة التطبيقات لمفاتيح الترخيص
المرشحالوصف
customer_idالتصفية حسب معرف العميل
statusالتصفية حسب حالة مفتاح الترخيص (active، expired، disabled)
product_idالتصفية حسب معرف المنتج
created_at_gteالتصفية لمفاتيح الترخيص التي تم إنشاؤها في أو بعد هذا الطابع الزمني
created_at_lteالتصفية لمفاتيح الترخيص التي تم إنشاؤها في أو قبل هذا الطابع الزمني
// Find active license keys for a specific product
const licenseKeys = await client.licenseKeys.list({
  status: 'active',
  product_id: 'prod_123'
});

8. تحسينات واجهة المستخدم/تجربة المستخدم في لوحة التحكم

تتضمن هذه النسخة العديد من التحسينات المرئية والتجريبية عبر لوحة التحكم لتجربة أكثر وضوحًا وتأنقًا. أهم النقاط
  • تحسين التنقل واتساق التخطيط
  • تعزيز تفاعلات جداول البيانات
  • حالات تحميل وردود فعل محسنة
  • تعزيز عناصر التصميم البصري
  • تحسين التوافق مع الأجهزة المحمولة