Skip to main content

Checkout Handler

دمج checkout الخاص بـ Dodo Payments في خادم Bun الخاص بك.

Customer Portal

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

Webhooks

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

التثبيت

1

Install the package

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

Set up environment variables

أنشئ ملف .env في جذر مشروعك:
لا تُضمّن ملف .env أو الأسرار في نظام التحكم بالإصدارات.

أمثلة على Route Handler

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

Checkout Route Handler

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

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

string
مطلوب
معرّف المنتج (مثلًا، ?productId=pdt_xxx).
integer
كمية المنتج.
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 دولارًا). متاح لمنتجات «ادفع ما تريد» فقط، ويتم تجاهله إذا كان أقل من الحد الأدنى لسعر المنتج.
boolean
إظهار حقول الخصم.
string
سيتم تمرير أي معلمة Query تبدأ بـ metadata_ كبيانات وصفية.
إذا كان productId مفقودًا، يعيد المعالج استجابة 400. كما تؤدي Query Parameters غير الصالحة إلى استجابة 400.

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

يعيد checkout الثابت استجابة JSON تتضمن عنوان URL الخاص بـ checkout:

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

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

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

تعيد Checkout sessions استجابة JSON تتضمن عنوان URL الخاص بـ checkout:

Customer Portal Route Handler

يتيح لك Customer Portal Route Handler دمج Customer Portal الخاص بـ Dodo Payments بسلاسة في تطبيق خادم Bun الخاص بك.

Query Parameters

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

Webhook Route Handler

  • Method: لا يتم دعم سوى طلبات POST. وتعيد الطرق الأخرى 405.
  • Signature Verification: يتحقق من توقيع webhook باستخدام webhookKey. ويعيد 401 عند فشل التحقق.
  • Payload Validation: يتم التحقق منه باستخدام Zod. ويعيد 400 للـ payload غير الصالح.
  • Error Handling:
    • 401: توقيع غير صالح
    • 400: payload غير صالح
    • 500: خطأ داخلي أثناء التحقق
  • Event Routing: يستدعي معالج الحدث المناسب استنادًا إلى نوع payload.

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


مطالبة لـ LLM

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