ما هو رمز الحالة 402: الدفع مطلوب؟

INEZA Felin-Michel

INEZA Felin-Michel

26 سبتمبر 2025

ما هو رمز الحالة 402: الدفع مطلوب؟

أنت تتصفح موقعًا إخباريًا وتصل إلى حد المقالات المجانية الشهرية. بدلاً من ظهور جدار حماية للدفع، يمكن للمتصفح نفسه عرض واجهة دفع موحدة. توافق على دفعة صغيرة جدًا، بقيمة سنت واحد، ويتم تحميل المقال على الفور. لا اشتراك، لا حساب، فقط معاملة سلسة ودقيقة مدمجة مباشرة في نسيج الويب.

كانت هذه هي الرؤية المستقبلية وراء أحد رموز حالة HTTP الأكثر إثارة للاهتمام ونادرًا ما تُستخدم: 402 Payment Required.

على عكس رموز الحالة الشائعة مثل 401 Unauthorized أو 404 Not Found، فإن رمز الحالة 402 هو رمز محجوز وتجريبي. إنه بمثابة مكان شاغر لمستقبل لم يأتِ بعد، مستقبل تكون فيه المدفوعات الصغيرة والآلية جزءًا أصيلًا من كيفية تصفحنا للويب.

إنها طريقة الخادم للقول: "لدي ما تريده، ولكن عليك دفع رسوم صغيرة للوصول إليه. دعنا نتعامل مع هذه المعاملة بكفاءة."

ولكن هنا تكمن المفارقة: مع تزايد اعتماد الإنترنت على المدفوعات الرقمية، واشتراكات SaaS، وتحقيق الدخل من واجهات برمجة التطبيقات (API)، فإن رمز الحالة 402 Payment Required أصبح ذا أهمية متزايدة.

إذا كنت مفتونًا بإمكانيات تحقيق الدخل من الويب، والمدفوعات الصغيرة، والمسارات التي لم تُسلك في تاريخ الإنترنت، فإن قصة 402 هي سيناريو "ماذا لو" آسر.

💡
وقبل أن نتعمق في هذا المستقبل الافتراضي، إذا كنت تبني واجهات برمجة التطبيقات العملية اليوم التي تتعامل بالفعل مع المدفوعات والمصادقة، فأنت بحاجة إلى أداة متجذرة في الحاضر. قم بتنزيل Apidog مجانًا؛ إنها منصة API شاملة تساعدك على اختبار وتصحيح رموز الحالة التي تستخدمها بالفعل كل يوم، مثل 401، 403، و 200.

زر

الآن، دعنا نستكشف الماضي والحاضر والمستقبل المحتمل لرمز حالة HTTP 402 Payment Required.

المشكلة: طبقة المدفوعات الصغيرة الأصلية المفقودة

تصور مهندسو الويب الأوائل إنترنتًا أكثر مرونة ماليًا. لقد توقعوا الحاجة إلى طريقة قياسية لطلب وإجراء مدفوعات صغيرة للمحتوى والخدمات الرقمية دون عوائق إنشاء الحسابات أو إدخال تفاصيل بطاقة الائتمان لكل معاملة.

المشاكل التي سعوا لحلها:

تم اقتراح رمز 402 كحل على مستوى البروتوكول لهذه العوائق.

تاريخ HTTP 402

تم تعريف رمز الحالة 402 في الأصل في مواصفات HTTP/1.1 على أنه "محجوز للاستخدام المستقبلي".

كانت الفكرة هي أن الويب قد يحتاج يومًا ما إلى طريقة موحدة للإشارة إلى متطلبات الدفع. وعلى الرغم من أنه لم يستخدم على نطاق واسع في بدايات الإنترنت، إلا أنه تم الاحتفاظ به في المواصفات لحالات الاستخدام المستقبلية المحتملة.

بالانتقال إلى اليوم، مع انتشار الخدمات القائمة على الاشتراك، وعمليات الشراء داخل التطبيق، وواجهات برمجة التطبيقات المدفوعة في كل مكان، فإن أهمية 402 تتزايد بسرعة.

ماذا يعني رمز HTTP 402 Payment Required حقًا؟

رمز الحالة 402 Payment Required محجوز للاستخدام المستقبلي. وقد ورد ذكره في مواصفات HTTP (RFC 7231) بوصف بسيط ومفتوح:

