Skip to main content

نظرة عامة

تستخدم واجهة برمجة تطبيقات مدفوعات دودي رموز الحالة القياسية HTTP ورموز الخطأ المخصصة للإشارة إلى نجاح أو فشل طلبات API. عند حدوث خطأ، تعيد واجهة برمجة التطبيقات رمز حالة HTTP مناسب واستجابة JSON تحتوي على معلومات مفصلة حول الخطأ. تتضمن كل استجابة خطأ:
  • رمز حالة HTTP يشير إلى الفئة العامة للخطأ
  • رمز خطأ محدد يحدد الطبيعة الدقيقة للخطأ
  • رسالة خطأ قابلة للقراءة البشرية تشرح ما حدث
  • تفاصيل إضافية حول الخطأ عند الاقتضاء
فهم هذه الرموز ومعانيها أمر بالغ الأهمية لـ:
  • تصحيح مشكلات التكامل
  • تنفيذ معالجة الأخطاء بشكل صحيح في تطبيقك
  • تقديم ملاحظات ذات مغزى للمستخدمين النهائيين
  • الحفاظ على نظام معالجة مدفوعات قوي
هذه هي أخطاء API والمنطق التجاري. لأسباب رفض البطاقة التي تُرجع عند فشل الدفع (مثل INSUFFICIENT_FUNDS أو CARD_DECLINED)، راجع مرجع إخفاقات المعاملات بدلاً من ذلك.

رموز خطأ API القياسية

تنسيق استجابة الخطأ

عند حدوث خطأ، تعيد واجهة برمجة التطبيقات استجابة JSON بالهيكل التالي:

مرجع رموز الخطأ

الرموز الخطأ أدناه مجمعة حسب منطقة API التي تتعلق بها. تعرض كل إدخال الحالة التي تحفزها والرسالة التي يعيدها API.

التحقق من الهوية والحساب

  • UNAUTHORIZED
    • محفز: لا يوجد مفتاح API أو رمز غير صالح / نطاق
    • رسالة: ليس لديك إذن لأداء هذا الإجراء
  • MERCHANT_NOT_LIVE
    • Trigger: لا يزال النشاط التجاري في Test Mode
    • Message: Merchant غير مباشر
  • BUSINESS_ARCHIVED
    • المشغّل: أي طلب موجّه للعميل (checkout أو payment link أو storefront أو Customer Portal أو license key) لنشاط تجاري تمت أرشفته
    • الرسالة: هذا النشاط التجاري مؤرشف ولم يعد يقبل الطلبات

Payments & Checkout

  • CHECKOUT_SESSION_CONSUMED
    • المشغّل: أنشأت جلسة Checkout عملية دفع بالفعل
    • الرسالة: تم استهلاك جلسة Checkout بالفعل
  • NO_ELIGIBLE_PAYMENT_METHODS
    • المشغّل: لم يتبقَّ شيء بعد التصفية
    • الرسالة: لم يتم العثور على طرق دفع مؤهلة
  • PAYMENT_NOT_SUCCEEDED
    • المشغّل: محاولة ردّ أموال عملية دفع غير ناجحة أو معالجتها
    • الرسالة: عملية الدفع المقدّمة لم تنجح
  • PREVIOUS_PAYMENT_PENDING
    • المشغّل: محاولة إنشاء charge بينما العملية السابقة في حالة غير نهائية
    • الرسالة: لا يمكن إنشاء charge جديد لأن عملية الدفع السابقة لم تنجح بعد
  • UNSUCCESSFUL_PAYMENT_ID
    • المشغّل: يشير Payment ID إلى عملية دفع غير ناجحة
    • الرسالة: حالة Payment ID غير ناجحة.

Connectors & BYOP

