
Checkout Sessions
قم بتطبيق الرموز أثناء إتمام الدفع المستضاف باستخدام
discount_code وعناصر التحكم في واجهة المستخدم.Validate Discount
تحقق مما إذا كان الخصم صالحًا بواسطة معرفه.
Get Discount by Code
ابحث عن الخصم وتأكد من صحته باستخدام اسم الرمز الخاص به (على سبيل المثال، “SAVE20”).
Create Discount (API)
أنشئ رموز خصم جديدة برمجيًا.
List & Update Discounts
تصفح وإدارة الخصومات الحالية؛ قم بالتحديث أو الحذف حسب الحاجة.
Plan Change Discounts
تطبيق رموز الخصم عند ترقية أو تخفيض خطط الاشتراك.
ما هي رموز الخصم؟
رموز الخصم هي رموز ترويجية تقلل من الإجمالي عند الدفع. إنها مثالية لـ:- الحملات الموسمية: الجمعة السوداء، إطلاق المنتجات، أو الذكريات السنوية
- عروض الاستحواذ: حوافز الشراء الأول أو مكافآت الإحالة
- الحفاظ على العملاء: مكافآت الاستعادة أو الولاء للعملاء الحاليين
- صفقات B2B: التسعير المتفق عليه أو المتفاوض عليه عبر رموز خاصة
الفوائد الرئيسية
- خصومات مرنة: خصومات تستند إلى نسبة مئوية أو مبلغ ثابت
- رموز قابلة للتجميع: طبّق ما يصل إلى 20 رمزًا لكل عملية إتمام شراء أو دفعة أو اشتراك — ادمج الحملات (مثل
WELCOME10+BLACKFRIDAY20) من دون إنشاء رموز مخصصة - تحكم موجّه: قيّد الاستخدام حسب المنتج ودورات الاشتراك وأهلية العميل
- حوكمة الحملات: تواريخ بدء مجدولة، وتواريخ انتهاء، وحدود استخدام إجمالية ولكل عميل
- تسعير حسب العملة: حدّد الخصم الثابت وسقف المبلغ والحد الأدنى للإجمالي الفرعي لكل عملة
- إتمام شراء سلس: دعم حقل واجهة المستخدم وAPI عبر جلسات إتمام الشراء
إنشاء رموز الخصم
أنشئ رموز الخصم في لوحة التحكم في Dodo Payments، ثم قم بتطبيقها في الدفع المستضاف أو عبر API.
إعداد لوحة التحكم
- اسم الخصم (مطلوب): الاسم الداخلي والاسم المعروض في لوحة التحكم
- الرمز (مطلوب): السلسلة التي يُدخلها العملاء عند إتمام الشراء، أو أنشئ رمزًا عشوائيًا باستخدام الزر المتوفر
- النوع (مطلوب): اختر النسبة المئوية (خصم بنسبة مئوية) أو المبلغ (خصم ثابت)
- المبلغ (مطلوب): قيمة النسبة المئوية أو المبلغ الثابت لخصم من نوع المبلغ
- تاريخ البدء (اختياري): جدولة تفعيل الرمز لاحقًا؛ اتركه فارغًا لتفعيله فورًا
- تاريخ الانتهاء (اختياري): التاريخ الذي يصبح الرمز بعده غير صالح
- حد الاستخدام (اختياري): الحد الأقصى لعدد عمليات الاسترداد لدى جميع العملاء
- حد الاستخدام لكل عميل (اختياري): الحد الأقصى لعدد عمليات الاسترداد لأي عميل واحد. يجب أن يكون أقل من أو مساويًا لحد الاستخدام الإجمالي عند تحديد كليهما
- أهلية العميل (اختياري): قيّد من يمكنه استرداد الرمز — جميع العملاء أو العملاء لأول مرة أو العملاء الحاليون أو قائمة محددة يدويًا
- خيارات العملة (اختياري): قيم لكل عملة — راجع خيارات العملة
- تقييد المنتج (اختياري): قصِر قابلية التطبيق على منتجات محددة
- حد دورة الاشتراك (اختياري): عدد دورات الفوترة التي ينطبق عليها الخصم
- الاحتفاظ عند تغيير الخطة (اختياري): أبقِ الخصم فعالًا عند تغيير خطة الاشتراك (
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 تكون قيمته الافتراضية true، لذا اضبطه على false فقط إذا كنت تريد إخفاءه. تُطبَّق الرموز بترتيبها في المصفوفة، وبحد أقصى 20 رمزًا.تجميع رموز الخصم
تقبل جلسات إتمام الشراء والمدفوعات والاشتراكات ما يصل إلى 20 رمزًا مجمعًا عبر مصفوفةdiscount_codes (بحد أقصى 20 إدخالًا). تُطبّق الرموز بترتيب المصفوفة، إذ يخفض الرمز المؤهل الأول السعر الأساسي أولًا، ثم يخفض الرمز التالي السعر بعد الخصم، وهكذا. تُعاد مجموعة الخصومات المطبقة كاملةً في الاستجابة ضمن discount_ids (في المدفوعات/الاشتراكات) وdiscounts (تفاصيل أغنى لكل خصم، بما في ذلك الموضع ودورات الاشتراك المتبقية).
حقل
discount_code المفرد مهمل لكنه لا يزال مدعومًا بالكامل للتوافق مع الإصدارات السابقة — وستستمر عمليات التكامل الحالية في العمل دون تغييرات. ولا يمكن دمجه مع discount_codes في الطلب نفسه. نوصي بالترحيل إلى discount_codes (صيغة المصفوفة) عندما يكون ذلك مناسبًا، حتى مع الرموز المفردة، للاستفادة من التجميع وبنية الاستجابة الأكثر تفصيلًا.إدارة API
Create discounts
Create discounts
أنشئ رموز الخصم برمجيًا مع تحديد النوع والمبلغ.
API Reference
اطّلع على API إنشاء الخصم.
List and retrieve
List and retrieve
اعرض جميع الخصومات أو استرجع تفاصيلها لأغراض الإدارة والتدقيق.
API Reference
تصفّح APIs الخاصة بالقوائم والاسترجاع.
Get discount by code
Get discount by code
ابحث عن خصم باستخدام رمزه المقروء بشريًا (مثل “SAVE20”) بدلًا من المعرّف الداخلي.
API Reference
استرجع الخصم حسب اسم الرمز.
Update discounts
Update discounts
عدّل إعدادات الخصم، مثل المبلغ أو تاريخ الانتهاء أو القيود.
API Reference
تعرّف على كيفية تحديث تفاصيل الخصم.
Validate discounts
Validate discounts
تحقق مما إذا كان الخصم صالحًا وقابلًا للتطبيق قبل تطبيقه.
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: خصومات تعاقدية لمجموعات منتجات محددة
- استراتيجيات الاحتفاظ: رموز لاستعادة العملاء ضمن عمليات منع التوقف عن الاستخدام
- حملات موسمية: عروض ترويجية مرتبطة بالعطلات أو الفعاليات
أمثلة التكامل
إنشاء خصم باستخدام البيانات الوصفية
أرفق أزواجًا مخصصة من المفاتيح والقيم للتتبع الداخلي.تطبيق الخصومات في جلسات إتمام الشراء
طبّق خصمًا واحدًا أو أكثر من الخصومات المجمعة مسبقًا، وأظهر واجهة إدخال الرمز.تطبيق الخصومات أثناء تغيير الخطة
قدّم أسعارًا ترويجية عند ترقية العملاء لاشتراكاتهم أو خفضها.اقرأ جميع الخصومات المطبقة من الاشتراك عبر مصفوفة
discounts الجديدة في استجابة الاشتراك. يتضمن كل إدخال discount_id وposition وcycles_remaining (للاشتراكات) والرمز الأصلي.إخفاء حقل رمز الخصم
يظهر حقل إدخال الخصم افتراضيًا، لذا يمكن للعملاء إدخال رمز في أي وقت من دون أن تمرّر رمزًا مسبقًا. اضبطallow_discount_code على false لإخفاء الحقل بالكامل.
أفضل الممارسات
- استخدم أسماء واضحة: استخدم رموزًا سهلة التعرّف تطابق أسماء الحملات
- حدّد مدة زمنية: أضف تواريخ انتهاء لخلق شعور بالإلحاح ومنع إساءة الاستخدام
- حدّد النطاق بحكمة: قصِر الاستخدام على منتجات محددة لتجنب تسرّب هامش الربح
- تحقق مبكرًا: تحقق من قابلية تطبيق الرمز قبل تأكيد إتمام الشراء
- راقب الأثر: تتبّع الاستخدام والتحويل حسب الحملة
رموز الخصم أدوات مؤثرة لاكتساب العملاء والاحتفاظ بهم. ابدأ بعروض بسيطة ذات أسماء واضحة، وتحقق منها بدقة، ثم حسّنها استنادًا إلى الأداء.