رمز الحالة 402 محجوز للاستخدام المستقبلي.

هذا هو التعريف الرسمي الكامل. كان القصد الأصلي منه، كما هو موضح في مسودات RFC السابقة، هو الإشارة إلى أن المحتوى المطلوب غير متاح حتى يقوم العميل بالدفع.

ستحتاج استجابة 402 النظرية إلى تضمين رؤوس لتحديد تفاصيل الدفع. وعلى الرغم من أنها لم تُوحّد أبدًا، إلا أنها قد تبدو شيئًا كهذا:

HTTP/1.1 402 Payment RequiredPayment-Type: MicropaymentAmount: 0.01Currency: USDLocation: /payment-gateway?article=123  # A fallback link

كانت الفكرة هي أن المتصفح "الواعي بالدفع" سيتعرف على رمز الحالة هذا، ويتفاعل مع محفظة رقمية مدمجة، ويسهل الدفع تلقائيًا قبل إعادة محاولة الطلب.

بمعنى آخر، يفهم الخادم ما تطلبه ولكنه يرفض تسليمه حتى تدفع.

هذا يجعل 402 فريدًا. على عكس 400 (طلب سيء) أو 401 (غير مصرح به)، فإنه لا يعني أنك أخطأت في بناء الجملة أو بيانات الاعتماد. بدلاً من ذلك، فإنه يقول بشكل أساسي:

لماذا لم ترَ 402 في الواقع أبدًا

هذه الفكرة الرائعة لم تنجح أبدًا لعدة أسباب رئيسية:

  1. عدم وجود نظام دفع موحد: كان هذا هو العائق الأكبر. يمكن لمواصفات HTTP تحديد رمز الحالة، لكنها لم تستطع إنشاء المحفظة الرقمية العالمية أو نظام المدفوعات الصغيرة الذي كان ضروريًا لدعمها. من سيدير المحافظ؟ كيف ستعمل تحويلات العملات؟ كيف سيتم منع الاحتيال؟ كانت هذه مشاكل ضخمة وغير محلولة.
  2. نقص دعم المتصفحات: بدون نظام دفع منتشر في كل مكان، لم يكن لدى بائعي المتصفحات مثل Netscape و Microsoft أي حافز لبناء واجهة المستخدم المعقدة وميزات الأمان المطلوبة للتعامل مع استجابات 402. لم يكن هناك "تطبيق قاتل" لدفع التبني.
  3. صعود النماذج البديلة: بينما كان الويب ينتظر المدفوعات الصغيرة، أصبحت نماذج أخرى مهيمنة:

كان رمز 402 حلاً يبحث عن مشكلة تم حلها في النهاية بواسطة قوى السوق بطريقة مختلفة.

لماذا نادرًا ما يُرى 402 اليوم؟

على الرغم من وجوده في المواصفات، فإن العديد من الخوادم والأطر البرمجية لا تطبق 402 Payment Required. بدلاً من ذلك، غالبًا ما يقوم المطورون بما يلي:

ومع ذلك، بدأت بعض واجهات برمجة التطبيقات الحديثة، خاصة تلك التي تحتوي على ميزات تحقيق الدخل، في تبني 402 كإشارة أوضح وأكثر صحة من الناحية الدلالية.

البعث الحديث: الاستخدامات التجريبية

بينما فشلت الرؤية الأصلية، لم يختفِ الرمز أبدًا. في السنوات الأخيرة، وجد بعض حالات الاستخدام التجريبية والمتخصصة التي تتوافق مع روحه الأصلية.

1. معيار تحقيق الدخل من الويب (Web Monetization)

مبادرة حديثة تسمى تحقيق الدخل من الويب (Web Monetization) (بقيادة مؤسسة Interledger Foundation) ربما تكون أقرب تحقيق لحلم 402. توفر واجهة برمجة تطبيقات قياسية لتدفق المدفوعات الصغيرة من المستخدم إلى موقع الويب أثناء استهلاكهم للمحتوى.

بينما يستخدم تحقيق الدخل من الويب عادةً علامة meta في HTML (<meta name="monetization" content="$ilp.example.com/me">)، فقد استخدمت بعض التطبيقات التجريبية رمز الحالة 402 للإشارة إلى أن موردًا ما يقع خلف بوابة تحقيق الدخل. يمكن لمتصفح مزود بملحق تحقيق الدخل من الويب اعتراض 402، والتحقق من أن تدفق دفع المستخدم نشط، ثم السماح للطلب بالمتابعة.

2. بوابات الدفع القائمة على واجهة برمجة التطبيقات (API)

تستخدم بعض واجهات برمجة التطبيقات الحديثة 402 بطريقة أكثر حرفية، وإن كانت أقل تلقائية. على سبيل المثال، قد تُرجع واجهة برمجة تطبيقات للذكاء الاصطناعي تفرض رسومًا على كل طلب رمز 402 عندما تستنفد أرصدة المستخدم المدفوعة مسبقًا.

HTTP/1.1 402 Payment RequiredContent-Type: application/json
{
  "error": "InsufficientCredits",
  "message": "You have 0 credits remaining. Please top up your account.",
  "top_up_url": "<https://api.example.com/billing/add-credits>"
}

في هذه الحالة، "العميل" هو خادم آخر أو نص برمجي، وليس إنسانًا يستخدم متصفحًا. من المتوقع أن يتعامل تطبيق العميل برمجيًا مع 402 عن طريق توجيه المستخدم إلى صفحة دفع أو استخدام مفتاح API بأرصدة كافية. هذا استخدام عملي، وإن لم يكن مؤتمتًا بالكامل، لقصد الرمز.

حالات الاستخدام الشائعة لـ 402 Payment Required

إليك حيث قد ترى 402 قيد العمل:

أمثلة على 402 في واجهات برمجة التطبيقات ومنصات SaaS

مثال على استجابة HTTP:

HTTP/1.1 402 Payment Required
Content-Type: application/json

{
  "error": "Payment Required",
  "message": "You have exceeded your free quota. Please upgrade your plan."
}

مثال في سيناريو اختبار واجهة برمجة التطبيقات:

402 مقابل 403 Forbidden و 402 مقابل 402

من المهم التمييز بين 402 ورموز خطأ العميل الأخرى.

402 Payment Required مقابل 403 Forbidden:

402 Payment Required مقابل 402 Payment Required:

قد يبدو هذا غريبًا، لكنه يسلط الضوء على الفرق بين الرؤية الأصلية والتجارب الحديثة.

كيف يعمل 402 Payment Required في الممارسة

إليك سير العمل النموذجي:

  1. يقوم العميل (المستخدم أو التطبيق) بتقديم طلب صالح.
  2. يتحقق الخادم من:

3. بدلاً من تلبية الطلب، يُرجع الخادم 402 Payment Required مع رسالة مثل "الترقية إلى المميز".

هذا يبقي العميل على اطلاع ويمنع الارتباك.

إصلاح وتصحيح أخطاء 402

من وجهة نظر المستخدم، إصلاح خطأ 402 يعني عادةً:

من وجهة نظر المطور، يتطلب تصحيح الأخطاء ما يلي:

اختبار 402 افتراضي باستخدام Apidog

بما أن 402 تجريبي، فلن تختبره في الإنتاج كثيرًا. ومع ذلك، إذا كنت تبني واجهة برمجة تطبيقات جديدة تستخدمه، أو كنت ترغب فقط في التجربة، فإن Apidog هو بيئة الاختبار المثالية.

باستخدام Apidog، يمكنك:

  1. محاكاة استجابة 402: قم بتكوين نقطة نهاية وهمية بسهولة لإرجاع حالة 402 Payment Required مع رؤوس مخصصة ونص يصف متطلبات الدفع.
  2. اختبار منطق العميل: إذا كنت تبني عميلًا يستهلك واجهة برمجة تطبيقات كهذه، يمكنك استخدام خادم Apidog الوهمي للتأكد من أن تطبيقك يكتشف حالة 402 بشكل صحيح ويشغل تدفق الدفع المناسب بدلاً من التعامل معها كخطأ عام.
  3. تصميم عقود واجهة برمجة التطبيقات: استخدم Apidog لتوثيق سلوك واجهة برمجة التطبيقات الخاصة بك، موضحًا أن نقطة نهاية معينة قد تُرجع 402 في ظل ظروف محددة (مثل انخفاض رصيد الائتمان).

زر

بالنسبة للمطورين الذين يبنون واجهات برمجة التطبيقات، يساعدك Apidog أيضًا في تصميم سير عمل معالجة الدفع قبل تنفيذها بالكامل.