ترتبط هذه الأخطاء بموصلات الدفع المملوكة للتاجر (Bring Your Own Processor).
  • BYOP_CONNECTOR_DISABLED
    • المشغّل: تحديث طريقة دفع في اشتراك يتم توجيهه عبر موصل BYOP معطّل
    • الرسالة: يتم توجيه الاشتراك عبر موصل التاجر الخاص (BYOP)، وهو معطّل حاليًا
  • BYOP_CUSTOM_INVOICE_ADDRESS_MISSING
    • المشغّل: تفتقد عملية دفع موجّهة عبر التاجر (BYOP) إلى عنوان الفاتورة المخصص المطلوب
    • الرسالة: عنوان الفاتورة المخصص لـ BYOP مطلوب عند توجيه عملية الدفع عبر موصل التاجر
  • CONNECTOR_LABEL_ALREADY_EXISTS
    • المشغّل: إنشاء موصل بتسمية موجودة بالفعل
    • الرسالة: يوجد موصل بهذه التسمية بالفعل. يُرجى اختيار تسمية مختلفة.

Refunds

  • EXISTING_REFUND_REQUEST_PROCESSING
    • المشغّل: لا يزال طلب ردّ الأموال السابق قيد المعالجة
    • الرسالة: لا يزال طلب ردّ الأموال ذي الحالة “Pending” قيد المعالجة
  • LINE_ITEM_FULLY_REFUNDED
    • المشغّل: محاولة ردّ أموال عنصر سطر تم ردّ قيمته بالكامل بالفعل
    • الرسالة: تم ردّ قيمة عنصر السطر بالكامل، ولا يمكن ردّ المزيد منه.
  • LINE_ITEM_NOT_FOUND
    • المشغّل: معرّف العنصر ليس جزءًا من عملية الدفع المشار إليها
    • الرسالة: لم يتم العثور على عنصر السطر في عملية الدفع
  • LINE_ITEM_PRORATED
    • المشغّل: محاولة ردّ أموال أو تحديث سطر محسوب بالتناسب
    • الرسالة: لا يمكن ردّ أموال عنصر السطر لأنه محسوب بالتناسب
  • LINE_ITEM_REFUND_AMOUNT_TOO_HIGH
    • المشغّل: مبلغ ردّ الأموال > المبلغ المدفوع (شامل الضريبة)
    • الرسالة: مبلغ ردّ الأموال المطلوب لعنصر السطر ، شاملًا الضريبة، هو ، وهو أعلى من المبلغ المدفوع
  • LINE_ITEM_REFUND_AMOUNT_TOO_LOW
    • المشغّل: مبلغ ردّ الأموال أقل من الحد الأدنى
    • الرسالة: مبلغ ردّ الأموال المطلوب لعنصر السطر هو ، وهو منخفض جدًا
  • NOTHING_TO_REFUND
    • المشغّل: لم يتبقَّ أي مبلغ قابل لردّ الأموال؛ تم ردّ أموال جميع عناصر السطر الموجبة بالكامل
    • الرسالة: لم يتبقَّ أي مبلغ قابل لردّ الأموال. تم ردّ أموال جميع عناصر السطر الموجبة بالكامل.
  • PARTIAL_REFUND_NOT_ALLOWED
    • المشغّل: محاولة ردّ أموال جزئي لوسيلة دفع لا تدعم إلا ردّ الأموال بالكامل
    • الرسالة: عمليات ردّ الأموال الجزئية غير مسموحة لطريقة الدفع هذه
  • PAYMENT_ALREADY_REFUNDED
    • المشغّل: ردّ أموال مكرر
    • الرسالة: تم ردّ أموال عملية الدفع هذه بالفعل
  • PAYMENT_HAS_BEEN_REFUNDED
    • المشغّل: تم ردّ أموال عملية الدفع بالكامل
    • الرسالة: تم ردّ أموال Payment ID بالكامل.
  • REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT
    • المشغّل: إجمالي مبلغ ردّ الأموال > المبلغ المدفوع
    • الرسالة: مبلغ ردّ الأموال المحسوب أكبر من المبلغ المدفوع
  • REFUND_WINDOW_EXPIRED
    • المشغّل: خارج المدة المسموح بها لبدء ردّ الأموال
    • الرسالة: لا يمكن بدء ردّ الأموال بعد يومًا من إنشاء عملية الدفع. تواصل مع support@dodopayments.com.
  • ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED
    • المشغّل: محاولة ردّ أموال عملية دفع بمبلغ صفري
    • الرسالة: لا يمكن ردّ أموال عملية دفع بمبلغ عملة صفري

