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

# Démarrage rapide

> Encaissez votre premier paiement de test avec SasPay en moins de 5 minutes.

## 1. Obtenez votre clé API

Connectez-vous sur [app.saspay.me](https://app.saspay.me) et copiez votre clé API secrète depuis la section Développeur de votre tableau de bord.

```
Authorization: Bearer sk_test_xxxxxxxxxxxxxxxx
```

Utilisez une clé `sk_test_...` pour tester sans argent réel, `sk_live_...` une fois prêt à encaisser en production.

## 2. Découvrez les pays et réseaux supportés

Avant d'initier un paiement, vérifiez quels réseaux mobile money sont disponibles dans le pays de votre client. Cet appel ne nécessite aucune authentification.

```bash theme={null}
curl https://api.saspay.me/api/v1/countries/
```

Repérez le `code` du réseau qui vous intéresse (ex. `mtn_bj` pour MTN Bénin) via [Liste des réseaux](/api-reference/reference/networks).

## 3. Encaissez un paiement

Deux façons d'encaisser sont disponibles selon votre intégration.

<Tabs>
  <Tab title="Softpay (direct)">
    Poussez directement une demande de paiement sur le téléphone du client — idéal si vous avez déjà son numéro et son réseau.

    ```bash theme={null}
    curl -X POST https://api.saspay.me/api/v1/payments/softpay/ \
      -H "Authorization: Bearer sk_test_xxxxxxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
      -d '{
        "amount": "2500.00",
        "currency": "XOF",
        "country": "BJ",
        "network": "mtn_bj",
        "description": "Abonnement mensuel",
        "customer": {
          "email": "client@example.com",
          "first_name": "Awa",
          "last_name": "Sossou",
          "phone": "+22997505050"
        }
      }'
    ```

    ```json Réponse theme={null}
    { "message": "Payment pushed successfully", "id": "b1f2c3d4-...", "status": "PENDING", "checkout_url": "" }
    ```

    <Note>
      Le header `Idempotency-Key` est obligatoire ici — générez un identifiant unique (UUID par exemple) par tentative de paiement. Voir [Idempotence](/api-reference/introduction#idempotence).
    </Note>

    Le client reçoit l'invite de paiement directement sur son téléphone (USSD ou notification, selon le réseau). Suivez ensuite l'étape 4 pour connaître le résultat.
  </Tab>

  <Tab title="Checkout hébergé">
    Générez une page de paiement à laquelle rediriger votre client — idéal si vous ne voulez pas gérer l'interface de paiement vous-même.

    ```bash theme={null}
    curl -X POST https://api.saspay.me/api/v1/checkout-sessions/ \
      -H "Authorization: Bearer sk_test_xxxxxxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -d '{
        "amount": "5000.00",
        "currency": "XOF",
        "description": "Facture #1042",
        "customer_email": "client@example.com",
        "customer_name": "Awa Sossou"
      }'
    ```

    ```json Réponse theme={null}
    { "id": "c9a1...", "slug": "kZ2v9rT4bQxL8mNpYw==", "checkout_url": "https://pay.saspay.me/checkout/kZ2v9rT4bQxL8mNpYw==", "status": "PENDING" }
    ```

    Redirigez votre client vers `checkout_url` — il y choisit son réseau et confirme le paiement lui-même.
  </Tab>
</Tabs>

## 4. Vérifiez le résultat

Ne faites jamais confiance à un simple délai — interrogez toujours le statut réel avant de considérer un paiement comme réussi.

```bash theme={null}
curl https://api.saspay.me/api/v1/payments/b1f2c3d4-.../verify/ \
  -H "Authorization: Bearer sk_test_xxxxxxxxxxxxxxxx"
```

```json Réponse theme={null}
{ "message": "Payment transaction fetched successfully", "id": "b1f2c3d4-...", "status": "SUCCESS", "net_amount": "2500.00", "currency": "XOF" }
```

<Tip>
  Plutôt que d'interroger cet endpoint en boucle, configurez un [webhook](/api-reference/webhooks) pour être notifié en temps réel dès que le statut change.
</Tip>

## Prochaines étapes

<CardGroup cols={2}>
  <Card title="Paiements" icon="credit-card" href="/api-reference/payments">
    Softpay, checkout hébergé, retry, confirmation OTP
  </Card>

  <Card title="Retraits" icon="paper-plane" href="/api-reference/payouts">
    Payer un bénéficiaire en mobile money
  </Card>

  <Card title="Webhooks" icon="webhook" href="/api-reference/webhooks">
    Recevez vos événements en temps réel
  </Card>

  <Card title="KYC" icon="id-card" href="/api-reference/kyc">
    Vérifiez votre identité pour activer votre compte
  </Card>
</CardGroup>
