Skip to main content

Checkout Handler

قم بدمج عملية الدفع عبر Dodo Payments مع تدفقات ثابتة وديناميكية وجلسة.

Customer Portal

اسمح للعملاء بإدارة الاشتراكات والتفاصيل.

Webhooks

استلم وعيّن معالجة أحداث ويب هوك الخاصة بـ Dodo Payments.

التثبيت

1

Install the package

نفّذ الأمر التالي في جذر مشروعك:
2

Set up environment variables

Create a .env file in your project root:
لا تُرسل ملف .env أو الأسرار إلى نظام التحكم في الإصدارات.

أمثلة معالج المسار

تفترض جميع الأمثلة أنك تستخدم Next.js App Router.
استخدم هذا المعالج لدمج عملية الدفع الخاصة بـ Dodo Payments في تطبيق Next.js الخاص بك. يدعم تدفقات الدفع الثابتة (GET) والديناميكية (POST) وجلسات الخروج (POST).

معالج مسار الدفع

تدعم Dodo Payments ثلاثة أنواع من تدفقات الدفع لدمج المدفوعات في موقعك، ويدعم هذا الموصل جميع أنواع تدفقات الدفع.
  • روابط الدفع الثابتة: روابط قابلة للمشاركة على الفور لجمع المدفوعات بسرعة وبدون كود.
  • روابط الدفع الديناميكية: توليد روابط الدفع برمجيًا مع تفاصيل مخصصة باستخدام API أو SDKs.
  • جلسات الدفع: إنشاء تجارب دفع آمنة وقابلة للتخصيص مع عربات منتجات مُعدة مسبقًا وتفاصيل العملاء.

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

string
مطلوب
معرّف المنتج (مثلًا، ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
كمية المنتج.
string
الاسم الكامل للعميل.
string
الاسم الأول للعميل.
string
اسم العائلة للعميل.
string
عنوان البريد الإلكتروني للعميل.
string
بلد العميل.
string
سطر عنوان العميل.
string
مدينة العميل.
string
ولاية/مقاطعة العميل.
string
الرمز البريدي للعميل.
boolean
تعطيل حقل الاسم الكامل.
boolean
تعطيل حقل الاسم الأول.
boolean
تعطيل حقل اسم العائلة.
boolean
تعطيل حقل البريد الإلكتروني.
boolean
تعطيل حقل البلد.
boolean
تعطيل حقل سطر العنوان.
boolean
تعطيل حقل المدينة.
boolean
تعطيل حقل الولاية.
boolean
تعطيل حقل الرمز البريدي.
string
تحديد عملة الدفع (مثلًا، USD).
boolean
إظهار محدد العملة.
number
يثبّت المبلغ المُحصّل بوحدات العملة الأساسية (مثلًا، 12.5 مقابل 12.50 دولارًا). لمنتجات Pay What You Want فقط، ويتم تجاهله إذا كان أقل من الحد الأدنى لسعر المنتج.
boolean
إظهار حقول الخصم.
string
سيتم تمرير أي معلمة استعلام تبدأ بـ metadata_ كبيانات وصفية.
إذا كان productId مفقودًا، يُرجع المعالج استجابة 400. المعلمات غير الصالحة في الاستعلام تؤدي أيضًا إلى استجابة 400.

تنسيق الاستجابة

يرجع الدفع الثابت استجابة JSON مع عنوان URL للدفع:
يعمل Dynamic Checkout كوكيل لنقطتي النهاية المهجورتين POST /payments وPOST /subscriptions. ويستمر في العمل مع عمليات التكامل الحالية، ولكن ينبغي لعمليات التكامل الجديدة استخدام Checkout Sessions أدناه.

تنسيق الاستجابة

يعرض Dynamic Checkout استجابة JSON تتضمن عنوان URL لصفحة الدفع:
توفر Checkout Sessions تجربة دفع مستضافة وأكثر أمانًا، تتولى تدفق الدفع الكامل لكل من عمليات الشراء لمرة واحدة والاشتراكات، مع تحكم كامل في خيارات التخصيص.راجع دليل تكامل Checkout Sessions لمزيد من التفاصيل والقائمة الكاملة بالحقول المدعومة.

تنسيق الاستجابة

تعرض Checkout Sessions استجابة JSON تتضمن عنوان URL لصفحة الدفع:

معالج مسار Customer Portal

يتيح لك معالج مسار Customer Portal دمج بوابة عملاء Dodo Payments بسلاسة في تطبيق Next.js الخاص بك.

معلمات Query

string
مطلوب
معرّف العميل لجلسة البوابة (مثل ?customer_id=cus_123).
boolean
إذا تم تعيينها إلى true، يرسل بريدًا إلكترونيًا إلى العميل يتضمن رابط البوابة.
يعرض 400 إذا كانت customer_id مفقودة.

معالج مسار Webhook

  • الطريقة: لا يدعم سوى طلبات POST. وتُرجع الطرق الأخرى الحالة 405.
  • التحقق من التوقيع: يتحقق من توقيع webhook باستخدام webhookKey. ويُرجع الحالة 401 إذا فشل التحقق.
  • التحقق من Payload: يتم التحقق باستخدام Zod. وتُرجع الحمولة غير الصالحة الحالة 400.
  • معالجة الأخطاء:
    • 401: توقيع غير صالح
    • 400: حمولة غير صالحة
    • 500: خطأ داخلي أثناء التحقق
  • توجيه الأحداث: يستدعي معالج الأحداث المناسب استنادًا إلى نوع الحمولة.

معالجات أحداث Webhook المدعومة


مطالبة للنموذج اللغوي

آخر تعديل في ٢١ أغسطس ٢٠٢٦