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