لاراول MPP: پولگرفتن از ایجنتهای AI برای دسترسی به API
خلاصهٔ کاملتر
لاراول MPP یه میدلور تازهست که پروتکل Machine Payments Protocol (MPP) رو پیاده میکنه؛ به گفتهٔ نویسنده، Paul Redmond، هدفش اینه که بتونی از ایجنتهای هوش مصنوعی بابت دسترسی به مسیرهای محافظتشدهٔ API پول بگیری. منطق کار رو کد وضعیت 402 Payment Required سواره؛ کدی که سالها تو استاندارد HTTP بود ولی تقریباً استفاده نمیشد.
طرز کارش اینه: وقتی یه درخواست بدون پرداخت میاد، میدلور یه چالشِ امضاشده با HMAC داخل پاسخ 402 برمیگردونه. ایجنتی که بتونه پرداخت کنه، پول رو رو یکی از ریلهای پشتیبانیشده میده و درخواستشو دوباره میفرسته. برای محافظت از یه مسیر فقط کافیه میدلور رو با قیمت و واحد پول بهش وصل کنی:
Route::get('/resource', MyPaidResource::class)
->middleware('mpp:0.50,USD');قیمتگذاری میتونه per-request باشه یا شمارشی (metered)؛ یعنی یه پرداخت چند بار دسترسی بده. تو حالت شمارشی، پاسخ موفق یه هدر Payment-Session با موجودی باقیمونده برمیگردونه و ایجنت بهجای پرداخت دوباره، همون شناسهٔ session رو تکرار میکنه. این سشنها بهصورت پیشفرض تو کش نگهداری میشن یا برای ماندگاری تو دیتابیس. یه امکان دیگهش «پیششرطها» (preconditions) هستن؛ چکهای نامداری که قبل از دروازهٔ پرداخت اجرا میشن تا درخواست نامعتبر رو زودتر رد کنن و بیخودی از ایجنت پول نخوان.
پکیج با دو ریل پرداخت میاد: Stripe که از Shared Payment Token استفاده میکنه، و Tempo که پرداخت رو روی زنجیره با pathUSD تسویه میکنه. میتونی رو یه مسیر چند ریل رو با هم قبول کنی یا با پیادهسازی اینترفیس Verifier ریل دلخواه خودتو بسازی. نویسنده یادآوری میکنه که MPP و APIهای SPT استرایپ هنوز تو مرحلهٔ preview هستن و ممکنه تغییر کنن؛ آخرین نسخه v1.1.0 با لایسنس MIT منتشر شده.
نکات کلیدی:
- با کد وضعیت 402 Payment Required میتونی از ایجنتهای AI بابت دسترسی به API پول بگیری
- چالشها با HMAC امضا میشن و ایجنت بعد از پرداخت درخواست رو دوباره میفرسته
- قیمتگذاری per-request یا شمارشی، با سشنهایی که تو کش یا دیتابیس ذخیره میشن
- دو ریل پرداخت Stripe و Tempo، با امکان اضافهکردن ریل دلخواه؛ هنوز preview و MIT




