
Checkout Sessions
قم بتطبيق الرموز أثناء إتمام الدفع المستضاف باستخدام
discount_code وعناصر التحكم في واجهة المستخدم.Get Discount
استرجع خصمًا باستخدام معرّفه لفحص حالته وقيوده.
Get Discount by Code
ابحث عن الخصم وتأكد من صحته باستخدام اسم الرمز الخاص به (على سبيل المثال، “SAVE20”).
Create Discount (API)
أنشئ رموز خصم جديدة برمجيًا.
List & Update Discounts
تصفح وإدارة الخصومات الحالية؛ قم بالتحديث أو الحذف حسب الحاجة.
Plan Change Discounts
تطبيق رموز الخصم عند ترقية أو تخفيض خطط الاشتراك.
ما هي رموز الخصم؟
رموز الخصم هي رموز ترويجية تقلل إجمالي الطلب عند الدفع. استخدمها للحملات الموسمية، أو حوافز الشراء الأول، أو عروض استعادة العملاء، أو أسعار B2B المتفاوض عليها. تكون الرموز قائمة على النسبة المئوية (مثل خصم 15%) أو على مبلغ ثابت (مثل خصم $5). يمكنك تكديس ما يصل إلى 20 رمزًا لكل عملية دفع أو دفعة أو اشتراك، بحيث يمكن للعميل استرداد عرض ترحيبي ورمز حملة في المعاملة نفسها. قيّد الرموز بمنتجات معينة، وحدد عدد مرات استخدام كل عميل لها، وعيّن تواريخ انتهاء الصلاحية، وتحكم في المؤهلين لاستردادها.الفوائد الرئيسية
- خصومات مرنة: خصومات قائمة على النسبة المئوية أو على مبلغ ثابت
- رموز قابلة للتكديس: تطبيق ما يصل إلى 20 رمزًا لكل عملية دفع أو دفعة أو اشتراك
- تحكم مستهدف: التقييد حسب المنتج ودورات الاشتراك وأهلية العميل
- إدارة الحملات: تواريخ بدء مجدولة، وتواريخ انتهاء، وحدود استخدام إجمالية ولكل عميل
- تسعير حسب العملة: تحديد الخصم الثابت، والحد الأقصى للمبلغ، والحد الأدنى للإجمالي الفرعي لكل عملة
إنشاء رموز الخصم
أنشئ رموز الخصم في لوحة التحكم في Dodo Payments، ثم قم بتطبيقها في الدفع المستضاف أو عبر API.
إعداد لوحة التحكم
- اسم الخصم (مطلوب): تسمية داخلية للوحة التحكم.
- الرمز (مطلوب): السلسلة التي يدخلها العملاء عند الدفع. أنشئ رمزًا عشوائيًا أو أدخل رمزك الخاص (بحد أدنى 3 أحرف، مع تحويله تلقائيًا إلى أحرف كبيرة).
- النوع (مطلوب): نسبة مئوية (خصم بنسبة مئوية) أو مبلغ (خصم ثابت).
- المبلغ (مطلوب): بالنسبة المئوية، نسبة الخصم في لوحة التحكم (مثل
15لنسبة 15%). عبر API، تكون القيمة نفسها بوحدات نقاط الأساس (1500). بالنسبة للمبلغ، يكون الخصم الثابت بعملة الرمز الافتراضية. - تاريخ البدء (اختياري): جدولة تفعيل الرمز في تاريخ مستقبلي. اتركه فارغًا لتفعيله فورًا.
- تاريخ الانتهاء (اختياري): التاريخ الذي يصبح بعده الرمز غير قابل للاسترداد.
- حد الاستخدام (اختياري، ضمن متقدم): الحد الأقصى لعمليات الاسترداد الإجمالية لجميع العملاء.
- حد الاستخدام لكل عميل (اختياري، ضمن متقدم): الحد الأقصى لعمليات الاسترداد من قِبل أي عميل واحد. يجب أن يكون أقل من حد الاستخدام الإجمالي أو مساويًا له عند تحديد كليهما.
- أهلية العميل (اختياري): تحديد من يمكنه الاسترداد — جميع العملاء، أو العملاء لأول مرة، أو العملاء الحاليون، أو قائمة محددة يدويًا.
- خيارات العملة (اختياري): مبلغ الخصم لكل عملة تبيع بها. راجع خيارات كل عملة.
- تقييد المنتج (اختياري): تقييد الرمز بمنتجات معينة.
- حد دورة الاشتراك (اختياري، ضمن متقدم): عدد دورات الفوترة التي ينطبق عليها الخصم. اتركه فارغًا ليكون الخصم غير محدد المدة.
- الحفاظ عند تغيير الخطة (اختياري): إبقاء الخصم نشطًا عند تغيير خطة الاشتراك (
preserve_on_plan_change). - البيانات الوصفية (اختياري): إرفاق أزواج مفتاح–قيمة مخصصة للتتبع الداخلي.
- طلب حد أدنى لقيمة الطلب (اختياري، ضمن متقدم): الحد الأدنى للإجمالي الفرعي للسلة (لكل عملة) لتطبيق الرمز.


يُعبَّر عن
amount ذي النسبة المئوية بوحدة نقاط الأساس عبر API — ويعني 1500 نسبة 15%. أما amount الثابت فهو قيمة مالية، وتحدده خيارات عملة الرمز.أنواع الخصومات
يمكن تكديس كلا النوعين في مصفوفة
discount_codes نفسها، ويتم تطبيقهما بترتيب المصفوفة.

أهلية العميل
حدّدcustomer_eligibility للتحكم في من يمكنه استرداد الرمز:

خيارات كل عملة
عند البيع بعملات متعددة، حدّد السلوك الخاص بكل عملة لكل رمز. ضمن خيارات العملة، يحدد كل إدخال ما يلي:- المبلغ — بالنسبة لخصم من نوع المبلغ، يكون الخصم الثابت بتلك العملة؛ وبالنسبة لخصم من نوع النسبة المئوية، يكون الحد الأقصى للخصم. يُطابق
max_amount_possibleفي API. - الافتراضية — عيّن عملة واحدة كعملة افتراضية. تُحوَّل العملات غير المهيأة انطلاقًا من هذه العملة الافتراضية.
- الإجمالي الفرعي الأدنى — لا يُطبّق الرمز إلا عندما تصل السلة إلى هذا الإجمالي الفرعي بتلك العملة. يعني
0عدم وجود حد أدنى.

يُقاس الحد الأدنى للإجمالي الفرعي دائمًا مقابل الأسعار الأصلية للمنتجات في السلة، وليس مقابل الإجمالي المتراكم بعد الخصومات السابقة في التكديس. ولا يغيّر ترتيب التكديس ما إذا تم استيفاء الحد الأدنى.
تجربة إتمام الشراء
يدخل العملاء رموز الخصم في حقل الدفع. تُطبَّق الرموز المؤهلة فورًا وتُحدَّث الإجماليات.
في Checkout Sessions، مرّر
discount_codes (كمصفوفة) لتطبيق رمز واحد أو أكثر مسبقًا. يُعرض حقل إدخال الخصم افتراضيًا. عيّن feature_flags.allow_discount_code إلى false لإخفائه. تُطبَّق الرموز بترتيب المصفوفة، وبحد أقصى 20 رمزًا.تجميع رموز الخصم
تقبل جلسات الدفع والدفعات والاشتراكات ما يصل إلى 20 رمزًا مكدسًا عبر مصفوفةdiscount_codes. تُطبَّق الرموز بترتيب المصفوفة: يقلل أول رمز مؤهل السعر الابتدائي، ثم يقلل الرمز التالي السعر بعد الخصم، وهكذا. عند تفعيل Purchasing Power Parity، يكون السعر الابتدائي هو المبلغ المعدّل وفق PPP. يتضمن الرد discount_ids (في الدفعات/الاشتراكات) وdiscounts (تفاصيل أغنى لكل خصم، بما في ذلك الموضع ودورات الاشتراك المتبقية).
الحقل المفرد
discount_code مهمل، لكنه مدعوم بالكامل للتوافق مع الإصدارات السابقة. ولا يمكن دمجه مع discount_codes في الطلب نفسه. انتقل إلى discount_codes (صيغة المصفوفة) للاستفادة من التكديس والرد الأكثر تفصيلًا.عند تفعيل Card-Optional at Zero Price على سعر الاشتراك، فإن تكديس الرموز الذي يخفض المبلغ المستحق اليوم إلى
0 يلغي أيضًا طلب البطاقة — إذ يكمل العميل الدفع دون وجود وسيلة دفع محفوظة، كما هو الحال مع سعر 0 الأصلي.إدارة API
Create discounts
Create discounts
أنشئ رموز الخصم برمجيًا باستخدام النوع والمبلغ.
API Reference
اعرض API إنشاء الخصم.
List and retrieve
List and retrieve
اعرض جميع الخصومات أو استرجع تفاصيلها لأغراض الإدارة والتدقيق.
API Reference
تصفّح API الإدراج والاسترجاع.
Get discount by code
Get discount by code
ابحث عن خصم باستخدام رمزه المقروء بشريًا (مثل: “SAVE20”) بدلًا من المعرّف الداخلي.
API Reference
استرجع الخصم باستخدام اسم الرمز.
Update discounts
Update discounts
عدّل إعدادات الخصم مثل المبلغ أو تاريخ الانتهاء أو القيود.
API Reference
تعرّف على كيفية تحديث تفاصيل الخصم.
Retrieve a discount
Retrieve a discount
استرجع خصمًا باستخدام معرّفه لفحص حالته وعدد مرات استخدامه وقيوده قبل تطبيقه.
API Reference
احصل على خصم باستخدام المعرّف.
Delete discounts
Delete discounts
عطّل الخصومات أو أزلها عندما لا تعود مطلوبة.
API Reference
احذف خصمًا.
Manage the customer allow list
Manage the customer allow list
بالنسبة إلى خصم تم تعيين
customer_eligibility فيه إلى specific، أدر العملاء الذين يمكنهم استرداده:GET /discounts/{discount_id}/customers— أدرج العملاء المرفقين (مع تقسيم إلى صفحات، وبحد أقصى 100 عميل في الصفحة).POST /discounts/{discount_id}/customers— أرفق العملاء باستخدام المعرّفات. الاستدعاء idempotent ويقبل ما يصل إلى 1000 معرّف، ويجب أن تكون جميعها موجودة مسبقًا في نشاطك التجاري. يعرض الرد المعرّفات المُرسلة في ذلك الطلب فقط، لذا استخدم نقطة النهاية الخاصة بالإدراج لقراءة قائمة السماح الكاملة.DELETE /discounts/{discount_id}/customers/{customer_id}— افصل عميلًا واحدًا.
حالات الاستخدام الشائعة
- العروض التمهيدية: عروض ترويجية محدودة المدة لإطلاق منتجات جديدة
- المبيعات بالجملة أو B2B: خصومات متعاقد عليها لمجموعات منتجات محددة
- استراتيجيات الاحتفاظ: رموز لاستعادة العملاء ضمن عمليات منع فقدان العملاء
- الحملات الموسمية: عروض ترويجية مرتبطة بالعطلات أو الفعاليات
أمثلة التكامل
إنشاء خصم مع بيانات وصفية
أرفق أزواج مفتاح–قيمة مخصصة للتتبع الداخلي.تطبيق الخصومات في Checkout Sessions
طبّق خصمًا مكدسًا واحدًا أو أكثر مسبقًا واعرض واجهة إدخال الرمز.تطبيق الخصومات أثناء تغيير الخطط
قدّم أسعارًا ترويجية عند ترقية العملاء لاشتراكهم أو خفضه.discount_codes في كيفية التعامل مع الخصومات:
اقرأ جميع الخصومات المطبقة من مصفوفة
discounts الخاصة بالاشتراك في الرد. يتضمن كل إدخال discount_id وposition وcycles_remaining والرمز الأصلي.إخفاء حقل رمز الخصم
يُعرض إدخال الخصم افتراضيًا. عيّنallow_discount_code إلى false لإخفائه.
أفضل الممارسات
- سمِّ بوضوح: استخدم رموزًا سهلة التعرّف وتتوافق مع أسماء الحملات.
- حدّد مدة: أضف تواريخ انتهاء لخلق شعور بالإلحاح ومنع إساءة الاستخدام.
- حدّد النطاق بحكمة: قيّد الرموز بمنتجات معينة لتجنب تسرب هامش الربح.
- تحقق مبكرًا: تحقّق من قابلية تطبيق الرمز قبل تأكيد الدفع.
- راقب التأثير: تتبّع الاستخدام والتحويل حسب الحملة.