Subscriptions & Add-ons

  • ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED
    • المشغّل: محاولة إضافة addons إلى اشتراكات الفوترة القائمة على الاستخدام
    • الرسالة: لا يتم دعم Addons في الاشتراكات ضمن Usage Based Billing
  • ADDONS_NOT_ALLOWED_FOR_ON_DEMAND
    • المشغّل: محاولة إضافة addons إلى اشتراكات on-demand
    • الرسالة: لا يُسمح باستخدام Addons في اشتراكات on demand
  • CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • المشغّل: يحاول Customer Portal إلغاء تغيير خطة مجدول بينما عطّل النشاط التجاري هذا الإجراء
    • الرسالة: إلغاء تغيير الخطة المجدول معطّل في customer portal.
  • CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION
    • المشغّل: محاولة تحصيل رسوم اشتراك مجدول للإلغاء
    • الرسالة: الاشتراك مجدول للإلغاء
  • CUSTOMER_HAS_EXISTING_SUBSCRIPTION
    • المشغّل: إنشاء اشتراك لعميل لديه اشتراك بالفعل، عندما لا يُسمح باشتراكات متعددة لكل عميل
    • الرسالة: لدى العميل اشتراك موجود. للسماح باشتراكات متعددة لكل عميل، غيّر إعدادات النشاط التجاري
  • DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL
    • المشغّل: تم استخدام وضع do_not_bill proration في تغيير خطة عبر Customer Portal
    • الرسالة: وضع do_not_bill proration غير مسموح به في customer portal
  • DUPLICATE_ADDON_IDS_IN_REQUEST
    • المشغّل: يظهر addon_id نفسه أكثر من مرة في الطلب
    • الرسالة: معرّفات Addon المكررة غير مسموح بها
  • INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED
    • المشغّل: تغيير خطة لاشتراك غير نشط
    • الرسالة: تغيير الخطط غير مدعوم للاشتراكات غير النشطة
  • INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE
    • المشغّل: استخدام وضع proration غير full_immediately مع effective_at: next_billing_date
    • الرسالة: لا يُسمح إلا بوضع full_immediately proration مع effective_at: next_billing_date
  • MISSING_ADDON_IDS
    • المشغّل: قائمة addon_id فارغة أو تحتوي على معرّفات غير معروفة
    • الرسالة: واحد أو أكثر من معرّفات المنتج غير موجود:
  • ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED
    • المشغّل: تبديل الخطة غير مسموح به لـ on-demand
    • الرسالة: تغيير الخطط غير مدعوم للاشتراكات on demand
  • ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED
    • المشغّل: محاولة استخدام on-demand مع الفوترة القائمة على الاستخدام
    • الرسالة: اشتراكات On Demand غير مدعومة ضمن Usage Based Billing
  • ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND
    • المشغّل: تمت إضافة منتج لمرة واحدة إلى اشتراك on-demand
    • الرسالة: المنتجات لمرة واحدة غير مسموح بها في اشتراكات on demand
  • PENDING_PLAN_CHANGE_EXISTS
    • المشغّل: طُلب تغيير خطة جديد بينما لا يزال التغيير السابق بانتظار الدفع
    • الرسالة: يوجد تغيير خطة معلّق بالفعل لهذا الاشتراك. يُرجى الانتظار حتى تكتمل عملية الدفع الحالية.
  • PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • المشغّل: تغيير الخطة عبر Customer Portal بينما عطّله النشاط التجاري
    • الرسالة: تغيير خطة الاشتراك لـ customer portal معطّل.
  • PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION
    • المشغّل: محاولة تغيير الخطة لاشتراك مجدول للإلغاء
    • الرسالة: الاشتراك مجدول للإلغاء
  • SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • المشغّل: جدولة تغيير خطة عبر Customer Portal بينما عطّل النشاط التجاري هذا الإجراء
    • الرسالة: جدولة تغييرات الخطط معطّلة لهذا النشاط التجاري.
  • SCHEDULED_PLAN_CHANGE_EXISTS
    • المشغّل: إنشاء تغيير خطة مجدول عند وجود تغيير آخر بالفعل
    • الرسالة: يوجد تغيير خطة مجدول بالفعل لهذا الاشتراك. يُرجى إلغاء التغيير المجدول الحالي قبل إنشاء تغيير جديد.
  • SCHEDULED_PLAN_CHANGE_NOT_FOUND
    • المشغّل: الإشارة إلى تغيير خطة مجدول غير موجود أو إلغاؤه
    • الرسالة: لم يتم العثور على تغيير خطة مجدول لهذا الاشتراك.
  • SUBSCRIPTION_EXPIRED
    • المشغّل: الفوترة بعد expires_at
    • الرسالة: انتهت صلاحية الاشتراك، ولا يمكن إنشاء رسوم جديدة
  • SUBSCRIPTION_INACTIVE
    • المشغّل: الحالة ≠ active
    • الرسالة: الاشتراك غير نشط
  • SUBSCRIPTION_NOT_ON_DEMAND
    • المشغّل: المتوقع on-demand لكن تم الحصول على فترة ثابتة
    • الرسالة: الاشتراك ليس on demand بالفعل
  • SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED
    • المشغّل: تجاوزت إعادة محاولات دفع الاشتراك الحد الأقصى للمحاولات
    • الرسالة: تم تجاوز الحد الأقصى لإعادة المحاولة، البالغ 10 محاولات، لهذا الاشتراك

