> ## 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.

# Historique des changements

> Ce qui a changé côté API pour les intégrateurs

# Historique des changements

## Octobre 2026

### Orange Money uniquement

* Orange Money (Mali) est le **seul** moyen de paiement. Wave, Moov, les cartes (Visa, Mastercard, GIM-UEMOA) et les autres agrégateurs ont été retirés.
* Toute autre valeur de `provider` / `payment_method` est rejetée avec `400`, jamais routée ailleurs.
* `GET /v1/payments/providers` et `GET /v1/payments/recommend` ne renvoient plus qu'Orange Money Mali.
* Libellé côté client sur Orange : `SPAY-<nom du marchand>` (30 caractères maximum).

### Production payante, sandbox gratuite

* Encaisser en live exige un **abonnement SahelPay payé et en cours** (`403 PAID_SUBSCRIPTION_REQUIRED` sinon). Sans abonnement, tout le compte fonctionne en sandbox, gratuitement.
* L'accès production est ouvert compte par compte par SahelPay (`401 PRODUCTION_KEY_DISABLED` sinon).
* **Plafond mensuel live** selon le forfait : 200 000 FCFA pour Starter et Pro (`403 PLAN_MONTHLY_VOLUME_EXCEEDED`). Voir [Passer en production](/guides/going-live).

### Paiements

* `X-Idempotency-Key` est **obligatoire** sur `POST /v1/payments`. Rejouer la même clé renvoie le même paiement ; une demande différente sous la même clé renvoie `409`.
* Le checkout hébergé reprend la même session Orange Money après un rechargement ou un double clic.
* Après un paiement **confirmé**, la page de paiement redirige automatiquement le client vers votre `return_url` (HTTPS, hors domaines SahelPay). Aucune redirection automatique pour un paiement en attente ou échoué.
* Option de test explicite : `metadata.sahelpay_mock` (simulateur, option SDK `mock`) est distincte de `metadata.sandbox` (sandbox Orange). Les deux sont refusées en production.
* `payment.expired` est émis à toute expiration (délai écoulé, `POST /v1/payments/{id}/expire`, réconciliation). Aucun événement `payment.cancelled`, `payout.*` ou `refund.*` n'est émis.
* La répartition interne des frais n'est plus exposée ; le total (`fee_total`) et le net marchand restent disponibles.

### Fonctions retirées ou restreintes

* **Payouts automatiques** (`POST /v1/payouts`) : indisponibles. Les retraits de solde se font par **demande de retrait traitée manuellement** (`POST /v1/withdrawals`, minimum 50 000 FCFA).
* **Remboursements en ligne** (`POST /v1/refunds`) : désactivés en production pour l'instant, réponse `503`. Contactez le support pour rembourser un client.
* **Splits** : retirés de l'offre.
* **OPR** (`/v1/opr/*`) : limité à la sandbox.

### Nouveautés

* [Paiement sécurisé à la livraison](/guides/secure-orders) (`/v1/secure-orders`) : pilote, sur activation.
* [Programme Partenaires SPAY](/guides/partners) : SahelPay vendeur de référence, catalogue de produits à prix validé, `items[]` sur `POST /v1/payments`, redevance mensuelle.


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