Skip to main content
المنتجات هي أساس Dodo Payments. سواء كنت تبيع تنزيلًا لمرة واحدة، أو اشتراكًا متجددًا، أو وصولًا قائمًا على الاستخدام، فإنك تبدأ بإنشاء منتج. يحدد كل منتج كيفية تسعيره وعرضه عند الدفع وتنفيذه بعد الشراء.

One-Time

فرض الرسوم مرة واحدة مقابل الوصول مدى الحياة أو مقابل منتج واحد.

Subscriptions

يمكنك الفوترة وفق جدول زمني مع الفترات التجريبية والتوزيع النسبي والإضافات.

Usage-Based

قس استهلاك العملاء وأصدر الفواتير وفق الاستخدام الفعلي.

إنشاء منتج

أنشئ المنتجات من لوحة المعلومات أو عبر API. اختر نموذج التسعير مسبقًا—One-Time أو Subscription أو Usage-Based—ثم اضبط التفاصيل. نموذج التسعير غير قابل للتغيير؛ أنشئ منتجًا جديدًا إذا كنت بحاجة إلى نموذج مختلف.
1

Name and Description

قدّم عنوانًا واضحًا ووصفًا موجزًا يركّز على القيمة. تدعم الأوصاف Markdown.
اجعل الجملة الأولى موجّهة إلى العميل وتركّز على النتيجة؛ فهي تظهر بشكل بارز عند الدفع.
لوحة معلومات المنتجات تعرض نموذج إنشاء منتج
2

Pricing Model and Price

اختر نموذج التسعير:
  • One-Time: سعر ثابت يُدفع مرة واحدة.
  • Subscription: سعر متجدد بفاصل زمني وفترة تجريبية اختيارية.
  • Usage-Based: سعر يُحتسب بناءً على الأحداث المقاسة.
بعد ذلك اضبط التسعير:
  • Price: المبلغ الأساسي والعملة. يمكنك تعيين السعر الأساسي بأي عملة يدعمها Dodo Payments، باستثناء منتجات Pay What You Want، التي يجب أن تكون عملتها الأساسية USD أو GBP أو EUR. تُثبّت USD وGBP وEUR وINR في أعلى محدد العملات للوصول السريع.
  • Discount (%): خصم اختياري بالنسبة المئوية يظهر عند الدفع وفي الفواتير.
  • بالنسبة إلى الاشتراكات، عيّن Repeat every (مثل شهر واحد أو سنة واحدة)، وTrial days، وTrial amount اختياريًا من أجل paid trial. يجب ألا يقل سعر الاشتراك غير الصفري عن $1 (أو ما يعادله بالعملة التي اخترتها). كما يُدعم سعر يساوي تمامًا $0، ويمكنك السماح للعملاء ببدء اشتراك بقيمة $0 من دون بطاقة؛ راجع Card-Optional at Zero Price. لا تُدعم المبالغ السالبة.
عند تفعيل Adaptive Currency، تتم فوترة العملاء خارج عملتك الأساسية بعملتهم المحلية، بحيث يمكنك تحديد الأسعار بالعملة الأنسب لسوقك. وعند تعطيلها، يدفع العملاء بعملتك الأساسية.
هل تريد سعرًا ثابتًا لكل عملة أو بلد بدلًا من تحويل العملات الأجنبية المباشر؟ عيّن pricing_mode على المنتج وأرفق قواعد Localized Pricing، مثل €9.99 باليورو أو ₹999 في الهند.
يؤدي تعديل السعر إلى تغيير ما يدفعه العملاء الجدد. لا تتم إعادة تسعير الاشتراكات الحالية مطلقًا؛ إذ يحتفظ كل اشتراك بالسعر الذي أُنشئ به. لنقل مشترك حالي إلى سعر مختلف، غيّر خطته صراحةً باستخدام Change Plan API؛ تنطبق إعدادات التوزيع النسبي على تغيير الخطة، لا على تعديلات السعر.
3

Product Media