Products, Cart & Brands

  • BRAND_ALREADY_ARCHIVED
    • المشغّل: أرشفة Brand مؤرشف بالفعل
    • الرسالة: Brand مؤرشف بالفعل
  • BRAND_ARCHIVED
    • المشغّل: تحديث Brand مؤرشف، أو إرساله للتحقق، أو إضافة منتج جديد أو مجموعة منتجات أو اشتراك إليه
    • الرسالة: Brand مؤرشف ولا يمكن تحديثه
  • BRAND_ARCHIVE_TARGET_REQUIRED
    • المشغّل: أرشفة Brand لا يزال يحتوي على منتجات أو اشتراكات مباشرة أو مجموعات منتجات دون هدف move_products_to
    • الرسالة: يحتوي Brand على 12 منتجًا. عيّن move_products_to إلى Brand مستهدف لإعادة وسمها.
  • BRAND_MISMATCH
    • المشغّل: تنتمي عناصر Cart إلى Brands مختلفة
    • الرسالة: يجب أن تنتمي جميع العناصر في product cart إلى Brand نفسه
  • BRAND_NOT_ENABLED
    • المشغّل: Brand معطّل أو غير نشط
    • الرسالة: Brand المقدّم غير مفعّل
  • BRAND_SUBMISSION_NOT_ENABLED
    • المشغّل: ميزة إعادة إرسال التحقق من Brand غير مفعّلة
    • الرسالة: إعادة إرسال التحقق من Brand غير مفعّلة
  • CANNOT_ARCHIVE_PRIMARY_BRAND
    • المشغّل: أرشفة Brand الأساسي، الذي يساوي معرّف Brand فيه معرّف النشاط التجاري
    • الرسالة: لا يمكن أرشفة Brand الأساسي
  • FILE_IN_USE
    • المشغّل: حذف ملف منتج رقمي لا تزال مراجعته موجودة في منح الاستحقاق النشطة
    • الرسالة: الملف الرقمي مشار إليه من خلال منح نشطة
  • INVALID_BRAND_ARCHIVE_TARGET
    • المشغّل: يشير move_products_to إلى Brand الذي تتم أرشفته، أو إلى Brand مؤرشف، أو إلى Brand تابع لنشاط تجاري آخر
    • الرسالة: يجب أن يكون move_products_to هو Brand تابعًا لهذا النشاط التجاري وغير مؤرشف
  • INVALID_SUGGESTED_PRICE
    • المشغّل: سعر PWYW < الحد الأدنى للسعر المسموح
    • الرسالة: لا يمكن أن يكون Suggested Price أقل من الحد الأدنى للسعر. في حالة pay what you want، يُعتبر السعر هو الحد الأدنى للمبلغ المقبول
  • LOCALIZED_PRICE_ALREADY_EXISTS
    • المشغّل: يوجد سعر محلي بالفعل لهذا المنتج وللدولة/العملة
    • الرسالة: يوجد سعر محلي لهذا المنتج وللدولة/العملة بالفعل
  • LOCALIZED_PRICE_DUPLICATES_BASE
    • المشغّل: يكرر السعر المحلي العملة/الدولة الأساسية للمنتج
    • الرسالة: السعر المحلي يكرر العملة/الدولة الأساسية للمنتج
  • LOCALIZED_PRICE_SHAPE_MISMATCH
    • المشغّل: لا يتطابق شكل السعر المحلي مع pricing_mode الخاص بالمنتج
    • الرسالة: لا يتطابق شكل السعر المحلي مع pricing_mode الخاص بالمنتج
  • MISSING_PRODUCT_INFORMATION
    • المشغّل: المنتج موجود لكن المعلومات الإلزامية مفقودة
    • الرسالة: المنتج موجود، لكن معلومات إلزامية أخرى مفقودة أو غير صالحة
  • PAY_AS_YOU_WANT_AMOUNT_REQUIRED
    • المشغّل: السعر مفقود لمنتج PWYW
    • الرسالة: Amount إلزامي لمنتج pay as you want
  • PRODUCT_CART_EMTPY
    • المشغّل: تم إرسال product cart فارغ
    • الرسالة: product_cart فارغ (تمت كتابة رمز الخطأ عمدًا بالشكل EMTPY لمطابقة القيمة الدقيقة التي تُرجعها API)
  • PRODUCT_COLLECTION_IS_DELETED
    • المشغّل: إجراء عملية على مجموعة منتجات تم حذفها
    • الرسالة: لا توجد رسالة
  • PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS
    • المشغّل: إزالة آخر منتج (أو آخر مجموعة تحتوي على منتجات) من مجموعة
    • الرسالة: لا يمكن حذف آخر منتج في مجموعة. أرشف المجموعة بدلًا من ذلك.
  • PRODUCT_IS_DELETED
    • المشغّل: تم حذف المنتج حذفًا غير نهائي
    • الرسالة: لا توجد رسائل
  • PRODUCT_PRICING_MODE_REQUIRED
    • المشغّل: إضافة أسعار محلية قبل تعيين pricing_mode الخاص بالمنتج
    • الرسالة: يجب تعيين pricing_mode للمنتج قبل إضافة الأسعار المحلية
  • SLUG_ALREADY_TAKEN
    • المشغّل: slug / short URL المطلوب للمنتج مستخدم بالفعل
    • الرسالة: Slug مستخدم بالفعل
  • UNABLE_TO_EDIT_PRIMARY_BRAND
    • المشغّل: محاولة تحديث Brand الأساسي عبر API العادية
    • الرسالة: لا يمكن تحديث Brand الأساسي عبر نقطة النهاية هذه في API.

