الانتقال إلى المحتوى الرئيسي
صفحة الدفع
دفع دودو هو صفحة دفع مصممة لتعظيم التحويل والامتثال العالمي موجهة للمنتجات الرقمية وشركات SaaS. تدعم عملات ولغات وضرائب وخصومات وإضافات متعددة، بالإضافة إلى سير عمل امتثال مناسب للأعمال.

Checkout Sessions API

قم بإنشاء جلسات دفع مستضافة برمجياً.

Preview Checkout

احتسب التسعير والضرائب قبل إنشاء الجلسة.

Payment Methods

طرق الدفع المدعومة وخيارات التكوين.

العملة التكيفية

تسمح العملة التكيفية للعملاء بالدفع بعملتهم المحلية المفضلة، مما يعزز الثقة ومعدلات التحويل.

كيف تعمل

  1. تمكين: قم بتمكين العملة التكيفية من الإعدادات → الأعمال
  2. اختيار: يمكن للعملاء تبديل العملات مباشرة عند الخروج
  3. تحويل: يتم تحويل الأسعار ديناميكيًا باستخدام أسعار العملات الحية
  4. عرض: يتم عرض المبلغ النهائي المستحق بشفافية قبل الدفع
محدد العملة عند الخروج

Adaptive Currency

تعرف على المزيد حول العملات المدعومة ورسوم التحويل والتعامل مع الاسترداد.

الدفع متعدد اللغات

تدعم مدفوعات دودي لغات متعددة في صفحة الدفع، مما يسمح للعملاء بإكمال المدفوعات بلغة يشعرون بالراحة بها.
محدد اللغة عند الخروج

النقاط الرئيسية

  • محدد اللغة متاح مباشرة عند الدفع
  • النصوص، والعناوين، ورسائل النظام محلية
  • يحسن الوصول والتحويل الدولي

اللغات المدعومة

تدعم صفحة الدفع 21 لغة:
اللغةالرمز
العربيةar
الكاتالونيةca
الصينيةzh
الهولنديةnl
الإنجليزيةen
الفرنسيةfr
الألمانيةde
العبريةhe
الإندونيسيةid
الإيطاليةit
اليابانيةja
الكوريةko
الملايوms
البولنديةpl
البرتغاليةpt
الرومانيةro
الروسيةru
الإسبانيةes
السويديةsv
التايلانديةth
التركيةtr
يمكنك فرض لغة معينة على صفحة الدفع عن طريق تعيين معامل force_language عند إنشاء جلسة دفع. راجع واجهة برمجة جلسات الدفع للحصول على التفاصيل.

حساب الضرائب التلقائي

يتم حساب الضرائب تلقائياً بناءً على موقع دفع العميل، مما يضمن الامتثال لمتطلبات GST وVAT وضريبة المبيعات دون إعداد يدوي.

كيف يعمل حساب الضرائب

1

Location Detection

تُطبق قواعد الضرائب بناءً على بلد العميل (والمنطقة عند الضرورة).
2

Dynamic Updates

يتم تحديث مبلغ الضريبة تلقائياً عندما:
  • يتغير البلد
  • يتم تحديث العنوان
3

Transparent Display

يتم عرض تفصيل الضريبة النهائي بوضوح قبل الدفع.
يتم أتمتة حساب الضرائب بالكامل. لا حاجة لأي تكوين يدوي للسلع الرقمية القياسية ومنتجات SaaS.

دعم رقم تعريف الضريبة للأعمال

بالنسبة للأعمال المسجلة، تتيح صفحة الدفع للعملاء إدخال رقم تعريف ضريبة العمل (مثل رقم VAT/GST).

ماذا يحدث عند إدخال رقم الضريبة

  • يتم التحقق من الأهلية الضريبية في الوقت الفعلي
  • تُطبق الإعفاءات الضريبية المعمول بها أو قواعد الضريبة المعكوسة
  • يتم تحديث مبلغ الضريبة فوراً على صفحة الدفع
إدخال رقم ضريبة الأعمال عند الخروج
هذا مفيد بشكل خاص لمنتجات SaaS وخدمات رقمية موجهة بين الأعمال حيث قد يكون العملاء التجاريون مؤهلين للإعفاءات الضريبية.

رموز الخصم

يمكن للعملاء تطبيق رموز الخصم أو الترويج التي أنشأتها في لوحة التحكم مباشرة على صفحة الدفع.

تجربة الدفع

  1. يدخل العميل رمز الخصم
  2. يتم التحقق من الخصم فوراً
  3. يتم عرض السعر المحدث والمدخرات بوضوح
إدخال رمز الخصم عند الخروج

تكامل API

تطبيق مسبقًا لرمز خصم واحد أو أكثر أو تفعيل حقل إدخال الخصم:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_codes: ['WELCOME20'], // Pre-apply one or more codes (max 20, applied in order)
  feature_flags: {
    allow_discount_code: true // Show discount input field
  },
  return_url: 'https://yoursite.com/return'
});
discount_codes يستقبل مجموعة تصل إلى 20 رمزًا مكدسًا بالترتيب. الحقل الفردي discount_code تم إهماله لكنه لا يزال يعمل — ليس من الضروري تغيير التكاملات الحالية على الفور. انتقل إلى discount_codes عند التمكن من استخدام التكديس والشكل الأغنى للاستجابة.

Discount Codes

تعلّم كيفية إنشاء وإدارة رموز الخصم.

Validate Discount by Code

ابحث وتحّقق من الخصومات باستخدام أسماء الرموز.

جمع العناوين الذكية

يدعم الدفع إدخال العناوين بمرونة لإكمالها بشكل أسرع.

الخيارات المتاحة

الخيارالوصف
الملء التلقائي لعناوين Googleاختيار سريع مع الإكمال التلقائي
الإدخال اليدويالتحكم الكامل في العناوين الكاملة
اختيار الدولةيحرك منطق الضرائب والامتثال
جمع العناوين يوازن بين السرعة والدقة والتغطية العالمية لتعظيم التحويل مع ضمان الامتثال.

جمع أرقام الهاتف

تحكم فيما إذا كان حقل رقم الهاتف يظهر في صفحة الدفع — وما إذا كان مطلوبًا — باستخدام أعلام ميزة جلسة الدفع.
العلمالافتراضيالسلوك
allow_phone_number_collectiontrueيظهر حقل رقم الهاتف على نموذج الدفع
require_phone_numberfalseيجعل حقل رقم الهاتف مطلوبًا (التحقق من صحة النموذج يفرض وجود قيمة غير فارغة)
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'
});
require_phone_number: true يتطلب allow_phone_number_collection: true. ترفض API الجلسات حيث يكون جمع الهاتف معطلًا بينما رقم الهاتف مطلوب.
استخدم require_phone_number لأنظمة B2B SaaS والصناعات المنظمة أو أي تدفقات تحتاج إلى قناة تواصل موثوقة للدعم أو المراجعة الاحتيالية أو الامتثال.

الحقول المخصصة

جمع معلومات إضافية من العملاء أثناء الدفع عن طريق تحديد حقول النموذج المخصصة. هذا مفيد لجمع بيانات مثل اسم الشركة، حجم الفريق، مصدر الإحالة، أو أي معلومات أخرى خاصة بالعمل.

أنواع الحقول المتاحة

النوعالوصف
textإدخال نصي بخط واحد
numberإدخال رقمي
emailعنوان بريد إلكتروني مع التحقق
urlURL مع التحقق
dateمنتقي التاريخ
dropdownاختيار من خيارات محددة مسبقًا
booleanتبديل نعم/لا

مثال

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  custom_fields: [
    {
      key: 'company_name',
      label: 'Company Name',
      field_type: 'text',
      required: true
    },
    {
      key: 'team_size',
      label: 'Team Size',
      field_type: 'dropdown',
      required: true,
      options: ['1-10', '11-50', '51-200', '200+']
    }
  ],
  return_url: 'https://yoursite.com/return'
});
يتم تضمين ردود العملاء تلقائيًا في حمولات webhook (payment.succeeded, subscription.active) واستجابات API عبر المصفوفة custom_field_responses. يمكنك تحديد ما يصل إلى 5 حقول مخصصة لكل جلسة دفع.

Custom Fields Guide

تعرّف على المزيد حول تكوين الحقول المخصصة والوصول إلى الردود.

سياسة الخصوصية و قبول الشروط

لضمان شفافية الامتثال القانوني:
يساعد هذا في تلبية متطلبات حماية المستهلك العالمية ومتطلبات خصوصية البيانات بما في ذلك التوافق مع GDPR.

دفع التجميع

تمكّن مجموعات المنتجات من تجربة دفع موحدة حيث يمكن للعملاء عرض واختيار من بين منتجات متعددة ذات صلة (مثل خطط Starter وPro وEnterprise) في دفع واحد.

كيف تعمل

  1. عرض جميع المنتجات: يشاهد العملاء كل منتج نشط في المجموعة
  2. تم اختيار المنتج الأول مسبقًا: يتم اختيار المنتج الأول في المجموعة تلقائيًا
  3. مقارنة الخيارات: يمكن للعملاء مقارنة الأسعار والميزات قبل الاختيار
  4. اختيار واحد: بعد اختيار المنتج، يتم المتابعة بالدفع بالطريقة القياسية

إنشاء دفع مجموعات

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'
});
عند استخدام product_collection_id، مرر مصفوفة product_cart فارغة. لا يمكن تطبيق رموز الخصم مسبقًا عند إنشاء الجلسة.

Product Collections

تعرّف على كيفية إنشاء وإدارة مجموعات المنتجات لتجارب دفع موحدة.

تكوين جلسة الدفع

