ShareAI Platform Docs

청구 오류 및 고객 지출 한도 처리

애플리케이션 지출 한도와 부족한 크레딧을 구분하고, 액터 인식 복구 링크를 제공하며 스트리밍 실패를 올바르게 처리하세요.

Markdown으로 보기
이 페이지에서

ShareAI로 로그인하여 신원을 확인하고, ShareAI로 결제하기를 명시적으로 승인하여 계정 자금으로 실행되는 작업을 수행하세요. openid 범위만으로는 지출을 승인하지 않습니다. AI 추론은 inference 승인된 동의된 surcharge 권한 부여를 필요로 합니다; payments 요청은 별도로 확인된 체크아웃을 요구합니다. 고객은 Console에서 월간 AI 한도를 제어합니다. 애플리케이션은 이를 변경할 수 없습니다.

코드로 오류 처리#

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을 사용하여 제공하세요. 불투명한 컨텍스트는 15분 후 만료되며, 원래 결제 계정 및 연결을 식별하고 로그인 리디렉션 후에도 유지됩니다. Console은 로그인한 방문자의 소유자/관리자 권한을 확인한 후 해당 계정을 선택합니다. 애플리케이션 소유자의 결제 페이지로 대체하거나, 액터 ID를 생성하거나, 액세스 토큰을 추가하거나, 고객을 자동으로 리디렉션하지 마세요.

Console 출처에 대한 허용 목록을 사용하고 rel="noopener noreferrer" 새 탭을 열 때 이를 따르세요. 링크는 탐색이며, 승인 또는 자금 추가 증명이 아닙니다. 이를 영구 북마크나 공개 로그에 저장하지 마세요. 만료 시 고객은 직접 Billing을 열 수 있습니다. 고객이 명시적으로 재시도를 요청한 후 새 요청이 새 링크를 반환할 수 있습니다.

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는 입장/바인딩 전에 한도를 확인하고, 정산 시 실제 네트워크 비용과 추가 요금을 원자적으로 확인합니다. 동시 요청은 동일한 한도를 공유합니다. 입력 추정치는 여유 공간을 예약하며, 출력 길이는 사전에 알 수 없습니다. 남은 할당량을 초과하는 최종 비용은 사용 차감이나 빌더 추가 요금 크레딧 없이 거부됩니다.

Chat Completions SSE의 경우, event: error 동일한 error.code 및 복구 필드를 처리하세요. Responses SSE의 경우, response.failed 를 처리하고 response.error. 를 읽으세요. 스트림이 시작되면 HTTP 상태는 이미 200입니다; 부분 콘텐츠는 성공적인 완료를 의미하지 않습니다. 결과를 완료로 표시하거나, 다운스트림 유료 작업을 수행하거나, 터미널 오류 후 자동으로 다시 제출하지 마세요. 스트리밍되지 않는 Chat, Responses, Embeddings 및 Images는 HTTP 402 루트 error envelope로 결제 오류를 노출합니다.

범위 및 재설정#

달력 월은 UTC 기준으로 진행됩니다. 한도는 결제 계정 및 애플리케이션별로 설정되며, OAuth 클라이언트, 권한 부여 및 갱신된 토큰에 걸쳐 공유됩니다. 클라이언트 서비스는 프로덕션 키 회전 중에도 안정적인 작업 ID를 사용합니다. 정산된 AI 네트워크 비용과 추가 요금만 계산됩니다. 고정 구독 및 별도로 확인된 구매는 자체 결제 승인을 가지며 이 AI 한도를 소비하지 않습니다. 추가 AI 지출이 중단되며, null은 한도가 없음을 의미합니다. 한도가 수정되거나 연결이 재승인될 때 과거 청구 내역은 유지됩니다.

이는 Console에서 고객이 제어하는 기능이며, 개발자가 예산을 늘리기 위한 엔드포인트가 아닙니다. 권한 부여 범위, 승인된 모델, 고객 제공자 선호도 및 승인된 추가 요금 조건을 계속 준수하십시오. 고객 청구 안내서 · 결제 API.

마지막 업데이트 2026년 9월 18일

ShareAI 플랫폼 문서
모든 문서

제목 또는 내용으로 검색하세요.

이 페이지에 대해 문의하기

이 페이지를 탐색할 도우미를 선택하세요. 페이지를 복사하여 대화에 붙여넣을 수도 있습니다.

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI