Skip to main content

التثبيت

المتطلبات: Node.js 18+، Express 4+

البدء السريع


l402(options) — الوسيط

يُعيد RequestHandler من Express يُطبّق دفع L402 على المسار.

الخيارات

السلوك

نص استجابة 402

ترويسة WWW-Authenticate


المزودون

AlbyProvider — موصى به لوضع السيادة الكاملة

Alby — محفظة غير حضانية. أنت تتحكم في المفاتيح.

BTCPayProvider — مستضاف ذاتياً، ثقة صفرية

شغّل BTCPay Server الخاص بك. سيادة كاملة.

BlinkProvider — حضاني، أسهل بداية

Blink — مجاني، لا KYC للمبالغ الصغيرة.

LNbitsProvider

مستضاف ذاتياً أو عبر legend.lnbits.com.

OpenNodeProvider

ManagedProvider — وضع السحابة (رسوم 0.3%)

يستضيف l402kit.com عقدة Lightning. تستلم 99.7% من كل دفعة. يتطلب الاشتراك الصريح.
يُشغَّل التسجيل مرة واحدة عند بدء التشغيل (fire-and-forget، الأخطاء صامتة). تظهر الواجهة البرمجية على l402kit.com/apis.json ليتمكن الوكلاء من اكتشافها تلقائياً.

حماية إعادة التشغيل

الافتراضي — في الذاكرة (بيئة التطوير)

مدمج. يُعاد ضبطه عند إعادة التشغيل. مناسب للنشر ذي العملية الواحدة.

Redis (الإنتاج — متعدد النسخ)

يستخدم RedisReplayAdapter الأمر SET key 1 NX EX ttl — ذري وخالٍ من تعارض السباق.

Webhooks الدفع

استلم حدثاً موقَّعاً بعد كل دفعة.
حمولة الـ webhook:

استدعاء onPayment الراجع

خطاف متزامن يُستدعى بعد كل دفعة مُتحقَّق منها، قبل next():

تسجيل المدفوعات عبر Supabase

اضبط SUPABASE_URL + SUPABASE_ANON_KEY في بيئتك لتسجيل المدفوعات تلقائياً.
مخطط جدول المدفوعات (payments):
يخزّن payment_hash القيمة SHA256(preimage) وليس الـ preimage الخام. الـ preimage هو سر دفع Lightning المؤلف من 32 بايت — وتجزئته متاحة للعموم بالفعل في فاتورة BOLT11.

أدوات مستقلة


الأنواع


توقيت التحقق

يُشغّل التحقق من الرمز العملية SHA256(preimage) == paymentHash في الذاكرة — أقل من ميلي ثانية، بدون استدعاء شبكة على المسار الساخن. يعمل ReplayAdapter في الذاكرة (الافتراضي) أيضاً بشكل متزامن. إذا استخدمت RedisReplayAdapter، أضف 5–50 مللي ثانية لزمن رحلة Redis ذهاباً وإياباً لكل طلب. ضع في اعتبارك هذا الأمر عند تخطيط السعة لنقاط النهاية عالية التردد.

توافق x402 (ترويسة X-Payment)

يقبل الوسيط بصمت ترويسة X-Payment (المستخدمة في بروتوكول x402 من Coinbase) إضافةً إلى الترويسة القياسية Authorization: L402 …. يُعامَل كلاهما بشكل متطابق — مفيد إذا أردت خدمة العملاء الذين يتحدثون أياً من البروتوكولين.
لا يلزم أي إعداد؛ فهو مُفعَّل دائماً.

دليل الترقية

v1.1 ← v1.2

أعد تسمية العمود في جدول payments الخاص بك: