ShareAI Platform Docs

Gérer les erreurs de facturation et les limites de dépenses des clients

Distinguez les crédits insuffisants d'une limite de dépenses d'application, présentez un lien de récupération adapté à l'utilisateur et gérez correctement les échecs de streaming.

Voir en Markdown
Sur cette page

Utilisez Connexion avec ShareAI pour l'identité et Autorisation explicite de paiement avec ShareAI pour les actions financées par le compte. La openid portée seule n'autorise jamais les dépenses. L'inférence AI nécessite inference soit une autorisation approuvée et consentie, surcharge soit des validations de paiement confirmées séparément. Le client contrôle une limite mensuelle d'AI dans la Console. Votre application ne peut pas la modifier.; payments HTTP 402 ·.

Gérer les erreurs par code#

: le compte payeur n'a pas suffisamment de crédits non expirés éligibles pour ce fournisseur/modèle et cette demande. Demandez au client de gérer ses crédits. Certains crédits ont des restrictions liées au fournisseur ou au modèle. insufficient_credits: le plafond mensuel est atteint, les demandes réservées utilisent l'allocation disponible, ou le coût de cette demande dépasserait ce plafond. Ne traitez pas cela comme une limite de débit ou ne réessayez pas automatiquement. Demandez au client de modifier la limite ou d'attendre jusqu'à.

: le compte payeur n'a pas suffisamment de crédits non expirés éligibles pour ce fournisseur/modèle et cette demande. Demandez au client de gérer ses crédits. Certains crédits ont des restrictions liées au fournisseur ou au modèle. application_spending_limit_exceededHTTP 429 · reset_at.

: une limite temporaire de requêtes/concurrence. Suivez oauth_rate_limitet appliquez un backoff limité. Retry-After HTTP 401 ·. : le consentement est expiré, révoqué ou n'est plus valide ; obtenez une nouvelle autorisation au lieu de demander un rechargement. consent_requiredLes deux erreurs financières utilisent.

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"
  }
}

est la destination de récupération client ; error.type = billing_error. management_url est son alias de compatibilité.; help est une chaîne décimale exacte en EUR et. monthly_limit est en UTC. Elles sont présentes pour les erreurs de plafond, mais peuvent être absentes pour les erreurs de crédits insuffisants. reset_at Proposez une action visible.

Ouvrir le bon compte payeur#

Gérer la facturation en utilisant l'URL retournée. Le contexte opaque expire après 15 minutes, identifie le compte payeur et la connexion d'origine, et reste valide après la redirection de connexion. La Console vérifie les permissions propriétaire/admin du visiteur connecté avant de sélectionner ce compte. Ne le remplacez pas par la page de facturation du propriétaire de l'application, n'inventez pas d'ID d'acteur, n'ajoutez pas de jeton d'accès, et ne redirigez pas automatiquement le client. Utilisez une liste blanche pour l'origine de la Console et.

si vous ouvrez un nouvel onglet. Le lien est une navigation, pas une autorisation ni une preuve que des fonds ont été ajoutés. Ne le stockez pas comme un favori permanent ou dans des journaux publics. Une fois expiré, le client peut ouvrir directement la facturation. Une nouvelle demande peut retourner un nouveau lien après que le client a explicitement demandé de réessayer. rel="noopener noreferrer" ShareAI vérifie le plafond avant l'admission/l'engagement et vérifie le coût réseau réel plus la surcharge de manière atomique lors du règlement. Les requêtes simultanées partagent le même plafond. Les estimations d'entrée réservent une marge ; la longueur de sortie n'est pas connue à l'avance. Une charge finale qui dépasserait l'allocation restante est rejetée sans débit d'utilisation ni crédit de surcharge pour le Builder.

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);

Diffusion en continu et règlement final#

Pour les flux SSE des complétions de chat, gérez.

avec les mêmes event: error champs de récupération. Pour les flux SSE des réponses, gérez error.code et lisez response.failed . Une fois que le flux commence, son statut HTTP est déjà 200 ; un contenu partiel ne signifie pas une réussite complète. Ne marquez pas le résultat comme terminé, n'effectuez pas d'actions payantes en aval et ne soumettez pas automatiquement à nouveau après une erreur terminale. Les complétions de chat non diffusées, les réponses, les embeddings et les images exposent l'erreur de facturation comme une enveloppe racine HTTP 402. response.error. Une fois que le flux commence, son statut HTTP est déjà 200 ; le contenu partiel ne signifie pas une réussite complète. Ne marquez pas le résultat comme terminé, n'effectuez pas d'actions payantes en aval ou ne soumettez pas automatiquement après une erreur terminale. Les Chats non diffusés, Réponses, Embeddings et Images exposent l'erreur de facturation comme une erreur HTTP 402 racine error enveloppe.

Portée et réinitialisations#

Le mois calendaire est basé sur l'UTC. Le plafond s'applique par compte payant et application, partagé entre les clients OAuth, les autorisations et les jetons actualisés ; un service client utilise son ID de travail stable à travers les rotations de clés de production. Seuls les coûts du réseau AI réglés plus la surcharge sont pris en compte. Les abonnements fixes et les achats confirmés séparément disposent de leur propre autorisation de paiement et ne consomment pas ce plafond AI. Zéro suspend les dépenses AI supplémentaires ; null signifie aucun plafond. Les frais passés sont conservés lorsque la limite est modifiée ou que la connexion est réautorisée.

Ce sont des contrôles client dans la Console, et non un point de terminaison développeur pour augmenter les budgets. Continuez à appliquer les portées des autorisations, les modèles approuvés, les préférences des fournisseurs clients et les conditions de surcharge acceptées. Guide de facturation client · API de paiement.

Dernière mise à jour le 18 septembre 2026

Documentation de la plateforme ShareAI
Toute la documentation

Rechercher par titre ou contenu.

Poser une question sur cette page

Choisissez un assistant pour explorer cette page. Vous pouvez également copier la page et la coller dans votre conversation.

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI