Checkout Handler
قم بدمج صفحة دفع Dodo Payments في تطبيق Fastify الخاص بك.
Customer Portal
اسمح للعملاء بإدارة الاشتراكات والتفاصيل.
Webhooks
استقبل وعرّف أحداث webhook الخاصة بـ Dodo Payments.
التثبيت
1
Install the package
قم بتشغيل الأمر التالي في جذر المشروع الخاص بك:
2
Set up environment variables
أنشئ ملف
.env في جذر المشروع الخاص بك:أمثلة معالج المسار
تفترض جميع الأمثلة أنك تستخدم Fastify App Router.
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
استخدم هذه المعالجة لدمج صفحة دفع Dodo Payments في تطبيق Fastify الخاص بك. تدعم تدفقات الدفع الثابتة (GET) والديناميكية (POST) وجلسات (POST).
معالج مسار الدفع
تدعم Dodo Payments ثلاثة أنواع من تدفقات الدفع لدمج المدفوعات في موقعك، ويدعم هذا الموصل جميع أنواع التدفقات.
- روابط الدفع الثابتة: روابط قابلة للمشاركة على الفور لجمع المدفوعات بسرعة وبدون كود.
- روابط الدفع الديناميكية: توليد روابط الدفع برمجيًا مع تفاصيل مخصصة باستخدام API أو SDKs.
- جلسات الدفع: إنشاء تجارب دفع آمنة وقابلة للتخصيص مع عربات منتجات مُعدة مسبقًا وتفاصيل العملاء.
Static Checkout (GET)
Static Checkout (GET)
معلمات الاستعلام المدعومة
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 دولارًا). لمنتجات ادفع ما تريد فقط، ويتم تجاهله إذا كان أقل من الحد الأدنى لسعر المنتج.boolean
إظهار حقول الخصم.
string
سيتم تمرير أي معلمة استعلام تبدأ بـ
metadata_ كـ metadata.تنسيق الاستجابة
يرجع الدفع الثابت استجابة JSON مع عنوان URL للدفع:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- أرسل المعلمات كجسم JSON في طلب POST.
- يدعم كلا من المدفوعات لمرة واحدة والمتكررة.
- للحصول على قائمة كاملة بحقول جسم POST المدعومة، راجع:
تنسيق الاستجابة
يرجع الدفع الديناميكي استجابة JSON مع عنوان URL للدفع:Checkout Sessions (POST)
Checkout Sessions (POST)
توفر جلسات الدفع تجربة دفع أكثر أمانًا مستضافة تتولى تدفق الدفع الكامل لكل من المشتريات لمرة واحدة والاشتراكات مع تحكم كامل بالتخصيص.راجع دليل تكامل جلسات الدفع لمزيد من التفاصيل وقائمة كاملة من الحقول المدعومة.
تنسيق الاستجابة
ترجع جلسات الدفع استجابة JSON مع عنوان URL للدفع:معالج مسار بوابة العملاء
يمكنك من خلال معالج مسار بوابة العملاء دمج بوابة عملاء مدفوعات دودي بسلاسة في تطبيق Fastify الخاص بك.معلمات الاستعلام
string
مطلوب
معرّف العميل لجلسة البوابة (مثال:
?customer_id=cus_123).boolean
إذا تم تعيينه على
true، يرسل بريدًا إلكترونيًا إلى العميل برابط البوابة.معالج مسار ويب هوك
- الطريقة: يتم دعم طلبات POST فقط. ترجع الطرق الأخرى 405.
- التحقق من التوقيع: يتحقق من توقيع الويب هوك باستخدام
webhookKey. يرجع 401 إذا فشل التحقق. - التحقق من الحمولة: يتم التحقق منها باستخدام Zod. يرجع 400 للحمولات غير الصحيحة.
- معالجة الأخطاء:
- 401: توقيع غير صالح
- 400: حمولة غير صالحة
- 500: خطأ داخلي أثناء التحقق
- توجيه الأحداث: يستدعي معالج الحدث المناسب بناءً على نوع الحمولة.