Discounts

  • DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION
    • المشغّل: إعادة تطبيق خصم سبق استخدامه في هذا الاشتراك
    • الرسالة: تم استخدام هذا الخصم بالفعل في هذا الاشتراك
  • DISCOUNT_CODE_ALREADY_EXISTS
    • المشغّل: إنشاء Discount Code مكرر
    • الرسالة: Discount Code موجود بالفعل
  • DISCOUNT_CODE_EXPIRED
    • المشغّل: تجاوز Discount Code تاريخ expires_at
    • الرسالة: انتهت صلاحية Discount Code
  • DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED
    • المشغّل: إعادة استخدام الخصم بعد بلوغ usage_limit
    • الرسالة: لا يمكن أن يكون حد الاستخدام أقل من times_used / بلغ Discount Code حد الاستخدام
    • ملاحظة: نهائي — استُنفد الرمز. لا تعاود المحاولة.
  • DISCOUNT_CONCURRENT_REDEMPTION
    • المشغّل: استغرق استرداد آخر للرمز نفسه وقتًا طويلًا في قفل صف حد الاستخدام
    • الرسالة: يجري استرداد الخصم بالتزامن؛ يُرجى إعادة المحاولة
    • ملاحظة: مؤقت. قد تظل للرمز سعة، لذا يمكن إعادة محاولة الطلب بأمان. لا تعرض هذا للعميل على أنه “تم استنفاد الرمز”.
  • DISCOUNT_CURRENCY_OPTION_INVALID
    • المشغّل: currency_options غير صالح عند الإنشاء أو التحديث
    • الرسالة: يتطلب الخصم الثابت خيار عملة واحدًا على الأقل مع قيمة افتراضية قابلة للحل / لا يُسمح بخيارات العملات المكررة / يمكن وضع علامة افتراضي على خيار عملة واحد فقط
  • DISCOUNT_CUSTOMER_NOT_ELIGIBLE
    • المشغّل: لا يستوفي العميل customer_eligibility الخاص بالرمز (first_time أو existing أو ليس مدرجًا في قائمة السماح الخاصة برمز specific)
    • الرسالة: العميل غير مؤهل لاستخدام Discount Code هذا
  • DISCOUNT_MINIMUM_SUBTOTAL_NOT_MET
    • المشغّل: المجموع الفرعي لـ Cart أقل من minimum_subtotal المعيّن لعملة Checkout
    • الرسالة: المجموع الفرعي لـ Cart أقل من الحد الأدنى المطلوب للخصم
  • DISCOUNT_NOT_YET_ACTIVE
    • المشغّل: استخدام الرمز قبل تاريخ starts_at
    • الرسالة: Discount Code غير نشط بعد (تاريخ starts_at في المستقبل)
  • DISCOUNT_PER_CUSTOMER_USAGE_LIMIT_EXCEEDED
    • المشغّل: استردّ العميل الرمز بالفعل per_customer_usage_limit مرات
    • الرسالة: تم تجاوز حد الاستخدام لكل عميل لـ Discount Code هذا
  • DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT
    • المشغّل: تغيير الخطة إلى منتج لا ينطبق عليه الخصم الحالي
    • الرسالة: الخصم غير منطبق على منتج الخطة الجديدة
  • DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND
    • المشغّل: تطبيق الرمز على اشتراك on-demand
    • الرسالة: Discount coupon غير متاح لاشتراكات on demand
  • DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT
    • المشغّل: تطبيق الرمز على منتجات غير مرتبطة
    • الرسالة: Discount coupon غير متاح لهذا المنتج
  • INVALID_DISCOUNT_CODE
    • المشغّل: الرمز غير موجود / غير منطبق
    • الرسالة: Discount Code غير صالح / لا يمكن تطبيق Discount Code على أي منتج في Cart
  • INVALID_PERCENTAGE
    • المشغّل: النسبة المئوية > 100% (أو 10,000 نقطة أساس)
    • الرسالة: لا يمكن أن تزيد النسبة المئوية عن 10000 / لا يمكن أن تزيد قيمة Discount Code عن 100%
  • UNSUPPORTED_DISCOUNT_TYPE
    • المشغّل: نوع خصم غير مدعوم. percentage وflat مدعومان، أما الخصومات ذات المبلغ لكل وحدة فغير مدعومة.
    • الرسالة: لا يتم دعم سوى Discount Codes النسبية والثابتة

