MicroAI Paygate
An x402-style payment gateway for AI requests. Sign EIP-712, get a signed receipt, verify the signature client-side.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Assistant de création de devis professionnels en moins de 2 minutes, pensé pour les artisans et autoentrepreneurs (espace OHADA). Devis, factures, PDF, partage WhatsApp, abonnements avec quotas et mode Express sans compte.
src/
app/ Routes (App Router)
(app)/ Écrans connectés (accueil, documents, clients, catalogue, réglages…)
api/payments/ Paiement (simulé, interface CamerPay-compatible)
connexion/ Auth email + mot de passe
inscription/ Création de compte B2B
mot-de-passe-oublie/ Récupération de mot de passe
express/ Devis express sans compte
offres/ Page des offres (publique)
components/ UI réutilisable (bouton, carte, navigation…)
features/ Modules métier (auth, company, clients, catalog, documents, payments)
hooks/ Hooks React Query par domaine
lib/ Moteur de calcul, formats, Supabase, constantes
services/ Services indépendants :
pdf/ Moteur PDF (modèles interchangeables)
payments/ PaymentProvider (simulé → CamerPay)
whatsapp.ts Liens wa.me
types/ Types BDD et domaine
supabase/migrations/ Schéma SQL, RLS, fonctions métier
Créer un projet Supabase puis exécuter les migrations dans l'ordre
(SQL Editor ou supabase db push) :
0001_initial_schema.sql → 0002_rls_policies.sql → 0003_functions.sql
Configurer l'authentification par email : Dashboard → Authentication → Providers → Email (activer). Désactiver le provider Phone si vous n'utilisez plus l'OTP SMS. Authentication → URL Configuration :
http://localhost:3000 (dev) ou votre domaine de productionhttp://localhost:3000/auth/callback, https://votre-domaine/auth/callbackVariables d'environnement : copier .env.example vers .env.local
et renseigner l'URL Supabase, la clé anon et NEXT_PUBLIC_SITE_URL.
Lancer :
npm install
npm run dev
| Commande | Rôle |
|---|---|
npm run dev | Serveur de développement |
npm run build | Build de production |
npm run lint | ESLint |
npm run typecheck | Vérification TypeScript |
npm test | Tests unitaires (calculs, TVA, conversion, quotas, numérotation) |
Les offres sont configurées en base (table plans) — jamais codées en dur :
Deux offres affichées (migration 0042_offres_simplifiees.sql) :
| Offre | Prix | Documents |
|---|---|---|
| Gratuit | 0 F | 5 par mois |
| Pro | 950 F / semaine · 2 900 F / mois · 29 000 F / an | illimités, logo |
Le document à l'unité (500 F, offre express) n'est pas une carte : il est
proposé au blocage du quota et en Express sans compte. L'offre business
est désactivée ; ses abonnés ont été basculés en Pro.
Le quota est vérifié côté base (assert_quota) à chaque création de
document ; le compteur mensuel est calculé sur les documents créés dans le
mois calendaire.
deleted_at).security definer
avec vérification de propriété).NEXT_PUBLIC_* sont
exposées).src/services/payments/ expose une interface PaymentProvider. Le MVP
utilise SimulatedPaymentProvider (variable PAYMENT_PROVIDER=simulated).
Pour brancher CamerPay : implémenter PaymentProvider dans camerpay.ts
et l'enregistrer dans getPaymentProvider() — aucun composant à modifier.
src/services/pdf/ est un moteur indépendant : il reçoit des données et
rend un HTML A4 imprimable. Le modèle classic reprend le prototype ;
d'autres modèles s'ajoutent dans templates/ + le registre TEMPLATES.
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY
et PAYMENT_PROVIDER=simulated dans les variables d'environnement.main = production, develop = préproduction).Fonctionnalités volontairement hors MVP (cahier des charges) :
logos déjà migré)