Aller au contenu

Comprendre le champ end_date d'un abonnement

  • Connaissance du cycle de vie d’un abonnement Ciklik
  • Accès à l’API Ciklik
  • Familiarité avec les concepts de rebill

Voir aussi : Gestion des abonnements (documentation plateforme)

Le champ end_date représente la date d’expiration de l’abonnement suite au dernier paiement accepté.

Prenons l’exemple d’un abonnement mensuel :

Souscription : 15 janvier
├── Paiement accepté le 15 janvier
├── end_date = 14 février (veille du prochain rebill)
├── Prochain rebill prévu : 15 février
│
Rebill du 15 février
├── Si paiement accepté → end_date = 14 mars
├── Si paiement refusé → end_date reste au 14 février
  • Paiement accepté : end_date est mise à jour à la veille du prochain rebill prévu
  • Paiement refusé : end_date ne bouge pas

Un abonnement peut être :

  • Statut actif + end_date dans le futur = Abonnement en cours, à jour de paiement
  • Statut actif + end_date dans le passé = Abonnement “zombie” - actif mais jamais renouvelé avec succès

Ce sont des abonnements qui :

  • Ont le statut active dans Ciklik
  • Mais dont la end_date est dans le passé (parfois depuis plusieurs mois)

Causes possibles :

  • Échecs de paiement répétés (carte expirée, fonds insuffisants)
  • Erreurs de stock empêchant le renouvellement
  • Problèmes techniques (site PrestaShop inaccessible)

Pour trouver les abonnements actifs qui n’ont pas été renouvelés depuis longtemps :

Fenêtre de terminal
GET /api/subscriptions?filter[activated]=1&filter[end_date_before]=2025-01-01

Cela retourne les abonnements marqués comme actifs mais dont la dernière facturation réussie remonte à avant janvier 2025.

Pour identifier les abonnements nécessitant une attention :

Fenêtre de terminal
# Abonnements actifs avec end_date dépassée depuis plus de 30 jours
GET /api/subscriptions?filter[activated]=1&filter[end_date_before]=2026-01-04

Le champ end_date est particulièrement utile pour les intégrateurs qui synchronisent l’état des abonnements Ciklik avec des groupes clients PrestaShop.

Vous avez un groupe client “Abonnés Premium” dans PrestaShop qui donne accès à des prix réduits ou des fonctionnalités exclusives.

Logique recommandée :

Si abonnement.status == "active" ET abonnement.end_date >= aujourd'hui
→ Client reste dans le groupe "Abonnés Premium"
Si abonnement.status == "active" ET abonnement.end_date < aujourd'hui - 30 jours
→ Considérer le retrait du groupe (abonnement probablement en difficulté)
Si abonnement.status == "inactive"
→ Retirer du groupe "Abonnés Premium"

Voir aussi : Gérer ses abonnés dans un groupe client PrestaShop

ChampSignification
end_dateJusqu’à quelle date l’abonnement est payé
next_billingDate du prochain renouvellement de l’abonnement

Exemple :

  • end_date = 14 février (dernier paiement couvrait jusqu’à cette date)
  • next_billing = 15 février (prochain prélèvement prévu)

Si le paiement du 15 février échoue :

  • end_date reste au 14 février
  • next_billing ne bouge pas pendant les nouvelles tentatives : elles sont portées par la commande en attente, dont le champ next_try donne la date de la prochaine tentative (par exemple le 18 février, selon le réglage Relance de paiement : jours entre deux tentatives de votre site)
  • si toutes les tentatives échouent, la commande est clôturée en échec et next_billing passe une période après la date de clôture (le 1er avril pour un abonnement mensuel clôturé le 1er mars)

Quand c’est votre boutique qui bloque le renouvellement (déclinaison supprimée, boutique injoignable), next_billing est décalé d’un jour à chaque blocage.

Q : Un abonnement avec end_date passée va-t-il continuer à essayer de se renouveler ?

Oui, tant que l’abonnement a le statut active, les tentatives de renouvellement continueront selon le scénario de rebill configuré.

Q : Comment forcer la mise à jour de end_date sans paiement ?

Ce n’est pas possible via l’interface standard. Le champ end_date est uniquement mis à jour lors d’un paiement réussi. Pour des cas exceptionnels, contactez le support Ciklik.

Q : Si je résilie puis réactive un abonnement, que devient end_date ?

  • Si réactivation pendant la période payée : end_date ne change pas
  • Si réactivation après end_date : un paiement est déclenché immédiatement, et end_date est mise à jour si le paiement réussit

Voir : Résilier et réactiver un abonnement