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[status]=active&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[status]=active&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_payment_dateQuand aura lieu la prochaine tentative de prélèvement

Exemple :

  • end_date = 14 février (dernier paiement couvrait jusqu’à cette date)
  • next_payment_date = 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_payment_date passe au 18 février (prochaine tentative selon le scénario de rebill)

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