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

# SDKs

> SDKs officiels SahelPay

# SDKs officiels

SahelPay fournit des SDKs pour les langages les plus populaires.

<CardGroup cols={3}>
  <Card title="JavaScript" icon="js" href="/sdks/javascript">
    Node.js, TypeScript, Deno
  </Card>

  <Card title="PHP" icon="php" href="/sdks/php">
    PHP 8+, Laravel
  </Card>

  <Card title="Python" icon="python" href="/sdks/python">
    Python 3.8+, Django, Flask
  </Card>
</CardGroup>

## Installation rapide

<CodeGroup>
  ```bash JavaScript theme={null}
  npm install @sahelpay/sdk
  # ou
  yarn add @sahelpay/sdk
  ```

  ```bash PHP theme={null}
  composer require sahelpay/php
  ```

  ```bash Python theme={null}
  pip install sahelpay
  ```
</CodeGroup>

## Fonctionnalités

Tous les SDKs exposent les mêmes fonctionnalités :

### Paiements

| Fonction               | Description                             |
| ---------------------- | --------------------------------------- |
| `payments.create()`    | Créer un paiement Mobile Money ou carte |
| `payments.retrieve()`  | Récupérer un paiement par ID            |
| `payments.list()`      | Lister les paiements                    |
| `payments.search()`    | Rechercher par référence client         |
| `payments.details()`   | Détails complets (fees, ledger)         |
| `payments.reconcile()` | Réconcilier manuellement                |

### Liens de paiement

| Fonction                  | Description                            |
| ------------------------- | -------------------------------------- |
| `paymentLinks.create()`   | Créer un lien de paiement réutilisable |
| `paymentLinks.list()`     | Lister les liens                       |
| `paymentLinks.retrieve()` | Récupérer un lien par slug             |

### Payouts (Envoi d'argent)

| Fonction             | Description                           |
| -------------------- | ------------------------------------- |
| `payouts.create()`   | Envoyer de l'argent vers Mobile Money |
| `payouts.retrieve()` | Récupérer un payout                   |
| `payouts.list()`     | Lister les payouts                    |
| `payouts.cancel()`   | Annuler un payout en attente          |

### Abonnements

| Fonction                 | Description                |
| ------------------------ | -------------------------- |
| `plans.create()`         | Créer un plan d'abonnement |
| `plans.list()`           | Lister les plans           |
| `subscriptions.create()` | Créer un abonnement        |
| `subscriptions.list()`   | Lister les abonnements     |
| `subscriptions.cancel()` | Annuler un abonnement      |

### Customer Portal

| Fonction                 | Description                      |
| ------------------------ | -------------------------------- |
| `portal.createSession()` | Créer une session portail client |

### Webhooks

| Fonction                     | Description                   |
| ---------------------------- | ----------------------------- |
| `webhooks.verifySignature()` | Vérifier la signature webhook |
| `webhooks.constructEvent()`  | Parser un événement webhook   |

### Capabilities

| Fonction                     | Description                                         |
| ---------------------------- | --------------------------------------------------- |
| `hasCapability()`            | Vérifier si une méthode supporte une fonctionnalité |
| `getCapabilities()`          | Obtenir toutes les capabilities d'une méthode       |
| `getMethodsWithCapability()` | Lister les méthodes avec une capability             |

### Gateway Stream (JavaScript uniquement)

| Fonction             | Description                                           |
| -------------------- | ----------------------------------------------------- |
| `GatewayEventSource` | Écouter les changements de config en temps réel (SSE) |
| `useGatewayStream()` | Hook React pour Gateway Stream                        |

## Code source

Les SDKs sont open source et disponibles sur GitHub :

<Card title="github.com/dione24/sahelpay-sdks" icon="github" href="https://github.com/dione24/sahelpay-sdks">
  Contribuez ou signalez des bugs
</Card>