تحكم في سلوك الدفع باستخدام API لجلسات الدفع:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customer: {
    email: 'customer@example.com',
    name: 'Jane Doe'
  },
  billing_currency: 'EUR', // Set specific currency
  discount_codes: ['PROMO10'],
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return',
  cancel_url: 'https://yoursite.com/pricing', // Optional: where to redirect on cancel
  metadata: {
    order_ref: 'ORD-12345'
  }
});
بعد الدفع، يتم إعادة توجيه العملاء إلى return_url الخاص بك مع إلحاق معلمات الاستعلام تلقائيًا — بما في ذلك payment_id أو subscription_id, status, email, وlicense_key (إذا كان ذلك تطبيقيًا). انظر إلى دليل جلسات الدفع للحصول على القائمة الكاملة.

Checkout Sessions API

مرجع API كامل لجلسات الدفع.

Checkout Integration Guide

دليل خطوة بخطوة لتكامل الدفع.

تخصيص مظهر الدفع

خصص مظهر صفحة الدفع لتتناسب مع علامتك التجارية باستخدام customization.theme_config عند إنشاء جلسة دفع عبر API. قم بتكوين الألوان والخطوط ونصف قطر الحدود والنص لزر الدفع في وضعي النهار والليل.
صفحة دفع مخصصة ذات موضوع

Design & Theme Customization

قم بتكوين المواضيع بصريًا من لوحة التحكم باستخدام المواضيع المدمجة، والكتابة، والألوان، والمعاينة الحية.
تغطي هذه الجزء تكوين موضوع API الجانب الخادم باستخدام customization.theme_config. إذا كنت تستخدم SDK الدفع (الدفع عبر التراكب أو الدفع المضمن)، انظر إلى أقسام تخصيص الموضوعات في الدفع عبر التراكب أو الدفع المضمن التي تستخدم خصائص camelCase (مثلاً، bgPrimary بدلاً من bg_primary).

خيارات تكوين المواضيع

الخاصيةالوصف
lightتكوين الألوان لوضع النهار
darkتكوين الألوان لوضع الليل
font_primary_urlرابط للخط الأساسي
font_secondary_urlرابط للخط الثانوي
font_sizeحجم الخط: xs, sm, md, lg, xl, 2xl
font_weightوزن الخط: normal, medium, bold, extraBold
radiusنصف قطر الحدود لعناصر واجهة المستخدم (مثل 4px, 0.5rem, 8px)
pay_button_textنص مخصص لزر الدفع (مثل “إكمال الشراء”, “اشترك الآن”)

تكوين الألوان (وضع النهار/الليل)

يدعم كل وضع (light وdark) الخصائص اللونية التالية:
الخاصيةالوصف
bg_primaryلون الخلفية الأساسي
bg_secondaryلون الخلفية الثانوي
text_primaryلون النص الأساسي
text_secondaryلون النص الثانوي
text_placeholderلون نص العنصر النائب
text_errorلون نص الخطأ
text_successلون نص النجاح
border_primaryلون الحدود الأساسي
border_secondaryلون الحدود الثانوي
button_primaryلون خلفية الزر الأساسي
button_primary_hoverلون تحويم الزر الأساسي
button_secondaryلون خلفية الزر الثانوي
button_secondary_hoverلون تحويم الزر الثانوي
button_text_primaryلون نص الزر الأساسي
button_text_secondaryلون نص الزر الثانوي
input_focus_borderلون حدود تركيز الإدخال
تقبل جميع الحقول اللونية تنسيقات ألوان CSS القياسية:
  • Hex: #fff, #ffffff, #ffffffff
  • RGB/RGBA: rgb(255, 255, 255), rgba(255, 255, 255, 0.5)
  • HSL/HSLA: hsl(120, 100%, 50%), hsla(120, 100%, 50%, 0.5)
  • الألوان المسماة: red, blue, transparent

مثال

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customization: {
    theme_config: {
      // Custom fonts
      font_primary_url: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap',
      font_size: 'md',
      font_weight: 'medium',
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      
      // Light mode colors
      light: {
        bg_primary: '#ffffff',
        bg_secondary: '#f5f5f5',
        text_primary: '#1a1a1a',
        text_secondary: '#666666',
        button_primary: '#0066ff',
        button_primary_hover: '#0052cc',
        button_text_primary: '#ffffff',
        border_primary: '#e0e0e0'
      },
      
      // Dark mode colors
      dark: {
        bg_primary: '#1a1a1a',
        bg_secondary: '#2d2d2d',
        text_primary: '#ffffff',
        text_secondary: '#a0a0a0',
        button_primary: '#3385ff',
        button_primary_hover: '#4d99ff',
        button_text_primary: '#ffffff',
        border_primary: '#404040'
      }
    }
  },
  return_url: 'https://yoursite.com/return'
});
لا تحتاج إلى تحديد جميع الخصائص اللونية. أي خصائص غير محددة ستستخدم القيم الافتراضية للموضوع.
Last modified on May 22, 2026