المقدمة
DataFast هي أداة تحليلات تركز على الإيرادات، وتوضح قنوات التسويق التي تستقطب العملاء الذين يدفعون. عند إرسال معاملات Dodo Payments إلى DataFast، تنسب الأداة الإيرادات إلى مصدر الزيارة الأصلي لكل عميل، بحيث يمكنك معرفة القنوات وشرائح العملاء التي تحقق أكبر قدر من الإيرادات.يتطلب هذا التكامل مفتاح DataFast API، الذي تنشئه في لوحة تحكم DataFast.
كيف يعمل
تعرّف DataFast على كل زائر باستخدام معرّف مخزّن في ملف تعريف الارتباطdatafast_visitor_id. لإسناد الإيرادات إلى قنوات التسويق:
- التقاط معرّف زائر DataFast من ملف تعريف الارتباط
datafast_visitor_idعند إنشاء صفحة الدفع. - تخزين معرّف الزائر في
metadataالخاص بعملية الدفع. - إرسال عملية الدفع إلى DataFast عبر Payment API عند نجاح عملية الدفع.
البدء
1
Install DataFast Script
ثبّت نص التتبع الخاص بـ DataFast على موقعك الإلكتروني. يعيّن النص ملف تعريف الارتباط
datafast_visitor_id الذي يعرّف كل زائر.للحصول على تعليمات التثبيت الخاصة بمنصتك، راجع وثائق DataFast.2
Get Your API Key
في لوحة تحكم DataFast، افتح إعدادات موقعك، وانتقل إلى API، ثم انقر على Create API Key.
3
Capture Visitor ID in Checkout
عند إنشاء صفحة دفع، اقرأ معرّف زائر DataFast من ملف تعريف الارتباط وأضفه إلى
metadata الخاص بعملية الدفع. راجع الخطوة 1.4
Send Payment Data via Webhook
أنشئ نقطة نهاية webhook ترسل كل عملية دفع ناجحة إلى Payment API الخاص بـ DataFast. راجع الخطوة 2.
5
Done
تظهر الإيرادات في لوحة تحكم DataFast، مع إسنادها إلى قناة التسويق التي استقطبت كل عميل.
دليل التنفيذ
الخطوة 1: إضافة معرّف الزائر إلى بيانات وصفية لصفحة الدفع
عند إنشاء صفحة دفع، اقرأ معرّف زائر DataFast من ملف تعريف الارتباط وأدرجه فيmetadata الخاص بعملية الدفع.
تستخدم الأمثلة أدناه
POST /payments، وهو مهمل. يظل هذا الخيار يعمل مع عمليات التكامل الحالية، لكن ينبغي لعمليات التكامل الجديدة استخدام Checkout Sessions (POST /checkouts)، التي تقبل metadata بالطريقة نفسها.الخطوة 2: إرسال بيانات الدفع إلى DataFast
أنشئ نقطة نهاية webhook ترسل عمليات الدفع الناجحة إلى Payment API الخاص بـ DataFast.1
Open the Webhook Section
في لوحة تحكم Dodo Payments، انتقل إلى Developer → Webhooks وانقر على Add endpoint.

2
Select DataFast
ضمن Integration، حدّد DataFast.
3
Enter API Key
في API key، الصق مفتاح DataFast API الخاص بك. يرسله Dodo Payments في ترويسة 
Authorization لكل عملية تسليم.
4
Check the URL and Events
إذا كان Endpoint URL فارغًا، فأدخل
https://datafa.st/api/v1/payments. في Subscribed events، حدد payment.succeeded.5
Configure Transformation
ضمن Transformation code، عدّل المعالج لتنسيق بيانات الدفع من أجل Payment API الخاص بـ DataFast. ابدأ من الأمثلة.
6
Test & Create
ضمن Test this code، انقر على Simulate لتشغيل المعالج باستخدام حمولة نموذجية. ثم انقر على Create endpoint.
أمثلة على Transformation Code
يعمل كل معالج علىpayment.succeeded. عندما لا يحتوي metadata الخاص بالدفع على معرّف زائر، فإنه يعيّن webhook.cancel = true، ولذلك لا يُرسل أي طلب إلى DataFast. ويظل التسليم الملغى ظاهرًا على أنه ناجح في سجلات webhook.
تتلقى Payment API الخاصة بـ DataFast القيمة amount بوحدات العملة الرئيسية، مثل 29.99. يرسل Dodo Payments القيمة total_amount بأصغر وحدة عملة، مثل السنتات بالنسبة إلى USD، ولذلك تحوّل الأمثلة هذه القيمة.
إسناد الدفع الأساسي
basic_payment.js
التعامل مع العملات ذات المنازل العشرية الصفرية
العملات ذات المنازل العشرية الصفرية، مثل JPY، لا تحتوي على وحدة فرعية، ولذلك تكونtotal_amount موجودة بالفعل بالوحدات الرئيسية. أما العملات ذات المنازل العشرية الثلاث، مثل KWD، فتحتوي على 1,000 وحدة فرعية لكل وحدة رئيسية. يحوّل هذا المثال المبلغ لكل حالة، باستخدام العملات التي يتعامل معها Dodo Payments على أنها ذات منازل عشرية صفرية وثلاثية:
zero_decimal.js
مدفوعات الاشتراكات
تؤدي مدفوعات الاشتراكات أيضًا إلى تشغيلpayment.succeeded، مع تعيين subscription_id. يرسل هذا المعالج كل دفعة اشتراك إلى DataFast ويعيّن renewal: true عند التجديد، حتى يتمكن DataFast من التمييز بين التجديد والدفعة الأولى.
يُحصّل التجديد خارج الجلسة، ولذلك تحتوي حمولته على subscription_id معيّنًا وcheckout_session_id معيّنًا إلى null. تحتوي الدفعة الأولى لاشتراك تم إنشاؤه عبر Checkout Session على checkout_session_id معيّنًا. وتحمل دفعات التجديد metadata الخاص بالاشتراك، ولذلك احتفظ بـ datafast_visitor_id في metadata الخاصة بالاشتراك لإسناد التجديدات.
subscription_payment.js
أفضل الممارسات
- تضمين معرّف الزائر في metadata: من دون معرّف الزائر، لا يستطيع DataFast إسناد الإيرادات إلى قنوات التسويق.
- التعامل مع العملات ذات المنازل العشرية الصفرية: بعض العملات، مثل JPY وKRW، لا تحتوي على منازل عشرية. اضبط تحويل المبلغ لهذه العملات، وكذلك للعملات ذات المنازل العشرية الثلاث مثل KWD.
- الاختبار باستخدام مدفوعات نموذجية: شغّل المعالج باستخدام Test this code، وتأكد من عمل التكامل قبل إطلاقه.
- مراقبة لوحة تحكم DataFast: تحقق من ظهور المدفوعات مع الإسناد المتوقع.
- الاعتماد على إعادة محاولات webhook: يتجاهل DataFast الدفعة التي سجّل بالفعل
transaction_idالخاص بها، ولذلك لا يؤدي التسليم المعاد إلى إنشاء نسخة مكررة.
استكشاف الأخطاء وإصلاحها
Payments Not Appearing in DataFast
Payments Not Appearing in DataFast
- تحقق من صحة مفتاح DataFast API وأنه نشط.
- تحقق من التقاط
datafast_visitor_idوتخزينه في metadata الخاصة بالدفع. - تحقق من أن تحويل webhook ينسّق الحمولة بشكل صحيح.
- تحقق من اشتراك نقطة النهاية في
payment.succeeded. - تحقق من لوحة تحكم DataFast بحثًا عن رسائل الخطأ أو سجلات API.
- افتح محاولات تسليم نقطة النهاية في علامة التبويب Logs ضمن Developer → Webhooks لرؤية استجابة DataFast. يُلغى الدفع الذي لا يحتوي على معرّف زائر ويظهر على أنه ناجح.
Revenue Attribution Not Working
Revenue Attribution Not Working
- تأكد من تثبيت وتشغيل نص تتبع DataFast على موقعك.
- تحقق من تعيين ملف تعريف الارتباط
datafast_visitor_id. - تحقق من تطابق معرّف الزائر في metadata الخاصة بالدفع مع المعرّف الذي سجّله DataFast للزيارة.
- التقط معرّف الزائر قبل إنشاء الدفع.
- راجع توثيق Payment API الخاص بـ DataFast لمزيد من الإرشادات.
Transformation Errors
Transformation Errors
- تحقق من مطابقة الحمولة لتنسيق Payment API الخاص بـ DataFast.
- تحقق من وجود جميع الحقول المطلوبة:
amountوcurrencyوtransaction_id. أدرجdatafast_visitor_idللإسناد. - تحقق من تحويل المبلغ: اقسم على 100 لمعظم العملات، وعلى 1,000 للعملات ذات المنازل العشرية الثلاث، ولا تقسّم إطلاقًا للعملات ذات المنازل العشرية الصفرية.
- تحقق من أن عنوان URL لنقطة النهاية هو
https://datafa.st/api/v1/payments. - اختبر التحويل باستخدام حمولات webhook نموذجية.
Currency Conversion Issues
Currency Conversion Issues
- بالنسبة إلى العملات ذات المنازل العشرية الصفرية (BIF وCLP وDJF وGNF وJPY وKMF وKRW وMGA وPYG وRWF وUGX وVND وVUV وXAF وXOF وXPF)، أرسل المبلغ كما هو.
- بالنسبة إلى العملات ذات المنازل العشرية الثلاث (BHD وIQD وJOD وKWD وLYD وOMR وTND)، اقسم المبلغ على 1,000.
- بالنسبة إلى جميع العملات الأخرى، اقسم المبلغ على 100 للتحويل من أصغر وحدة إلى الوحدة الرئيسية.
- تحقق من استخدام رمز العملة لتنسيق ISO 4217، مثل
USDأوEURأوJPY.
موارد إضافية
DataFast Documentation
اقرأ عن Payment API الخاص بـ DataFast وإسناد الإيرادات.
DataFast Dashboard
اعرض تحليلات الإيرادات وبيانات الإسناد في لوحة تحكم DataFast الخاصة بك.
للحصول على مساعدة بشأن هذا التكامل، تواصل مع دعم Dodo Payments عبر support@dodopayments.com.