> ## Documentation Index
> Fetch the complete documentation index at: https://doc.ashtechpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AshTech Pay AI Integration Skills

> Installez le Skill adapté et donnez à votre agent IA des instructions fiables pour intégrer AshTech Pay.

## Comment utiliser le Skill ?

Vous avez deux possibilités :

1. **Installer le Skill vous-même** en copiant la commande correspondant à
   votre besoin et en l'exécutant dans le terminal de votre projet.
2. **Donner le Skill à l'agent IA de votre choix**. Copiez la commande ou le
   contenu du Skill et transmettez-le à votre agent. Il installera le Skill,
   analysera votre projet et intégrera l'API AshTech Pay en suivant la
   documentation officielle.

Le Skill ne remplace pas votre clé API et ne crée pas votre compte marchand.
Gardez vos clés et vos secrets uniquement dans les variables d'environnement de
votre serveur.

## Avant de commencer

Pour utiliser la Direct API, vérifiez que vous avez :

1. un compte marchand AshTech Pay ;
2. un compte vérifié lorsque le dashboard le demande ;
3. un accès **API activé** par AshTech Pay ;
4. une clé API conservée uniquement sur votre serveur.

Si l'API renvoie `api_not_enabled`, la clé est reconnue mais l'accès API n'est
pas encore activé sur le compte. L'agent ne peut pas contourner cette
activation.

## Installer le Skill ou le donner à un agent IA

Choisissez le Skill adapté à votre intégration. Vous pouvez exécuter la commande
dans le terminal de votre projet ou la transmettre à votre agent IA.

La commande seule s'exécute dans le terminal. Pour demander l'intégration à un
agent IA, copiez aussi le bloc **Message à copier pour un agent IA** de l'onglet
correspondant : il contient la commande d'installation et les consignes adaptées
au Skill choisi.

> [tab] Tous les Skills
>
> Installe tous les Skills publiés par AshTech Pay, y compris les nouveaux Skills
> ajoutés plus tard :
>
> ```bash theme={null}
> npx skills add https://doc.ashtechpay.com --all
> ```
>
> **Message à copier pour un agent IA :**
>
> ```text theme={null}
> Installe les Skills officiels AshTech Pay et intègre-les à ce projet en suivant strictement leurs instructions.
>
> npx skills add https://doc.ashtechpay.com --all
>
> Après installation, inspecte le projet et utilise les Skills pertinents avec la documentation officielle actuelle comme seule source de vérité. Mets à jour ou remplace toute logique incompatible avec les règles actuelles. Ne fais aucune supposition et n'invente aucun endpoint, paramètre, header, signature, statut ou comportement.
>
> Prends en charge tous les flux requis par le projet : Direct API et pay-in Mobile Money (USSD Push, Wave, OTP SMS et OTP USSD), Hosted Checkout, pay-in crypto, payouts Mobile Money et USDT, conversions immédiates ou automatiques entre wallets, suivi de `initial_conversion_id`, vérification des statuts, webhooks signés et sécurisés, idempotence, erreurs et toutes les méthodes documentées. Ne laisse aucun flux requis à moitié implémenté.
>
> Garde les clés et secrets uniquement côté serveur. Implémente l'intégration, exécute les tests et le build, puis corrige les erreurs. Indique les variables d'environnement ou réglages de compte nécessaires sans me demander de secret dans le chat.
> ```

> [tab] Direct API
>
> ```bash theme={null}
> npx skills add https://doc.ashtechpay.com --skill ashtech-direct-api
> ```
>
> **Message à copier pour un agent IA :**
>
> ```text theme={null}
> Installe le Skill officiel AshTech Pay Direct API et mets à jour l'intégration Direct API de ce projet en respectant strictement le Skill et la documentation actuelle.
>
> npx skills add https://doc.ashtechpay.com --skill ashtech-direct-api
>
> Inspecte d'abord le projet. Implémente les flux Direct API nécessaires en utilisant les catalogues et valeurs actifs documentés : pay-in Mobile Money, méthodes USSD Push, Wave et OTP SMS/USSD, pay-in crypto si requis, et conversions de wallets si demandées. Pour une conversion, lis les soldes avec `GET /v1/wallets`, utilise le `wallet_currency` exact comme `from_currency`, et sélectionne le pays cible avec `destination_country_code` depuis `GET /v1/countries`. Respecte les endpoints, champs, headers, statuts et erreurs exacts de la documentation.
>
> Pour les conversions, utilise `POST /v1/conversions`, une `reference` idempotente, puis suis l'état avec `GET /v1/conversions/:id?user_id=...` ou un webhook vérifié. Implémente aussi les règles automatiques via `POST /v1/auto-conversion-rules`, `GET /v1/auto-conversion-rules?user_id=...` et `DELETE /v1/auto-conversion-rules/:id?user_id=...` si elles sont requises; respecte la limite d'une règle active par wallet source, suis `initial_conversion_id` si une conversion est lancée à la création et ne prétends pas que supprimer une règle annule une conversion déjà en attente. Vérifie tous les statuts côté serveur avant de considérer une opération terminée. Gère les états pending et finaux, l'idempotence, les délais et les erreurs sans relance aveugle. Ne conserve aucune logique ancienne qui contredit le Skill et n'invente aucune méthode ou valeur.
>
> Garde les clés et secrets côté serveur. Si le projet doit aussi envoyer des payouts, utilise le Skill Payouts au lieu de détourner un endpoint pay-in. Exécute les tests et le build, puis résume les changements et les réglages requis sans demander de secret dans le chat.
> ```
>
> Ce Skill couvre les catalogues, les collectes Mobile Money, les paiements
> crypto, les soldes et conversions immédiates ou automatiques entre wallets, les
> statuts et la vérification serveur.

> [tab] Payouts
>
> ```bash theme={null}
> npx skills add https://doc.ashtechpay.com --skill ashtech-payouts
> ```
>
> **Message à copier pour un agent IA :**
>
> ```text theme={null}
> Installe le Skill officiel AshTech Pay Payouts et implémente ou mets à jour les retraits de ce projet selon toutes les règles du Skill et de la documentation actuelle.
>
> npx skills add https://doc.ashtechpay.com --skill ashtech-payouts
>
> Inspecte le projet avant de modifier le code. Prends en charge les payouts Mobile Money et USDT requis par le projet. Charge le catalogue de retrait documenté, utilise uniquement ses codes pays et opérateurs actifs, et respecte la résolution du wallet, les frais, user_id, reference, champs de requête et endpoints exacts.
>
> Vérifie le statut final par la méthode documentée ou par un webhook vérifié. Un résultat pending ou incertain n'est pas un succès : ne crée pas de demande en double et ne relance pas avec une nouvelle référence. Ne convertis jamais un wallet automatiquement dans le cadre d'un payout; si une conversion séparée est demandée, suis sa documentation dédiée. Gère les erreurs, les soldes insuffisants, l'idempotence et les webhooks conformément au Skill.
>
> Ne fais aucune supposition et ne conserve aucune logique incompatible. Garde les clés et secrets côté serveur. Exécute les tests et le build, puis résume les changements et les réglages nécessaires sans demander de secret dans le chat.
> ```
>
> Ce Skill couvre les retraits Mobile Money et USDT, le catalogue de pays et
> d'opérateurs de retrait, la résolution du wallet côté serveur et la vérification
> des statuts finaux.

> [tab] Checkout
>
> ```bash theme={null}
> npx skills add https://doc.ashtechpay.com --skill ashtech-checkout
> ```
>
> **Message à copier pour un agent IA :**
>
> ```text theme={null}
> Installe le Skill officiel AshTech Pay Hosted Checkout et intègre ou mets à jour le paiement hébergé de ce projet en respectant strictement sa documentation actuelle.
>
> npx skills add https://doc.ashtechpay.com --skill ashtech-checkout
>
> Inspecte le projet avant de modifier le code. Crée les liens de paiement depuis le serveur, garde la clé Checkout côté serveur et utilise une clé d'idempotence stable par commande. Ne crée pas un nouveau lien à chaque clic, ouverture de popup ou redirection.
>
> Gère les confirmations, statuts, erreurs et webhooks documentés. Ne considère jamais une redirection ou une page de succès comme preuve de paiement : vérifie le statut côté serveur ou traite un webhook dont la signature est validée avant de livrer une commande. Rends le traitement des doublons idempotent.
>
> Ne fais aucune supposition et ne conserve pas une ancienne logique incompatible. Exécute les tests et le build, puis indique les changements et la configuration requise sans me demander de clé ou de secret dans le chat.
> ```
>
> Ce Skill couvre Hosted Checkout, les clés `hp_live_...`, l'idempotence des
> liens et la confirmation avant livraison.

