Skip to main content

Python SDK

Le SDK Python officiel pour intégrer SahelPay dans vos applications Python 3.8+, Django ou Flask.

Installation

Le paquet sahelpay n’est pas encore publié sur PyPI. Installez-le depuis le dépôt :

Configuration

Créer un paiement

Sans idempotency_key, le SDK génère une clé aléatoire à chaque appel : un retry créerait un second paiement. Fournissez une clé stable liée à votre commande. Partenaires SPAY : passez items=[{'product_id': ..., 'quantity': 1}].
hosted_checkout=True par défaut : redirect_url pointe vers le checkout SahelPay. Après un paiement confirmé, le client est renvoyé automatiquement vers return_url.

Créer un lien de paiement

title, price et redirect_url restent acceptés. Sans montant, le lien est à montant libre (OPEN).

Livraisons webhook et paiement sécurisé

Voir Livraisons et relances et Paiement sécurisé.

Vérifier le statut

Tester sans appel opérateur

L’option mock active le simulateur SahelPay (statut piloté par le montant : 4000 réussi, 4001 échoué, 4002 en attente, 4003 erreur opérateur). sandbox appelle l’environnement de test de l’opérateur. Les deux sont refusées avec une clé live.

Vérifier un webhook

construct_event() convertit data en objet Payment uniquement pour les événements payment.*. Les autres (invoice.*, subscription.*, webhook.test) restent des dictionnaires.

Fonctions à éviter pour l’instant

Billing 1.3.0

Clients sans téléphone via customer_external_ref/customer_email/customer_id, essais (trial_end), périodes (current_period_start/end), lecture par ID et import. Les trois SDK exposent aussi les factures et la pagination. ACTIVE ≠ paid : lire la facture et l’abonnement canoniques avant d’accorder des droits payés. Voir le guide Billing français/anglais pour les signatures, les garanties de rejeu et le parcours TEST sans numéro inventé.