License Keys

  • ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT
    • المشغّل: عمليات تفعيل License Key: الحد الجديد < عدد المثيلات الحالي
    • الرسالة: لا يمكن أن يكون حد التفعيل الجديد أقل من عدد المثيلات الحالي
  • INACTIVE_LICENSE_KEY
    • المشغّل: الحالة ≠ active
    • الرسالة: License Key غير نشط
  • LICENSE_KEY_LIMIT_REACHED
    • المشغّل: عدد عمليات التفعيل = الحد
    • الرسالة: تم بلوغ حد تفعيل License Key
  • LICENSE_KEY_NOT_FOUND
    • المشغّل: Instance ID أو Key ID غير صالح
    • الرسالة: لم يتم العثور على مثيل License Key أو أنه لا ينتمي إلى License Key هذه
  • NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS
    • المشغّل: محاولة تعيين تاريخ انتهاء لمفتاح قائم على اشتراك
    • الرسالة: لا يمكن تعيين تاريخ انتهاء لـ License Key قائم على اشتراك

Usage-Based Billing & Meters

  • DUPLICATE_METER_IDS_IN_REQUEST
    • المشغّل: يظهر معرّف Meter نفسه عدة مرات في الطلب
    • الرسالة: معرّفات Meter المكررة غير مسموح بها
  • INVALID_QUANTITY
    • المشغّل: تم تحديد كمية غير صالحة للتسعير القائم على الاستخدام
    • الرسالة: يُسمح بكمية واحدة فقط في منتجات الأسعار القائمة على الاستخدام
  • METER_IS_DELETED
    • المشغّل: محاولة استخدام Meter محذوف
    • الرسالة: تم حذف Meter بالفعل
  • MISSING_METER_IDS
    • المشغّل: قائمة معرّفات Meter فارغة أو تحتوي على معرّفات غير صالحة
    • الرسالة: واحد أو أكثر من معرّفات Meter غير موجود:

