PHP SDK
Le SDK PHP officiel pour intégrer SahelPay dans vos applications PHP 8.1+ et Laravel.Installation
Le paquetsahelpay/sahelpay-php n’est pas encore publié sur Packagist. Installez-le depuis le dépôt via un path repository Composer :
Configuration
https://api.sahelpay.ml en sandbox comme en production ; le mode dépend de la clé.
Laravel
Le service provider litconfig/sahelpay.php (SAHELPAY_SECRET_KEY, SAHELPAY_WEBHOOK_SECRET) et enregistre SahelPay\SahelPay en singleton : injectez-le dans vos contrôleurs.
Créer un paiement
X-Idempotency-Key est obligatoire côté API. Sans idempotency_key, le SDK génère une clé aléatoire à
chaque appel : la requête passe, mais un retry créerait un second paiement. Fournissez une clé stable liée à
votre commande.Créer un lien de paiement
title, price (ou amount) et redirect_url restent acceptés. Sans montant, le lien est à montant libre (OPEN).
Livraisons webhook et paiement sécurisé
Tester sans appel opérateur
L’optionmock 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 le statut
Vérifier un webhook
webhooks->constructEvent() vérifie la signature avec le webhook_secret configuré et lève WebhookSignatureException si elle est invalide.
Laravel
Fonctions à éviter pour l’instant
Les plans, abonnements et clients passent par
/v1/billing/*.
Billing 1.3.0
Clients sans téléphone viacustomer_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é.