بدلاً من التخمين، يوضح لك Apidog بالضبط كيف تبدو وتتصرف استجابة 402 Payment Required.

كيف يمكن للمطورين تطبيق 402 Payment Required

إذا كنت تصمم واجهة برمجة تطبيقات أو خدمة تتطلب مدفوعات، فإليك كيفية تطبيق 402 بشكل صحيح:

مثال:

{
  "error": "payment_required",
  "details": "Please add a payment method to continue using this endpoint."
}

الآثار الأمنية لاستجابات 402

استخدام 402 بمسؤولية يعني عدم كشف المعلومات الحساسة. تشمل أفضل الممارسات ما يلي:

402 وجدران الدفع: تطبيقات عملية

غالبًا ما تواجه منصات المحتوى معضلة:

باستخدام 402، يمكنهم جعل متطلبات الدفع أكثر شفافية. هذا مفيد بشكل خاص لـ:

مستقبل 402 في تحقيق الدخل من واجهات برمجة التطبيقات (API Monetization)

مع تزايد أهمية واجهات برمجة التطبيقات للأعمال، يمكن أن يصبح 402 Payment Required المعيار الفعلي لـ:

ستلعب أدوات مثل Apidog دورًا كبيرًا هنا، مما يتيح للمطورين اختبار والتحقق من استجابات 402 كجزء من دورة حياة واجهة برمجة التطبيقات الخاصة بهم.

402 مقابل أساليب معالجة الدفع الأخرى

أحيانًا يتجاهل المطورون 402 ويكتفون بـ:

لكن استخدام 402 أفضل لأنه موحد وواضح وأسهل على العملاء في التفسير.

الخلاصة: رمز سابق لعصره

رمز حالة HTTP 402 Payment Required هو قطعة أثرية رائعة لرؤية أكثر مثالية للويب. إنه يمثل مسارًا حيث يسهل البروتوكول نفسه علاقة مالية مباشرة ودقيقة بين منشئي المحتوى والمستهلكين.

بينما لم يتحقق هذا المستقبل المحدد، يظل الرمز بمثابة مكان شاغر. يظهر استخدامه الأخير في تجارب مثل Web Monetization أن الفكرة الأساسية لتقليل الاحتكاك عند الدفع مقابل المحتوى لا تزال حية للغاية. يتم حل المشكلة فقط في طبقة مختلفة من مكدس التكنولوجيا.

قد لا يكون رمز الحالة 402 Payment Required شائعًا مثل 404 أو 500، ولكنه يلعب دورًا مهمًا في الاقتصاد الرقمي اليوم. مع تزايد اعتماد واجهات برمجة التطبيقات وتطبيقات SaaS والمنصات عبر الإنترنت على الوصول القائم على الدفع، يمكننا أن نتوقع أن يصبح 402 أكثر شيوعًا.

في الوقت الحالي، يظل 402 ملاحظة غريبة. ولكن من يدري؟ مع صعود العملات المشفرة ومنصات الدفع الجديدة، قد نرى مستقبلاً يفهم فيه المتصفح رمز الحالة 402 بشكل أصيل. حتى ذلك الحين، فإنه يظل تذكيرًا بإمكانات الويب اللانهائية لإعادة الابتكار.

لبناء واجهات برمجة التطبيقات اليوم، ستركز على رموز الحالة مثل 200، 201، 400، و 401. ولاختبار هذه الواجهات بدقة وسهولة، توفر أداة حديثة مثل Apidog كل ما تحتاجه لضمان أن تطبيقاتك قوية وموثوقة.

إذا كنت مطورًا أو مختبرًا أو مصمم واجهات برمجة تطبيقات، فإن أفضل طريقة لتصبح مرتاحًا مع 402 هي التجربة المباشرة معه. ولهذا الغرض، Apidog هو أفضل صديق لك. فهو يساعدك على اختبار وتصحيح ومحاكاة سيناريوهات الدفع المطلوبة بسهولة.

لا تنتظر حتى يشتكي المستخدمون من أخطاء الدفع غير الواضحة. قم بتنزيل Apidog مجانًا اليوم وابدأ في بناء واجهات برمجة تطبيقات تتعامل مع 402 Payment Required بالطريقة الصحيحة.

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات