Paramètres du magasin
Paramètres : associez le nom de votre boutique, la règle de TVA et les notifications à votre compte vérifié. Les modifications sont enregistrées sur le serveur pour l'utilisateur actuel.
Sur cette page
Nom de la boutique#
Choisissez un nom court et reconnaissable que votre client s'attend à voir sur la commande. Le nom doit contenir 1 à 80 caractères après suppression des espaces environnants.
Un nom d'affichage ne remplace pas les informations juridiques ni votre accord client. Conservez les secrets, les identifiants de paiement et les informations personnelles d'autrui hors de ce champ.
Assujetti à la TVA#
Le payeur par défaut est le client. La TVA s'applique uniquement aux cartes et à Alipay. La modification de ce paramètre ne change pas les totaux SBP ni ceux des cryptomonnaies.
Les factures existantes conservent leurs conditions enregistrées. Lors de la création d'une facture, la TVA du client et les parts de frais indépendantes de 0 à 100 % peuvent remplacer les valeurs par défaut. La préférence de la boutique ne fournit qu'une valeur par défaut pour les factures futures.
Une préférence enregistrée n'étend pas les capacités des passerelles. Les canaux actuels de carte en direct et d'Alipay exigent 100 % de TVA client et 0 % de frais de traitement client ; les autres répartitions enregistrées restent des calculs.
| Valeur | Règle pour une nouvelle facture |
|---|---|
| client | La TVA est ajoutée au prix de base du client |
| marchand | Le marchand couvre la TVA à partir du prix de base |
Notifications Telegram#
Sélectionnez les catégories paiement, versement, assistance et sécurité. Choisir une catégorie contrôle les notifications ; cela n'active pas un canal de paiement ni ne génère d'événements financiers.
Un message de test vérifie la livraison vers le chat privé lié. Son statut apparaît dans le centre de notifications et dans GET /api/notifications. Un message en file d'attente n'est pas encore livré ; vérifiez aussi Telegram.
Enregistrement et erreurs#
Le formulaire confirme un enregistrement réussi. Si le réseau échoue, vos saisies restent disponibles pour une nouvelle tentative ; appuyer sur Enregistrer seul ne prouve pas que la modification a été stockée.
Connectez-vous à nouveau lorsque votre session expire. Le serveur identifie le compte à partir de la session et n'accepte pas un autre identifiant de propriétaire de boutique depuis le navigateur.
Thème et données de démonstration#
Le thème d'affichage est enregistré localement sur l'appareil. L'espace de démonstration utilise des données de navigateur distinctes et ne modifie pas le compte serveur.
La réinitialisation de la démonstration supprime uniquement les enregistrements de test dans ce navigateur. Une exportation de démonstration n'est pas un relevé bancaire ni une preuve de paiement.
Plusieurs boutiques et un prix de base USD unique#
Choisissez Toutes les boutiques pour les analyses et opérations agrégées, ou sélectionnez une boutique pour ses propres enregistrements. Chaque boutique possède un storeId, un nom, une TVA par défaut, des factures, des clés API, des points de terminaison webhook, un historique d'événements et une application de site Web distincts. Les notifications et les tickets de support appartiennent au compte. Un compte peut créer jusqu'à 100 boutiques. Les enregistrements existants restent dans sa première boutique.
Les factures du nouvel espace de travail utilisent pricingMode="universal" et un prix de base en USD. Any inclut carte, alipay, sbp et crypto ; un commerçant peut sélectionner un sous-ensemble. Les cartes et Alipay facturent en USD. SBP facture en RUB en utilisant le taux de référence USD/RUB de la Banque de Russie. La crypto facture en USDT selon la règle de facturation explicite 1 USD = 1 USDT. Il s'agit d'une règle de conversion de facturation, pas d'une cotation USDT de marché. La passerelle fournit le taux de la pièce sélectionnée, le montant exact du transfert et les instructions avant le transfert.
Le taux de référence et les deux montants sont gelés à la création. Les factures impliquant une conversion RUB expirent dans les 24 heures. Si le taux de référence ne peut pas être obtenu, la création échoue avec FX_UNAVAILABLE ; aucun taux de secours inventé ou obsolète n'est utilisé. Le montant en monnaie mineure du propriétaire et les cotations utilisent la monnaie comptable USD. quotes[method].settlement contient la cotation de frais native. Le paiement public expose la monnaie de frais sélectionnée dans currency, le prix d'origine dans baseAmountMinor/baseCurrency, et le taux de référence dans fx. Une fois qu'un paiement a été envoyé, sa méthode ne peut pas être modifiée ; une facture a une seule opération de passerelle.
Créez une clé API dans la boutique prévue et envoyez Authorization: Bearer <key> depuis votre serveur. Sa liaison de boutique est immuable ; X-Kevmi-Store ne peut pas lui accorder l'accès à une autre boutique. Les sessions de navigateur sélectionnent X-Kevmi-Store: <storeId> ; si omis, la première boutique est sélectionnée. La valeur all n'est acceptée que par GET /api/account/dashboard et GET /api/payment-links. Les mutations nécessitent une boutique sélectionnée, Origin et X-CSRF-Token. Les identifiants de compte et les identifiants de boutique sont des identifiants différents.
Pour la compatibilité, les demandes API sans pricingMode="universal" conservent la tarification native et les restrictions de monnaie d'origine. Les factures existantes ne sont jamais recalculées. Les reçus confirmés dans les analyses reflètent les paiements vérifiés moins les dépenses de facture enregistrées ; ils ne constituent pas un solde retirable. Les monnaies de facture héritées restent séparées et les paiements sont organisés avec le support. Exécutez une commande uniquement après avoir vérifié payment.fulfillmentReady=true et payment.status="succeeded" via l'API serveur, l'historique d'événements ou un webhook signé.
Assistant, support et administration de projet#
Activer l'autorisation d'accès à mes données dans le chat lorsque vous avez besoin d'aide pour des opérations privées. Une requête web avec includeAccount=true nécessite une session valide, Origin et X-CSRF-Token ; X-Kevmi-Store sélectionne un magasin possédé ou tous les magasins possédés. Sans autorisation, l'assistant utilise la documentation publique. Dans Telegram, un bouton séparé permet l'accès après identification de l'expéditeur.
L'outil read_account lit les magasins possédés, les factures avec statut de reçu vérifié, les événements, les applications et les demandes de support avec réponses de spécialistes. Il renvoie 30 enregistrements et nextPage ; les enregistrements plus anciens sont disponibles via pagination. Les lectures par réponse sont limitées, donc un échantillon incomplet doit être divulgué. Les clés API, les secrets de webhook, les détails de carte et les sessions ne sont pas fournis à l'outil. Il ne peut pas facturer, payer, rembourser ou modifier les paramètres.
Créer une demande de support dans l'espace de travail ou Telegram place une alerte d'administrateur séparée dans une file durable. Elle pointe vers /admin/tickets?ticket=<id> ; les pannes temporaires de Telegram sont réessayées. La récupération reprend également les anciennes demandes ouvertes sans alerte. Les administrateurs répondent sur la page de demande ; la réponse est enregistrée dans l'espace de travail de l'utilisateur et envoyée via Telegram lorsque les notifications de support sont activées.
Le bot utilise des boutons en ligne pour le menu principal, les magasins, les notifications, le support, la sécurité et la langue. La navigation modifie le message actuel ; un ancien menu indisponible est remplacé. Les notifications de paiement et de sécurité ne sont pas traitées comme une navigation jetable. Se déconnecter via le menu nécessite une confirmation. La commande explicite /logout met fin à chaque session de compte.
Le panneau /admin/project est restreint aux identifiants Telegram de la liste blanche MODERATOR_TELEGRAM_IDS côté serveur. Il inclut les utilisateurs, les magasins, les opérations, la révocation de clés, la désactivation de webhooks, la mise en pause de factures, les contrôles d'acceptation et un journal d'audit. Les mutations nécessitent CSRF et une raison. Le panneau ne peut pas restreindre un administrateur ni déclarer manuellement un paiement réussi. Restreindre un propriétaire met fin aux sessions et bloque l'accès aux clés API ; restreindre un magasin arrête les nouvelles opérations. L'historique est conservé.
L'offre publique est disponible à /public-offer et la politique de confidentialité à /privacy-policy dans chaque langue activée. Recherchez les pièces par nom ou ticker. Un sélecteur de réseau apparaît uniquement lorsque plusieurs réseaux actifs sont disponibles. Un seul réseau est sélectionné automatiquement et reste nommé dans la confirmation. La disponibilité du passerelle en direct détermine les paires sélectionnables ; le catalogue de référence n'active pas un service.
Utilisez update.sh pour les versions routinières de l'application web : construisez le candidat, vérifiez l'historique de migration, sauvegardez SQLite en ligne, démarrez un deuxième conteneur, vérifiez-le, et basculez Caddy en douceur. La passerelle, PostgreSQL et la messagerie ne sont pas redémarrés. Les anciens fichiers statiques restent disponibles pour les onglets ouverts. Une nouvelle migration nécessite une autorisation revue explicite ; un changement de schéma incompatible n'est pas un déploiement transparent.