مدیریت خطاهای صورتحساب و محدودیتهای هزینه مشتری
تمایز بین اعتبار ناکافی و محدودیت هزینه برنامه، ارائه لینک بازیابی آگاه به بازیگر و مدیریت صحیح شکستهای جریان.
در این صفحه
از ورود با ShareAI برای احراز هویت و مجوز صریح پرداخت با ShareAI برای اقدامات تأمین مالی حساب استفاده کنید. openid دامنه به تنهایی هرگز هزینه کردن را مجاز نمیکند. استنتاج هوش مصنوعی نیازمند inference یا یک تأییدیه، موافقتشده surcharge اعطا؛ payments درخواستهای پرداخت جداگانه تأیید شده. مشتری یک محدودیت ماهانه هوش مصنوعی را در Console کنترل میکند. برنامه شما نمیتواند آن را تغییر دهد.
مدیریت خطاها بر اساس کد#
HTTP 402 · insufficient_credits: حساب پرداخت اعتبار کافی و منقضی نشده برای این ارائهدهنده/مدل و درخواست ندارد. از مشتری بخواهید اعتبار خود را مدیریت کند. برخی اعتبارها محدودیتهای ارائهدهنده یا مدل دارند.
HTTP 402 · application_spending_limit_exceeded: سقف ماهانه به پایان رسیده است، درخواستهای رزرو شده از سهمیه موجود استفاده میکنند، یا هزینه این درخواست از آن فراتر خواهد رفت. این را به عنوان محدودیت نرخ در نظر نگیرید یا به طور خودکار دوباره تلاش نکنید. از مشتری بخواهید محدودیت را تغییر دهد یا منتظر بماند تا reset_at.
HTTP 429 · oauth_rate_limit: محدودیت موقت درخواست/همزمانی. از Retry-After و بازگشت محدود پیروی کنید. HTTP 401 · consent_required: موافقت منقضی شده، لغو شده یا دیگر معتبر نیست؛ مجوز جدید دریافت کنید به جای درخواست برای افزایش اعتبار.
JSON
{
"error": {
"type": "billing_error",
"code": "application_spending_limit_exceeded",
"message": "This application's monthly AI spending limit has been reached or this request would exceed it. Manage the limit or wait for the next month.",
"management_url": "https://console.shareai.now/?shareai_billing_context=OPAQUE_SHORT_LIVED_VALUE",
"help": "https://console.shareai.now/?shareai_billing_context=OPAQUE_SHORT_LIVED_VALUE",
"monthly_limit": "50",
"reset_at": "2026-10-01T00:00:00Z"
}
}دو خطای مالی استفاده میکنند error.type = billing_error. management_url مقصد بازیابی مشتری است؛ help نام مستعار سازگاری آن است. monthly_limit یک رشته دقیق اعشاری EUR است و reset_at UTC است. اینها در خطاهای سقف حضور دارند و ممکن است در خطاهای اعتبار ناکافی غایب باشند.
باز کردن حساب پرداخت صحیح#
یک مدیریت صورتحساب اقدام قابل مشاهده با استفاده از URL بازگشتی ارائه دهید. زمینه مبهم پس از ۱۵ دقیقه منقضی میشود، حساب پرداخت اصلی و اتصال را شناسایی میکند و پس از بازگشت ورود به سیستم باقی میماند. Console قبل از انتخاب آن حساب، مجوزهای مالک/مدیر بازدیدکننده وارد شده را بررسی میکند. آن را با صفحه صورتحساب مالک برنامه جایگزین نکنید، شناسه بازیگر اختراع نکنید، توکن دسترسی اضافه نکنید یا مشتری را به طور خودکار هدایت نکنید.
از لیست مجاز برای منبع Console استفاده کنید و rel="noopener noreferrer" اگر یک تب جدید باز میکنید. لینک ناوبری است، نه مجوز یا اثبات اینکه وجوه اضافه شدهاند. آن را به عنوان نشانک دائمی یا در گزارشهای عمومی ذخیره نکنید. پس از انقضا، مشتری میتواند صورتحساب را مستقیماً باز کند. یک درخواست جدید میتواند لینک جدیدی را پس از درخواست صریح مشتری برای تلاش مجدد بازگرداند.
JavaScript
const response = await fetch("https://api.shareai.now/api/v1/chat/completions", options);
const body = await response.json();
const error = body.error;
if (response.status === 402 && error?.type === "billing_error") {
const message = error.code === "application_spending_limit_exceeded"
? "Your monthly limit for this app has been reached."
: "Your ShareAI account needs eligible credits.";
showBillingMessage(message);
if (error.management_url) {
const target = new URL(error.management_url);
if (target.origin === "https://console.shareai.now") {
// Render a user-activated link; never silently open it or retry spending.
showManageBillingLink(target.href);
}
}
return;
}
if (!response.ok || error) throw new Error(error?.message || "Request failed");
renderAnswer(body);جریان و تسویه نهایی#
ShareAI سقف را قبل از پذیرش/اتصال بررسی میکند و هزینه واقعی شبکه به علاوه هزینه اضافی را به صورت اتمی در تسویه حساب بررسی میکند. درخواستهای همزمان سقف یکسانی را به اشتراک میگذارند. تخمینهای ورودی فضای اضافی رزرو میکنند؛ طول خروجی از پیش مشخص نیست. هزینه نهایی که از سهمیه باقیمانده فراتر رود بدون بدهی استفاده یا اعتبار هزینه اضافی سازنده رد میشود.
برای تکمیلهای چت SSE، مدیریت کنید event: error با همان error.code و فیلدهای بازیابی. برای پاسخهای SSE، مدیریت کنید response.failed و خواندن response.error. هنگامی که جریان شروع میشود، وضعیت HTTP آن قبلاً 200 است؛ محتوای جزئی به معنای تکمیل موفقیتآمیز نیست. نتیجه را کامل علامتگذاری نکنید، اقدامات پرداختی پاییندستی انجام ندهید یا پس از خطای نهایی به طور خودکار دوباره ارسال نکنید. چت غیرجریانی، پاسخها، جاسازیها و تصاویر خطای صورتحساب را به عنوان یک پاکت HTTP 402 ریشه error نمایش میدهند.
دامنه و تنظیم مجدد#
ماه تقویمی در زمان UTC اجرا میشود. محدودیت برای هر حساب پرداختی و برنامه، مشترک بین مشتریان OAuth، مجوزها و توکنهای تازهسازی شده است؛ یک سرویس مشتری از شناسه کاری پایدار خود در طول چرخش کلید تولید استفاده میکند. فقط هزینه شبکه AI تسویهشده بهعلاوه هزینه اضافی محاسبه میشود. اشتراکهای ثابت و خریدهای جداگانه تأیید شده دارای مجوز پرداخت خود هستند و این محدودیت AI را مصرف نمیکنند. صفر، هزینههای اضافی AI را متوقف میکند؛ null به معنای عدم وجود محدودیت است. هزینههای گذشته هنگام ویرایش محدودیت یا تأیید مجدد اتصال حفظ میشوند.
اینها کنترلهای مشتری در کنسول هستند، نه یک نقطه پایانی توسعهدهنده برای افزایش بودجهها. ادامه اجرای محدودههای مجوز، مدلهای تأیید شده، ترجیحات ارائهدهنده مشتری و شرایط هزینه اضافی پذیرفتهشده. راهنمای صورتحساب مشتری · API پرداخت.
آخرین بهروزرسانی سپتامبر 18, 2026