> [tab] Crypto
>
> ```bash theme={null}
> npx skills add https://doc.ashtechpay.com --skill ashtech-crypto
> ```
>
> **Message à copier pour un agent IA :**
>
> ```text theme={null}
> Installe le Skill officiel AshTech Pay Crypto et intègre ou mets à jour les paiements crypto de ce projet selon le Skill et la documentation actuelle.
>
> npx skills add https://doc.ashtechpay.com --skill ashtech-crypto
>
> Inspecte le projet avant de modifier le code. Utilise uniquement les actifs et réseaux retournés par le catalogue officiel. Respecte exactement les endpoints, champs client obligatoires, frais, adresses, réseaux, memo/tag, codes QR, expiration et statuts documentés. Garde l'adresse et le memo/tag séparés.
>
> Vérifie les statuts côté serveur et sécurise les webhooks conformément à la documentation. N'effectue aucun crédit ni livraison avant confirmation. Gère pending, expiration, erreurs et doublons sans inventer de règle ni appliquer aux paiements Mobile Money les délais propres au crypto.
>
> Garde les clés et secrets côté serveur. Si le projet doit aussi effectuer des payouts crypto, utilise le Skill Payouts. Exécute les tests et le build, puis indique les changements et la configuration nécessaire sans demander de secret dans le chat.
> ```
>
> Ce Skill couvre les actifs, réseaux, adresses, `memo/tag`, champs client,
> expiration, vérification et webhooks crypto.

> [tab] Mobile Money
>
> ```bash theme={null}
> npx skills add https://doc.ashtechpay.com --skill ashtech-mobile-money
> ```
>
> **Message à copier pour un agent IA :**
>
> ```text theme={null}
> Installe le Skill officiel AshTech Pay Mobile Money et intègre ou mets à jour les paiements Mobile Money de ce projet en suivant strictement le Skill et la documentation actuelle.
>
> npx skills add https://doc.ashtechpay.com --skill ashtech-mobile-money
>
> Inspecte le projet avant toute modification. Charge les catalogues actifs et prends en charge les parcours documentés nécessaires : USSD Push, Wave, OTP par SMS et OTP par USSD. Respecte les codes pays, opérateurs, devises, champs, références de session OTP et réponses exacts du catalogue et de la documentation.
>
> Gère pending, confirmations, échecs, annulations, OTP, délais, statuts, erreurs et webhooks. Vérifie le statut côté serveur ou via un webhook signé avant tout crédit ou livraison. Ne relance pas aveuglément une collecte après un timeout et rends les webhooks et traitements de commande idempotents.
>
> Ne suppose aucune méthode ni valeur et ne garde pas de logique incompatible. Garde les clés et secrets côté serveur. Pour les retraits, utilise le Skill Payouts. Exécute les tests et le build, puis résume les changements sans demander de secret dans le chat.
> ```
>
> Ce Skill couvre les catalogues pays/opérateurs, USSD Push, Wave, OTP SMS et
> OTP USSD.

> [tab] Webhooks
>
> ```bash theme={null}
> npx skills add https://doc.ashtechpay.com --skill ashtech-webhooks
> ```
>
> **Message à copier pour un agent IA :**
>
> ```text theme={null}
> Installe le Skill officiel AshTech Pay Webhooks et sécurise ou mets à jour le traitement des webhooks de ce projet selon sa documentation actuelle.
>
> npx skills add https://doc.ashtechpay.com --skill ashtech-webhooks
>
> Inspecte le projet et les événements nécessaires avant de modifier le code. Crée l'endpoint HTTPS adapté, lis le corps brut si la signature l'exige et vérifie exactement la signature, l'horodatage et le secret selon la documentation. Rejette les signatures invalides ou expirées. Ne demande jamais le secret dans le chat et ne l'expose ni au navigateur, ni aux logs, ni à Git.
>
> Enregistre les événements de façon sûre, réponds rapidement, déduplique les livraisons et vérifie le statut côté serveur avant tout crédit ou fulfillment. Gère les doublons, erreurs et nouvelles livraisons de manière idempotente pour tous les flux effectivement utilisés par le projet.
>
> N'invente aucun header, algorithme, événement ou statut. Exécute les tests, notamment ceux des signatures invalides et des doublons, ainsi que le build. Résume les changements et la variable d'environnement à configurer sans demander sa valeur.
> ```
>
> Ce Skill couvre les signatures, les événements, la déduplication et la
> fulfillment idempotente.

## Quel Skill choisir ?

| Votre besoin | Skill à installer |
| - | - |
| Intégrer AshTech Pay avec plusieurs fonctionnalités | `ashtech` |
| Construire votre propre formulaire et appeler l'API | `ashtech-direct-api` |
| Convertir les soldes entre wallets ou automatiser ces conversions | `ashtech-direct-api` |
| Envoyer des payouts Mobile Money ou USDT | `ashtech-payouts` |
| Rediriger le client vers une page de paiement hébergée | `ashtech-checkout` |
| Accepter des paiements crypto | `ashtech-crypto` |
| Accepter Mobile Money avec pays et opérateurs | `ashtech-mobile-money` |
| Recevoir et sécuriser les notifications de paiement | `ashtech-webhooks` |

Si vous hésitez, installez tous les Skills avec la commande **Tous les
Skills**. Pour un seul flux, installez uniquement le Skill correspondant.

## Flux de transaction inclus

Les Skills demandent toujours à l'agent de :

1. inspecter le projet avant de modifier le code ;
2. consulter la documentation officielle actuelle ;
3. garder les clés API et secrets webhook côté serveur ;
4. créer une référence unique ;
5. gérer `pending`, `completed`, `failed`, `cancelled`, `expired` et OTP
   selon la méthode sélectionnée ;
6. vérifier la transaction côté serveur ou par webhook ;
7. dédupliquer les webhooks et empêcher une double livraison ;
8. ne jamais considérer une redirection navigateur comme une confirmation de
   paiement ;
9. ne pas relancer aveuglément une initiation après un timeout.
10. suivre les conversions de wallets jusqu'à un statut final et traiter les
    règles automatiques selon les endpoints documentés.

## Crypto incluse

Le Skill crypto applique notamment les règles suivantes :

* `GET /v1/crypto/assets` pour les actifs et réseaux actifs ;
* `POST /v1/crypto/collect` pour créer le paiement ;
* `customer.email`, `customer.firstName` et `customer.lastName` obligatoires ;
* `asset_code`, réseau, adresse et `memo/tag` conservés exactement ;
* statut serveur et webhook comme sources de vérité ;
* expiration crypto `pending` documentée ;
* aucun crédit ou envoi de commande avant confirmation ;
* aucune monnaie, réseau, adresse ou règle de confirmation inventée.

> [!WARNING]
>
> N'envoyez jamais une clé API, un secret webhook ou un mot de passe dans le
> chat. Les clés doivent rester dans les variables d'environnement du serveur.
> Les méthodes absentes de la documentation officielle ne sont pas devinées
> par l'agent.

## Après l'intégration

L'agent doit vérifier les points suivants :

1. la clé n'est jamais envoyée au navigateur ;
2. les pays et opérateurs sont chargés depuis le catalogue AshTech Pay, sans
   liste codée en dur ;
3. chaque paiement possède une référence unique ;
4. un paiement `pending` n'est pas traité comme un paiement confirmé ;
5. les webhooks sont vérifiés et dédupliqués ;
6. un timeout ne relance pas automatiquement une nouvelle collecte ;
7. les tests, le build et les erreurs API sont vérifiés.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.