Ayusin ang mga error sa pagsingil at mga limitasyon sa paggastos ng customer
Tukuyin ang kakulangan sa credits mula sa limitasyon sa paggastos ng aplikasyon, magpakita ng actor-aware recovery link at ayusin nang tama ang mga streaming failure.
Sa pahinang ito
Gamitin ang Log-in gamit ang ShareAI para sa pagkakakilanlan at tahasang Pay with ShareAI na awtorisasyon para sa mga aksyong pinondohan ng account. Ang openid saklaw lamang ay hindi kailanman nagbibigay ng pahintulot sa paggastos. Ang AI inference ay nangangailangan ng inference o isang aprubado, pinahintulutang surcharge grant; payments mga kahilingang hiwalay na kinumpirma sa pag-checkout. Kinokontrol ng customer ang buwanang limitasyon ng AI sa Console. Hindi maaaring baguhin ng iyong aplikasyon ito.
Pangasiwaan ang mga error ayon sa code#
HTTP 402 · insufficient_credits: ang account para sa pagbabayad ay kulang sa sapat na hindi pa nag-e-expire na mga kredito na kwalipikado para sa provider/modelo at kahilingan. Hilingin sa customer na pamahalaan ang kanilang mga kredito. Ang ilang kredito ay may mga limitasyon sa provider o modelo.
HTTP 402 · application_spending_limit_exceeded: naabot na ang buwanang limitasyon, ang mga nakareserbang kahilingan ay gumagamit ng magagamit na allowance, o ang singil ng kahilingang ito ay lalampas dito. Huwag ituring ito bilang isang rate limit o awtomatikong subukang muli. Hilingin sa customer na baguhin ang limitasyon o maghintay hanggang reset_at.
HTTP 429 · oauth_rate_limit: isang pansamantalang limitasyon sa kahilingan/kasabayang proseso. Sundin ang Retry-After at bounded backoff. HTTP 401 · consent_required: ang pahintulot ay nag-expire, binawi o hindi na valid; kumuha ng bagong awtorisasyon sa halip na humiling ng dagdag na pondo.
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"
}
}Ang dalawang error sa pananalapi ay gumagamit ng error.type = billing_error. management_url ay ang destinasyon ng pag-recover ng customer; help ay ang alias ng compatibility nito. monthly_limit ay isang eksaktong EUR decimal string at reset_at ay UTC. Naroroon ang mga ito sa mga error sa limitasyon, at maaaring wala sa mga error sa kakulangan ng kredito.
Buksan ang tamang account para sa pagbabayad#
Mag-alok ng nakikitang Pamahalaan ang billing aksyon gamit ang ibinigay na URL. Ang opaque context ay nag-e-expire pagkatapos ng 15 minuto, kinikilala ang orihinal na account para sa pagbabayad at koneksyon, at nananatili sa sign-in redirect. Sini-check ng Console ang mga pahintulot ng owner/admin ng naka-sign-in na bisita bago piliin ang account na iyon. Huwag palitan ito ng billing page ng application owner, mag-imbento ng actor ID, magdagdag ng access token, o awtomatikong i-redirect ang customer.
Gumamit ng allowlist para sa Console origin at rel="noopener noreferrer" kung magbubukas ng bagong tab. Ang link ay navigation, hindi awtorisasyon o patunay na nadagdagan ang pondo. Huwag itong i-save bilang permanenteng bookmark o sa pampublikong logs. Kapag nag-expire, maaaring buksan ng customer ang Billing nang direkta. Ang bagong kahilingan ay maaaring magbigay ng bagong link pagkatapos ng tahasang paghingi ng customer na subukang muli.
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);Streaming at panghuling pag-aayos#
Sini-check ng ShareAI ang limitasyon bago ang admission/binding at sini-check ang aktwal na network cost plus surcharge nang atomically sa settlement. Ang mga kasabayang kahilingan ay nagbabahagi ng parehong limitasyon. Ang mga input estimate ay nagre-reserve ng headroom; ang haba ng output ay hindi alam nang maaga. Ang panghuling singil na lalampas sa natitirang allowance ay tinatanggihan nang walang usage debit o builder surcharge credit.
Para sa Chat Completions SSE, pangasiwaan event: error gamit ang parehong error.code at mga recovery field. Para sa Responses SSE, pangasiwaan response.failed at basahin response.error. Kapag nagsimula na ang stream, ang HTTP status nito ay 200 na; ang partial content ay hindi nangangahulugang matagumpay na pagkumpleto. Huwag markahan ang resulta bilang kumpleto, magsagawa ng downstream paid actions o awtomatikong magsumite muli pagkatapos ng terminal error. Ang hindi-streaming na Chat, Responses, Embeddings at Images ay inilalantad ang billing error bilang HTTP 402 root error sobre.
Saklaw at mga pag-reset#
Ang buwan ng kalendaryo ay tumatakbo sa UTC. Ang limitasyon ay bawat nagbabayad na account at aplikasyon, na ibinabahagi sa mga OAuth client, grant, at mga na-refresh na token; ang isang client service ay gumagamit ng stable work ID nito sa buong Production key rotations. Tanging settled AI network cost plus surcharge ang binibilang. Ang mga fixed subscription at hiwalay na kumpirmadong pagbili ay may sariling checkout authorization at hindi kumokonsumo ng AI cap na ito. Ang zero ay humihinto sa karagdagang AI spending; ang null ay nangangahulugang walang limitasyon. Ang mga nakaraang singil ay nananatili kapag ang limitasyon ay inedit o ang koneksyon ay muling na-authorize.
Ito ay mga kontrol ng customer sa Console, hindi isang developer endpoint para sa pagtaas ng mga budget. Patuloy na ipatupad ang mga saklaw ng grant, mga aprubadong modelo, mga preference ng customer provider, at mga tinanggap na surcharge terms. Gabay sa pagsingil ng customer · Checkout API.
Huling na-update Setyembre 18, 2026