حمّل الصور لعرض المنتج عند الدفع وفي الفواتير. التنسيقات المدعومة: PNG وJPG وWebP، وبحجم يصل إلى 3 MB. يمكنك إعادة ترتيب الصور أو استبدالها في أي وقت.
4

Automated Entitlements

في قسم Entitlements، أرفق عملية تنفيذ تُفعّل تلقائيًا بعد الدفع:
  • License Keys: إصدار مفاتيح فريدة والتحقق منها.
  • File Downloads: منح وصول آمن إلى الملفات.
  • Custom: تشغيل منطق الاستحقاقات الخاص بك عبر webhooks.
أضف المزايا أو أزلها مع تطور عرضك. وسيحصل المشتركون الحاليون على إمكانية الوصول أو يفقدونها وفقاً لذلك.

المتغيرات وخيارات التسعير

بدلًا من إنشاء متغيرات ضمن منتج واحد، أنشئ منتجات منفصلة لكل خيار تسعير (مثل Monthly وYearly). ثم اجمعها في Product Collection لعرض جميع الخيارات في عملية دفع واحدة وتمكين تبديل الخطط في Customer Portal.
صفحة الدفع تعرض خيارات منتجات متعددة في مجموعة

لماذا هذا الأسلوب؟

  • نماذج تسعير واضحة: لكل منتج نموذج تسعير واحد ومحدد بوضوح (لمرة واحدة أو باشتراك أو قائم على الاستخدام).
  • واجهات API يمكن التنبؤ بها: عمليات تكامل أبسط من دون منطق متغيرات متداخل.
  • إعداد تقارير أسهل: تتبّع الإيرادات والمقاييس لكل منتج من دون تجميع المتغيرات.
  • دفع مرن: اعرض منتجات متعددة جنبًا إلى جنب، مما يتيح للعملاء المقارنة والاختيار.

كيفية عمل Product Collections

  1. إنشاء المنتجات: أنشئ منتجات منفردة لكل خطة (مثل Starter Monthly وStarter Annual وPro Monthly وPro Annual).
  2. التجميع في مجموعة: أضف المنتجات ذات الصلة إلى Product Collection.
  3. دفع موحّد: يرى العملاء جميع الخيارات في عملية دفع واحدة ويختارون الخطة المفضلة لديهم.
  4. تبديل الخطط: يمكن للعملاء الترقية أو الرجوع إلى إصدار أدنى بين المنتجات الموجودة في المجموعة نفسها عبر Customer Portal.

Product Collections

اجمع المنتجات ذات الصلة معًا للحصول على تجارب دفع موحّدة ومسارات للترقية أو الرجوع إلى إصدار أدنى.

إدارة المنتجات

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

الإدارة من خلال لوحة المعلومات

  • Update: عدّل الاسم والوصف والصور والسعر والحقول والمزايا في أي وقت (نموذج التسعير غير قابل للتغيير).
  • Archive: أخفِ المنتج من عمليات الشراء الجديدة من دون التأثير في العملاء الحاليين. يمكنك إلغاء أرشفته لاحقًا.
  • Drafts: يُحفظ المنتج قيد التنفيذ كمسودة لتتمكن من العودة إليه لاحقًا. تُحفظ المسودات بشكل منفصل في وضع الاختبار والوضع المباشر، لذلك لا ينتقل المنتج غير المكتمل في أحد الوضعين إلى الوضع الآخر. استخدم Clear Draft لحذفه والبدء من جديد.
تتضمن صفحات نماذج المنتجات والمجموعات أزرار إجراءات في الترويسة، بحيث يمكنك الحفظ من دون التمرير إلى أسفل نموذج طويل.

الإدارة عبر API

تتيح لك التعليمات التالية إنشاء المنتجات وتحديثها وإدارتها واستردادها، بما في ذلك رفع الصور.
أرسل طلب POST إلى نقطة النهاية /products مع تفاصيل مثل الاسم والوصف والسعر والعملة وما إذا كان المنتج متجددًا.بالنسبة إلى المنتجات المتكررة، عيّن الكائن price إلى سعر متكرر (type: recurring_price)، وحدّد payment_frequency_interval وsubscription_period_interval (Day أو Week أو Month أو Year) مع الأعداد المقابلة لها.