Credit-Based Billing

  • CREDIT_ENTITLEMENT_IS_DELETED
    • المشغّل: إجراء عملية على استحقاق ائتماني تم حذفه
    • الرسالة: تم حذف الاستحقاق الائتماني بالفعل
  • CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS
    • المشغّل: إنشاء استحقاق ائتماني باسم موجود بالفعل
    • الرسالة: يوجد استحقاق ائتماني بهذا الاسم بالفعل
  • OVERAGE_LIMIT_EXCEEDED
    • المشغّل: قد يتجاوز خصم الاستخدام أو الائتمان حد التجاوز المعيّن
    • الرسالة: تم تجاوز حد التجاوز

Wallet

  • INSUFFICIENT_WALLET_FUNDS
    • المشغّل: رصيد Wallet < مبلغ الخصم
    • الرسالة: لا توجد أموال كافية في Wallet
  • NEGATIVE_BALANCE_ADJUSTMENT
    • المشغّل: محاولة جعل رصيد Wallet سالبًا
    • الرسالة: لا يُسمح بجعل رصيد Wallet سالبًا

Currency, Tax & Region

  • EXCHANGE_RATE_NOT_FOUND
    • المشغّل: لا يوجد سعر صرف لزوج العملات from → to
    • الرسالة: لم يتم العثور على سعر صرف للتحويل من Currency إلى Currency
  • INVALID_TAX_ID
    • المشغّل: فشل التحقق من VAT/GST/TIN
    • الرسالة: Tax Id غير صالح
  • REQUEST_AMOUNT_BELOW_MINIMUM
    • المشغّل: Amount < الحد الأدنى للمنتج
    • الرسالة: لا يمكن أن يكون Amount أقل من الحد الأدنى المحدد للمنتج
  • TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT
    • المشغّل: إجمالي Cart المدمج < الحد الأدنى للبوابة
    • الرسالة: يلزم حد أدنى قدره لمعالجة الدفع
  • UNSUPPORTED_BILLING_CURRENCY
    • المشغّل: عملة الفوترة المطلوبة غير مدعومة لهذا الاشتراك
    • الرسالة: عملة الفوترة غير USD غير مدعومة للاشتراكات
  • UNSUPPORTED_COUNTRY
    • المشغّل: المنطقة الجغرافية غير مدعومة بعد
    • الرسالة: الدولة غير مدعومة حاليًا
  • UNSUPPORTED_CURRENCY
    • المشغّل: عملة المنتج أو Addon ليست من العملات التي يمكن لـ Dodo Payments تحصيل الرسوم بها. يمكن تعيين الأسعار الأساسية بأي عملة قابلة للتحصيل، لذا يعني هذا عادةً أن رمز العملة غير صالح أو غير مدعوم بعد.
    • الرسالة: العملة غير مدعومة حاليًا / المنتجات المدعومة حاليًا هي USD وINR فقط / المدعوم لسعر Addon هو USD وINR فقط / لا يمكن طلب سوى USD أو INR لـ billing_currency / Currency Not Supported / عملة غير متوقعة لاشتراكات البطاقات الهندية
  • UNSUPPORTED_TAX_CATEGORY
    • المشغّل: سلسلة فئة الضريبة ليست ضمن enum
    • الرسالة: الفئة غير مدعومة حاليًا

