Checkout Handler
دمج checkout الخاص بـ Dodo Payments في خادم Bun الخاص بك.
Customer Portal
السماح للعملاء بإدارة الاشتراكات والتفاصيل الخاصة بهم.
Webhooks
استلام أحداث webhook الخاصة بـ Dodo Payments ومعالجتها.
التثبيت
1
Install the package
شغّل الأمر التالي في جذر مشروعك:
2
Set up environment variables
أنشئ ملف
.env في جذر مشروعك:أمثلة على Route Handler
تفترض جميع الأمثلة أنك تستخدم خادم Bun الأصلي مع
Bun.serve().- Checkout Handler
- Customer Portal Handler
- Webhook Handler
استخدم هذا المعالج لدمج checkout الخاص بـ Dodo Payments في خادم Bun الخاص بك. يدعم تدفقات الدفع الثابتة (GET) والديناميكية (POST) والجلسات (POST).
Checkout Route Handler
يدعم Dodo Payments ثلاثة أنواع من تدفقات الدفع لدمج المدفوعات في موقعك، ويدعم هذا adaptor جميع أنواع تدفقات الدفع.
- روابط الدفع الثابتة: عناوين URL قابلة للمشاركة فورًا لتحصيل المدفوعات بسرعة ومن دون كتابة تعليمات برمجية.
- روابط الدفع الديناميكية: إنشاء روابط دفع برمجيًا مع تفاصيل مخصصة باستخدام API أو SDKs.
- جلسات Checkout: إنشاء تجارب checkout آمنة وقابلة للتخصيص مع سلال منتجات وتفاصيل عملاء مُعدّة مسبقًا.
Static Checkout (GET)
Static Checkout (GET)
معلمات 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_ كبيانات وصفية.تنسيق الاستجابة
يعيد checkout الثابت استجابة JSON تتضمن عنوان URL الخاص بـ checkout:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- أرسل المعلمات في هيئة JSON body ضمن طلب POST.
- يدعم المدفوعات لمرة واحدة والمدفوعات المتكررة.
- للحصول على القائمة الكاملة لحقول POST body المدعومة، راجع:
تنسيق الاستجابة
يعيد checkout الديناميكي استجابة JSON تتضمن عنوان URL الخاص بـ checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
توفر جلسات 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، يرسل بريدًا إلكترونيًا إلى العميل يتضمن رابط البوابة.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.