Skip to main content
POST
/
v1
/
subscriptions
Créer un abonnement
curl --request POST \
  --url https://api.example.com/v1/subscriptions

Créer un abonnement

Crée un nouvel abonnement pour un client à un plan existant.

Endpoint

POST /v1/subscriptions

Headers

HeaderRequisDescription
AuthorizationBearer sk_xxx
Content-Typeapplication/json

Body

ParamètreTypeRequisDescription
plan_idstringID du plan d’abonnement
customer_phonestringNuméro de téléphone du client (+223…)
start_datestringDate de début (ISO format, défaut: maintenant)

Exemple

curl -X POST https://api.sahelpay.ml/v1/subscriptions \
  -H "Authorization: Bearer sk_test_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": "plan_abc123",
    "customer_phone": "+22370123456",
    "start_date": "2025-01-01T00:00:00.000Z"
  }'

Réponse

{
  "success": true,
  "data": {
    "id": "sub_abc123def456",
    "plan_id": "plan_abc123",
    "plan_name": "Premium Mensuel",
    "customer_phone": "+22370123456",
    "status": "ACTIVE",
    "next_billing_date": "2025-01-01T00:00:00.000Z",
    "retry_count": 0,
    "created_at": "2025-12-18T16:45:00.000Z"
  }
}

Créer un abonnement avec lien de paiement

Pour créer un abonnement ET générer immédiatement un lien de paiement :
POST /v1/subscriptions/with-payment
Body additionnel :
  • redirect_url (optionnel) : URL de retour après paiement
  • metadata (optionnel) : Données personnalisées
Réponse :
{
  "success": true,
  "data": {
    "subscription": { ... },
    "payment_link": {
      "id": "link_xxx",
      "slug": "premium-mensuel-xxx",
      "url": "https://pay.sahelpay.ml/premium-mensuel-xxx",
      "amount": 10000
    }
  }
}

Erreurs

CodeDescription
PLAN_NOT_FOUNDPlan non trouvé
INVALID_PHONENuméro de téléphone invalide