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

# Demarrage rapide

> Le chemin le plus court pour appeler la nouvelle architecture Mysoleas en production.

Ce guide vous accompagne de l'authentification jusqu'au suivi d'une premiere transaction.

## 1. Preparez vos domaines

Toutes les requetes de paiement partent vers la gateway.

```txt theme={null}
https://api.mysoleas.com
```

Toutes les requetes OAuth partent vers le service d'authentification.

```txt theme={null}
https://account.mysoleas.com
```

<Tip>
  Stockez ces URLs dans des variables d'environnement. Cela rend vos tests, vos workers et votre backoffice plus faciles a maintenir.
</Tip>

## 2. Obtenez un access token

Pour une integration serveur a serveur, utilisez le grant `client_credentials`.

```bash theme={null}
curl -X POST "https://account.mysoleas.com/oauth/v2/token" \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "scope": "payments services countries providers"
  }'
```

La reponse contient un `access_token`.

```json theme={null}
{
  "token_type": "Bearer",
  "expires_in": 3600,
  "access_token": "eyJ..."
}
```

## 3. Appelez la gateway

Transmettez le jeton dans `Authorization`.

```bash theme={null}
curl "https://api.mysoleas.com/service/list?country=CM&currency=XAF" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Accept: application/json"
```

Vous pouvez aussi transmettre des headers de contexte lorsque votre application gere plusieurs environnements ou pays.

| Header              | Usage                                                     |
| ------------------- | --------------------------------------------------------- |
| `Authorization`     | Jeton Bearer obligatoire                                  |
| `X-Request-Id`      | Identifiant de trace cote marchand                        |
| `X-Idempotency-Key` | Cle d'idempotence explicite pour les operations sensibles |
| `X-SP-Country`      | Pays actif, par exemple `CM`                              |
| `X-SP-Environment`  | Environnement logique, par exemple `prod` ou `dev`        |

## 4. Choisissez un service

Listez les services disponibles avant de creer une transaction. Le champ `code` du service devient la valeur `provider` dans les payloads de paiement.

```bash theme={null}
curl "https://api.mysoleas.com/service/list?country=CM&currency=XAF" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

Un service utilisable pour une collection doit avoir `is_active: true` et `is_can_collect: true`.

Un service utilisable pour un disbursement doit avoir `is_active: true` et `is_can_disburse: true`.

## 5. Lancez une collection

Le flux standard se fait en trois appels: `intent`, `execute`, puis `status`.

```bash theme={null}
curl -X POST "https://api.mysoleas.com/collection/intent" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 2500,
    "currency": "XAF",
    "transaction_uuid": "2f8b9a68-1ad3-4a0c-a187-40b91a4c44a1",
    "provider": "CM_MTN_MOMO",
    "channel": "PROVIDER",
    "customer_wallet": "237670000000",
    "description": "Commande MS-10045"
  }'
```

La reponse contient `transaction_reference`. Utilisez cette valeur pour executer et suivre la transaction.

```bash theme={null}
curl -X POST "https://api.mysoleas.com/collection/execute" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_reference": "TRX-20260728-000001",
    "invoice_reference": "MS-10045"
  }'
```

## 6. Suivez le statut

Interrogez le statut jusqu'a obtenir un etat final.

```bash theme={null}
curl -X POST "https://api.mysoleas.com/collection/status" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_reference": "TRX-20260728-000001"
  }'
```

Les etats finaux sont `COMPLETED`, `SUCCESS`, `FAILED`, `CANCELLED` et `REFUNDED`.
