نظرة عامة
يوفر SDK للدفع عبر Dodo طريقة سلسة لدمج واجهة الدفع الخاصة بنا في تطبيق الويب الخاص بك. تم بناؤه باستخدام TypeScript ومعايير الويب الحديثة، ويقدم حلاً قويًا للتعامل مع المدفوعات مع معالجة الأحداث في الوقت الحقيقي وسمات قابلة للتخصيص.
عرض تجريبي
عرض تفاعلي
شاهد الدفع عبر Overlay في العمل مع العرض التجريبي المباشر لدينا.
بدء سريع
ابدأ مع SDK للدفع عبر Dodo في بضع أسطر من التعليمات البرمجية:دليل تكامل خطوة بخطوة
1
تثبيت SDK
قم بتثبيت SDK للدفع عبر Dodo باستخدام مدير الحزم المفضل لديك:
2
تهيئة SDK
قم بتهيئة SDK في تطبيقك، عادةً في المكون الرئيسي أو نقطة دخول التطبيق:
3
إنشاء مكون زر الدفع
قم بإنشاء مكون يفتح واجهة الدفع:
4
إضافة الدفع إلى صفحتك
استخدم مكون زر الدفع في تطبيقك:
5
معالجة صفحات النجاح والفشل
قم بإنشاء صفحات لمعالجة إعادة التوجيه بعد الدفع:
6
اختبر تكاملك
- ابدأ خادم التطوير الخاص بك:
- اختبر تدفق الدفع:
- انقر على زر الدفع
- تحقق من ظهور واجهة الدفع
- اختبر تدفق الدفع باستخدام بيانات اعتماد اختبار
- تأكد من أن إعادة التوجيه تعمل بشكل صحيح
يجب أن ترى أحداث الدفع مسجلة في وحدة تحكم المتصفح لديك.
7
الانتقال إلى الإنتاج
عندما تكون جاهزًا للإنتاج:
- قم بتغيير الوضع إلى
'live':
- قم بتحديث عناوين URL الخاصة بالدفع لاستخدام جلسات الدفع الحية من الخلفية الخاصة بك
- اختبر التدفق الكامل في الإنتاج
- راقب الأحداث والأخطاء
مرجع API
التكوين
خيارات التهيئة
| الخيار | النوع | مطلوب | الوصف |
|---|---|---|---|
mode | "test" | "live" | نعم | وضع البيئة: 'test' للتطوير، 'live' للإنتاج |
displayType | "overlay" | "inline" | لا | نوع العرض: 'overlay' للدفع المنبثق (افتراضي)، 'inline' للدفع المدمج |
onEvent | function | نعم | دالة رد النداء لمعالجة أحداث الدفع |
خيارات الدفع
| الخيار | النوع | مطلوب | الوصف |
|---|---|---|---|
checkoutUrl | string | نعم | عنوان URL لجلسة الدفع من واجهة برمجة تطبيقات إنشاء جلسة الدفع |
options.showTimer | boolean | لا | عرض أو إخفاء مؤقت الدفع. الافتراضي هو true. عند تعطيله، ستتلقى حدث checkout.link_expired عند انتهاء الجلسة. |
options.showSecurityBadge | boolean | لا | عرض أو إخفاء شارة الأمان. الافتراضي هو true. |
options.manualRedirect | boolean | لا | عند التمكين، لن يتم إعادة توجيه الدفع تلقائيًا بعد الانتهاء. بدلاً من ذلك، ستتلقى أحداث checkout.status وcheckout.redirect_requested لمعالجة إعادة التوجيه بنفسك. |
الطرق
فتح الدفع
يفتح واجهة الدفع مع عنوان URL لجلسة الدفع المحدد.manualRedirect، قم بمعالجة إكمال الدفع في رد النداء الخاص بك onEvent:
إغلاق الدفع
يغلق overlay الدفع برمجيًا.تحقق من الحالة
يعيد ما إذا كان overlay الدفع مفتوحًا حاليًا.الأحداث
يوفر SDK أحداثًا في الوقت الحقيقي يمكنك الاستماع إليها من خلال رد النداءonEvent:
بيانات حدث حالة الدفع
عند تمكينmanualRedirect، ستتلقى حدث checkout.status مع البيانات التالية:
بيانات حدث إعادة التوجيه المطلوبة للدفع
عند تمكينmanualRedirect، ستتلقى حدث checkout.redirect_requested مع البيانات التالية:
| نوع الحدث | الوصف |
|---|---|
checkout.opened | تم فتح واجهة الدفع |
checkout.payment_page_opened | تم عرض صفحة الدفع |
checkout.customer_details_submitted | تم تقديم تفاصيل العميل والفوترة |
checkout.closed | تم إغلاق واجهة الدفع |
checkout.redirect | ستقوم واجهة الدفع بإجراء إعادة توجيه |
checkout.error | حدث خطأ أثناء الدفع |
checkout.link_expired | تم إطلاقه عند انتهاء جلسة الدفع. يتم استلامه فقط عندما يتم تعيين showTimer إلى false. |
checkout.status | تم إطلاقه عند تمكين manualRedirect. يحتوي على حالة الدفع (succeeded، failed، أو processing). |
checkout.redirect_requested | تم إطلاقه عند تمكين manualRedirect. يحتوي على عنوان URL لإعادة توجيه العميل إليه. |
خيارات التنفيذ
تثبيت عبر مدير الحزم
قم بالتثبيت عبر npm أو yarn أو pnpm كما هو موضح في دليل التكامل خطوة بخطوة.تنفيذ CDN
للتكامل السريع دون خطوة بناء، يمكنك استخدام CDN الخاص بنا:تخصيص السمة
يمكنك تخصيص مظهر الدفع عن طريق تمرير كائنthemeConfig في معلمة options عند فتح الدفع. يدعم تكوين السمة كلا من الوضعين الفاتح والداكن، مما يتيح لك تخصيص الألوان، الحدود، النصوص، الأزرار، ونصف قطر الحدود.
تكوين السمة الأساسية
تكوين السمة الكامل
جميع خصائص السمة المتاحة:الوضع الفاتح فقط
إذا كنت ترغب فقط في تخصيص السمة الفاتحة:الوضع الداكن فقط
إذا كنت ترغب فقط في تخصيص السمة الداكنة:تجاوز جزئي للسمة
يمكنك تجاوز خصائص معينة فقط. ستستخدم صفحة الدفع القيم الافتراضية للخصائص التي لا تحددها:تكوين السمة مع خيارات أخرى
يمكنك دمج تكوين السمة مع خيارات الدفع الأخرى:أنواع TypeScript
لمستخدمي TypeScript، يتم تصدير جميع أنواع تكوين السمة:معالجة الأخطاء
يوفر SDK معلومات خطأ مفصلة من خلال نظام الأحداث. تأكد دائمًا من تنفيذ معالجة الأخطاء بشكل صحيح في رد النداء الخاص بكonEvent:
أفضل الممارسات
- تهيئة مرة واحدة: قم بتهيئة SDK مرة واحدة عند تحميل تطبيقك، وليس في كل محاولة دفع
- معالجة الأخطاء: تأكد دائمًا من تنفيذ معالجة الأخطاء بشكل صحيح في رد النداء الخاص بك
- وضع الاختبار: استخدم وضع
testأثناء التطوير وانتقل إلىliveفقط عندما تكون جاهزًا للإنتاج - معالجة الأحداث: تعامل مع جميع الأحداث ذات الصلة لتجربة مستخدم كاملة
- عناوين URL صالحة: استخدم دائمًا عناوين URL صالحة لجلسات الدفع من واجهة برمجة التطبيقات لإنشاء جلسة الدفع
- TypeScript: استخدم TypeScript للحصول على أمان نوع أفضل وتجربة مطور أفضل
- حالات التحميل: عرض حالات التحميل أثناء فتح الدفع لتحسين تجربة المستخدم
- إعادة التوجيه اليدوي: استخدم
manualRedirectعندما تحتاج إلى تحكم مخصص في التنقل بعد الدفع - إدارة المؤقت: قم بتعطيل المؤقت (
showTimer: false) إذا كنت ترغب في التعامل مع انتهاء الجلسة يدويًا
استكشاف الأخطاء وإصلاحها
عدم فتح صفحة الدفع
عدم فتح صفحة الدفع
الأسباب المحتملة:
- لم يتم تهيئة SDK قبل استدعاء
open() - عنوان URL لجلسة الدفع غير صالح
- أخطاء JavaScript في وحدة التحكم
- مشاكل في الاتصال بالشبكة
- تحقق من أن تهيئة SDK تحدث قبل فتح صفحة الدفع
- تحقق من وجود أخطاء في وحدة التحكم
- تأكد من أن عنوان URL لصفحة الدفع صالح ومن واجهة برمجة التطبيقات لإنشاء جلسة الدفع
- تحقق من الاتصال بالشبكة
الأحداث لا تعمل
الأحداث لا تعمل
الأسباب المحتملة:
- لم يتم إعداد معالج الحدث بشكل صحيح
- أخطاء JavaScript تمنع انتشار الحدث
- لم يتم تهيئة SDK بشكل صحيح
- تأكد من تكوين معالج الحدث بشكل صحيح في
Initialize() - تحقق من وحدة التحكم في المتصفح بحثًا عن أخطاء JavaScript
- تحقق من أن تهيئة SDK قد اكتملت بنجاح
- اختبر مع معالج حدث بسيط أولاً
مشاكل في التصميم
مشاكل في التصميم
الأسباب المحتملة:
- تعارضات CSS مع أنماط تطبيقك
- لم يتم تطبيق إعدادات السمة بشكل صحيح
- مشاكل في التصميم المتجاوب
- تحقق من تعارضات CSS في أدوات مطور المتصفح
- تحقق من أن إعدادات السمة صحيحة
- اختبر على أحجام شاشات مختلفة
- تأكد من عدم وجود تعارضات z-index مع الطبقة
تمكين Apple Pay
يسمح Apple Pay للعملاء بإكمال المدفوعات بسرعة وأمان باستخدام طرق الدفع المحفوظة لديهم. عند تمكينه، يمكن للعملاء فتح نافذة Apple Pay مباشرة من طبقة الدفع على الأجهزة المدعومة.يدعم Apple Pay على iOS 17+، iPadOS 17+، وSafari 17+ على macOS.
1
قم بتنزيل ورفع ملف ارتباط مجال Apple Pay
قم بتنزيل ملف ارتباط مجال Apple Pay.قم بتحميل الملف إلى خادم الويب الخاص بك في
/.well-known/apple-developer-merchantid-domain-association. على سبيل المثال، إذا كان موقعك هو example.com، اجعل الملف متاحًا في https://example.com/well-known/apple-developer-merchantid-domain-association.2
طلب تفعيل Apple Pay
أرسل بريدًا إلكترونيًا إلى [email protected] مع المعلومات التالية:
- عنوان URL لمجال الإنتاج الخاص بك (على سبيل المثال،
https://example.com) - طلب لتمكين Apple Pay لمجالك
ستتلقى تأكيدًا خلال 1-2 يوم عمل بمجرد تمكين Apple Pay لمجالك.
3
تحقق من توفر Apple Pay
بعد تلقي التأكيد، اختبر Apple Pay في صفحة الدفع الخاصة بك:
- افتح صفحة الدفع الخاصة بك على جهاز مدعوم (iOS 17+، iPadOS 17+، أو Safari 17+ على macOS)
- تحقق من ظهور زر Apple Pay كخيار للدفع
- اختبر تدفق الدفع الكامل
دعم المتصفح
يدعم SDK لمدفوعات Dodo المتصفحات التالية:- Chrome (الأحدث)
- Firefox (الأحدث)
- Safari (الأحدث)
- Edge (الأحدث)
- IE11+
الدفع عبر الطبقة مقابل الدفع المضمن
اختر نوع الدفع المناسب لحالتك:| الميزة | الدفع عبر الطبقة | الدفع المضمن |
|---|---|---|
| عمق التكامل | نافذة منبثقة فوق الصفحة | مدمج بالكامل في الصفحة |
| التحكم في التخطيط | محدود | تحكم كامل |
| العلامة التجارية | منفصل عن الصفحة | سلس |
| جهد التنفيذ | أقل | أعلى |
| الأفضل لـ | تكامل سريع، صفحات موجودة | صفحات دفع مخصصة، تدفقات عالية التحويل |
الموارد ذات الصلة
الدفع المضمن
قم بتضمين الدفع مباشرة في صفحتك لتجارب متكاملة بالكامل.
واجهة برمجة تطبيقات جلسات الدفع
أنشئ جلسات دفع لتشغيل تجارب الدفع الخاصة بك.
Webhooks
تعامل مع أحداث الدفع من جانب الخادم باستخدام webhooks.
دليل التكامل
دليل كامل لتكامل مدفوعات Dodo.