L'argent en centimes, le prélèvement seulement en prd — sans négociation.
État du paiement en machine explicite, payé seulement via un canal PSP authentifié, grand livre immuable en partie double et rapprochement quotidien. Carte sans toucher au PAN et aucun prélèvement réel hors production.
$ schematize install paymentsPlanchers non négociables
Jamais désactivés « pour aller plus vite ». Liste complète dans la skill.
Jamais de prélèvement hors prd
Prélèvements, remboursements, reversements et documents fiscaux uniquement en sandbox ou homologation ; un environnement absent vaut non-prd et la clé de production n'existe qu'en prd.
L'argent est un entier dans la plus petite unité
Centimes plus devise, jamais float ; la somme des parts (split, échéances) égale le total avec un reste déterministe.
Ne jamais toucher au PAN
Capture par le PSP ; votre système ne voit que le jeton, la marque et les 4 derniers chiffres, et le CVV n'est jamais stocké. Cible : SAQ A.
L'état du paiement est une machine explicite
Transitions en fonctions pures testées en table, un état terminal ne revient pas et un événement inconnu ne devient jamais payé.
Payé seulement via un canal PSP authentifié
La redirection du navigateur est de l'UX, pas une preuve ; montant et devise sont confrontés à ce qui a été prélevé.
Webhook authentifié, dédoublonné, re-interrogé
HMAC sur le corps brut en temps constant ou mTLS, dédoublonnage par id d'événement et nouvelle interrogation de l'API avant tout effet irréversible.
Idempotence à chaque création
Clé persistée avant l'appel (Idempotency-Key, txid PIX, id de remboursement) ; un timeout n'est pas un échec.
Grand livre immuable et rapprochement quotidien
Partie double en append-only, correction par écriture inverse, et rapprochement grand livre, PSP et relevé bancaire avec des exceptions ayant responsable et échéance.
Commandes
Installées dans .claude/commands/. Lancez /pay-help à tout moment.
/pay-ccContext compact : écrit le handoff dans l'archive et lance /compact./pay-claudeCrée ou fusionne le CLAUDE.md toujours actif du socle de paiements à la racine du repo (n'écrase pas les blocs des autres skills)./pay-flowConçoit le flux d'un moyen de paiement (états, écritures, idempotence) avant l'intégration./pay-handoffGénère le handoff de contexte (context.md + checklist.md) dans l'archive, sans compacter./pay-helpListe toutes les commandes et ce que fait chacune./pay-loadCharge de force tout le corpus normatif de paiements et l'applique pour la session./pay-reconcileConçoit ou audite le rapprochement quotidien entre grand livre, PSP et relevé bancaire./pay-reviewRevoit le code de paiement face au socle : lance le gate puis lit ce que la machine ne lit pas./pay-sandboxProuve que rien ne prélève hors prd : environnement fail-closed, clés, doublures et données synthétiques./pay-webhookCrée ou audite le récepteur de webhook du PSP : authenticité, dédoublonnage, ordre et nouvelle interrogation.Pour les agents IA
Installation sans intervention humaine. Métadonnées dans llms.txt.
- Lancez : git clone https://github.com/schematizeme/skill-payments.git && ./skill-payments/install.sh
- Ou téléchargez : https://github.com/schematizeme/skill-payments/releases/latest/download/skill-payments.zip et décompressez dans .claude/skills/
- Copiez assets/CLAUDE.md à la racine du repo (règle toujours active).
- Confirmez avec /pay-help.
Discussion
Chargement…