Create Product API

اطّلع على بنية الطلب والاستجابة التفصيلية في وثائق Create Product API.
أرسل طلب PATCH إلى نقطة النهاية /products/{product_id}. يمكنك تحديث خصائص مثل الاسم والسعر والوصف مع إبقاء التفاصيل الأخرى دون تغيير.تأكد من أن product_id في نقطة النهاية يطابق منتجاً موجوداً.

Update Product API

اطّلع على بنية الطلب والاستجابة التفصيلية في وثائق Update Product API.
استرجع قائمة بالمنتجات المخزنة في حسابك باستخدام طلب GET إلى نقطة النهاية /products. يتيح لك ذلك استرجاع تفاصيل المنتجات، بما في ذلك المنتجات النشطة والمؤرشفة.

Retrieve Products API

اطّلع على بنية الطلب والاستجابة التفصيلية في وثائق Retrieve Products API.
اربط صورة بمنتج عبر تحميلها إلى AWS S3 باستخدام عنوان URL موقّع مسبقًا يوفره API. أولًا، اطلب عنوان URL لتحميل الصورة من نقطة النهاية /products/{product_id}/images، ثم استخدم عنوان URL المقدم لتحميل الصورة خلال 60 ثانية.
تنتهي صلاحية عنوان URL الموقّع مسبقاً بعد 60 ثانية، لذلك يجب رفع الصورة خلال هذه المدة.
بعد استلام عنوان URL الموقّع مسبقاً من API، ارفع الصورة باستخدام طريقة PUT. يضمن ذلك وصولاً آمناً ومؤقتاً إلى AWS S3 لرفع الصورة.المكتبات المدعومة للرفع إلى S3:
  • Node.js: axios، node-fetch
  • Python: requests، boto3
  • Go: net/http
  • PHP: GuzzleHttp
  • Ruby: rest-client
إذا نجح الرفع، سيُرجع AWS S3 حالة 200 OK، مما يشير إلى أنه تم تخزين الصورة بنجاح.

Upload Product Image API

اطّلع على بنية الطلب والاستجابة التفصيلية في وثائق Upload Product Image API.
أخفِ منتجًا من عمليات الشراء الجديدة من دون حذفه نهائيًا باستخدام طلب DELETE إلى نقطة النهاية /products/{id}.

Archive Product API

اطّلع على بنية الطلب والاستجابة التفصيلية في وثائق Archive Product API.
استعد منتجًا مؤرشفًا عبر إرسال طلب POST إلى نقطة النهاية /products/{product_id}/unarchive. يؤدي ذلك إلى إعادة تفعيل المنتج وجعله متاحًا للاستخدام مرة أخرى.

Unarchive Product API

اطّلع على بنية الطلب والاستجابة التفصيلية في وثائق Unarchive Product API.
أنشئ عمليات الدفع أو الاشتراك من المنتجات، ونفّذها تلقائيًا عبر المزايا وwebhooks.

Checkout Sessions

أنشئ جلسات دفع لعمليات الشراء لمرة واحدة أو القائمة على الاشتراك.

Payment Webhooks

استجب لأحداث دورة حياة الدفع.

Subscription Webhooks

تعامل مع أحداث إنشاء الاشتراك وتجديده وإلغائه.

أفضل الممارسات

  • ابدأ بالوضوح: أنشئ منتجات منفصلة لكل خيار تسعير (شهري مقابل سنوي).
  • استخدم الفترات التجريبية بحكمة: اربط الفترات التجريبية بعملية الإعداد لتعزيز التفعيل.
  • أتمت تنفيذ الطلبات: استخدم المزايا وwebhooks لتقديمها فورًا.
  • أضف العلامات باستخدام metadata: خزّن معرّفات نظامك للمطابقة.

ذات صلة

Product Analytics

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

Localized Pricing

عيّن أسعارًا ثابتة لكل عملة أو بلد على المنتج بدلًا من الاعتماد على أسعار الصرف المباشرة.
آخر تعديل في ٢٦ سبتمبر ٢٠٢٦