Comprendre les paiements carte refusés

Liste les paiements carte refusés avec la raison exacte du refus et la remédiation à appliquer.

AP ManagerController📅 HebdoDébutantLecture seule

Demandez-le comme ça

Quels paiements carte ont été refusés ce mois-ci, et pourquoi ?

Quand l'utiliser

Quand des paiements par carte échouent et qu'il faut savoir pourquoi et quoi faire.

Ce que ça produit

Liste des paiements refusés avec reasonCodeLong (raison) et reasonCodeRemediation (solution) pour chacun.

Comment ça se déroule

  1. 1Liste les paiements carte refusés sur la période
  2. 2Donne la raison de chaque refus
  3. 3Indique ce que le porteur doit faire pour débloquer
  4. 4Repère les cartes refusées à répétition
  5. 5Présente les refus par collaborateur ou par carte

Ce qui vous protège

  • Ce skill ne fait que lire : il ne modifie rien dans Spendesk
  • Il agit avec vos permissions et votre rôle, jamais au-delà
  • L'assistant ne peut ni approuver ni payer
▸Détail technique68/100 · 2 outils
CartesRéconciliationget_failed_transactionsget_transactions

# Audit des paiements carte refusés

## Pourquoi un tool séparé

`get_transactions` ne retourne que les paiements réussis (compensés). Les paiements refusés vivent dans un objet distinct, `get_failed_transactions`, avec un champ que `get_transactions` n'a pas : la raison du refus en langage clair (`reasonCodeLong`) et la remédiation (`reasonCodeRemediation`). Toujours afficher les deux à l'utilisateur pour qu'il n'ait pas besoin de relancer une question — c'est explicitement documenté comme le comportement attendu du tool.

## Différences avec get_transactions à connaître

- `merchantName` ici est le descripteur brut du réseau carte — **pas** comparable au `merchantName` de `get_transactions`, qui est dérivé du nom du fournisseur lié.
- `createdAt` reflète ici la date d'enregistrement du refus, alors que sur `get_transactions` il reflète la date de règlement (pas la date d'autorisation) — les deux champs ne se comparent pas directement entre les deux tools.
- Pas de fenêtre fixe par défaut : sans `startDate`, la couverture est les 30 derniers jours ; avec `startDate`, aucune limite de profondeur.
- ⚠️ `endDate` seul ne déplace pas cette fenêtre : il ne fait que raccourcir les 30 derniers jours, donc un `endDate` vieux de plus de 30 jours ne renvoie rien. Toujours passer `startDate` pour une période qui commence il y a plus de 30 jours.
- Sur `get_transactions`, `startDate`/`endDate` filtrent sur la date de règlement uniquement : les paiements réglés sans date de règlement sont exclus dès qu'un filtre de dates est posé. Une liste filtrée par dates peut donc sous-compter une période — ne pas présenter sa somme comme un total complet.

## Appel

```json
{
  "tool": "get_failed_transactions",
  "params": {
    "companyId": "<companyId>",
    "startDate": "2026-01-01"
  }
}
```

## Résultat observé

Sur ce compte, sur la période testée : `{"data":[]}` — zéro paiement refusé. C'est un résultat normal et légitime à rapporter tel quel ("aucun paiement refusé sur la période") plutôt que de le traiter comme une erreur ou un signe que la requête a échoué.

## Piège devise

Chaque montant porte sa propre devise (`amountBilled.currency`, `amountDeclared.currency`) — il n'y a pas de champ `currencyBilled`/`currencyDeclared` séparé. Vérifier la devise sur chaque enregistrement avant de sommer. Si `amountDataIssue` est présent, ne jamais traiter le montant concerné comme zéro — le signaler explicitement à l'utilisateur.

## Exemples de prompts utilisateur

- "Quels paiements carte ont été refusés ce mois-ci, et pourquoi ?"
- "Y a-t-il des cartes avec des paiements refusés à répétition ?"
- "Donne-moi la raison et la solution pour chaque paiement refusé de [employé]"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s67-audit-paiements-carte-refuses.md via le bouton ci-dessus.
  2. 2
    Placer le fichier dans le répertoire .claude/ de votre projet (ou ~/.claude/ pour une installation globale).
    cp s67-audit-paiements-carte-refuses.md .claude/s67-audit-paiements-carte-refuses.md
  3. 3
    Utiliser dans Claude Code — le skill est automatiquement découvert. Décrivez votre besoin en langage naturel et Claude appliquera les instructions du skill.
💡 Assurez-vous que le MCP Spendesk est configuré dans votre .claude/settings.json avec les outils get_failed_transactions, get_transactions.

Skills similaires

★ Top
95/100·🔍 Ponctuel·Expert

Auditer la couverture du MCP

Sonde tous les outils MCP disponibles, re-évalue la couverture des 50 cas d'usages persona, détecte les nouveaux champs ou outils, et régénère le rapport d'analyse des gaps.

CFOControllerAP Manager
90/100·📅 Hebdo·Débutant

Demandes de carte via get_requests

Explique comment utiliser get_requests pour les demandes de carte et pourquoi les remboursements de frais n'y apparaissent pas. Évite une source de confusion fréquente entre deux workflows distincts.

ControllerFinance Analyst
90/100·🔍 Ponctuel·Intermédiaire

Cost centers actifs vs archivés

Distingue les centres de coût actifs des archivés via le bon usage de get_cost_centers. Évite le piège de la convention de nommage isArchived vs isActive qui est contre-intuitive.

ControllerFinance Analyst

Interested in AI Agent services or Custom Integrations?