Validation & Requests

  • DUPLICATE_LINE_ITEMS_IN_REQUEST
    • المشغّل: يظهر item_id مرتين في items[]
    • الرسالة: تم تحديد item_ids مكررة في مصفوفة items
  • INVALID_QUERY_PARAMS
    • المشغّل: query parameters متعارضة أو غير صحيحة
    • الرسالة: يجب أن تحتوي Query params على time_frame أو (start, end) فقط
  • INVALID_REQUEST_BODY
    • المشغّل: JSON غير صحيح أو مخالفة للمخطط
    • الرسالة: نص الطلب غير صالح. يُرجى التحقق من ترويسات الطلب والكائن.
  • INVALID_REQUEST_PARAMETERS
    • المشغّل: الدلالة غير صحيحة (مثلًا: تاريخ في الماضي)
    • الرسالة: لا يمكن تغيير next_billing_date إلى وقت في الماضي
  • MAXIMUM_KEYS_REACHED
    • المشغّل: تجاوزت Metadata / custom-fields عدد 50 زوجًا
    • الرسالة: تجاوز عدد أزواج المفتاح والقيمة 50

General & System

  • INTEGER_CONVERSION_FAILURE
    • المشغّل: أي تحويل من integer إلى string/decimal يفشل على جانب الخادم
    • الرسالة: فشل تحويل Integer
  • INTERNAL_SERVER_ERROR
    • المشغّل: استثناءات غير ملتقطة؛ يجب تسجيل التفاصيل على جانب الخادم
    • الرسالة: لا توجد رسالة عامة (500 عام)
  • NOT_FOUND
    • المشغّل: 404 عام لأي مورد مفقود
    • الرسالة: لم يتم العثور على العنصر (أو رسالة أكثر تحديدًا)
  • TOO_MANY_REQUESTS
    • المشغّل: 429 تجاوز معدل الطلبات
    • الرسالة: لا توجد رسائل
  • UNSUPPORTED_ACTION
    • المشغّل: إجراء غير مدعوم لنوع المورد
    • الرسالة: تغيير الخطط للاشتراكات القائمة على الاستخدام غير مدعوم

أفضل الممارسات

  1. تعامل دائمًا مع الأخطاء بسلاسة في تطبيقك
  2. طبّق تسجيلًا مناسبًا للأخطاء
  3. استخدم رسائل أخطاء ملائمة للمستخدمين النهائيين
  4. طبّق منطق إعادة المحاولة للأخطاء المؤقتة
  5. تواصل مع الدعم بشأن المشكلات التي لم تُحل

الدعم

للحصول على مساعدة إضافية بشأن رموز الأخطاء أو مشكلات التكامل، يُرجى التواصل مع فريق الدعم لدينا عبر support@dodopayments.com.
آخر تعديل في ٢١ أغسطس ٢٠٢٦