Comprendre le champ end_date d'un abonnement
Prérequis
Section intitulée « Prérequis »- 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)
Définition
Section intitulée « Définition »Le champ end_date représente la date d’expiration de l’abonnement suite au dernier paiement accepté.
Fonctionnement du cycle
Section intitulée « Fonctionnement du cycle »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évrierRègle de mise à jour
Section intitulée « Règle de mise à jour »- Paiement accepté :
end_dateest mise à jour à la veille du prochain rebill prévu - Paiement refusé :
end_datene bouge pas
Statut actif vs end_date passée
Section intitulée « Statut actif vs end_date passée »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
Les abonnements “zombies”
Section intitulée « Les abonnements “zombies” »Ce sont des abonnements qui :
- Ont le statut
activedans Ciklik - Mais dont la
end_dateest 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)
Cas d’usage pour le filtrage API
Section intitulée « Cas d’usage pour le filtrage API »Identifier les abonnements “bloqués”
Section intitulée « Identifier les abonnements “bloqués” »Pour trouver les abonnements actifs qui n’ont pas été renouvelés depuis longtemps :
GET /api/subscriptions?filter[activated]=1&filter[end_date_before]=2025-01-01Cela retourne les abonnements marqués comme actifs mais dont la dernière facturation réussie remonte à avant janvier 2025.
Audit mensuel des abonnements
Section intitulée « Audit mensuel des abonnements »Pour identifier les abonnements nécessitant une attention :
# Abonnements actifs avec end_date dépassée depuis plus de 30 joursGET /api/subscriptions?filter[activated]=1&filter[end_date_before]=2026-01-04Lien avec les groupes clients PrestaShop
Section intitulée « Lien avec les groupes clients PrestaShop »Le champ end_date est particulièrement utile pour les intégrateurs qui synchronisent l’état des abonnements Ciklik avec des groupes clients PrestaShop.
Scénario typique
Section intitulée « Scénario typique »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
Différence avec next_billing
Section intitulée « Différence avec next_billing »| Champ | Signification |
|---|---|
end_date | Jusqu’à quelle date l’abonnement est payé |
next_billing | Date 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_datereste au 14 févriernext_billingne bouge pas pendant les nouvelles tentatives : elles sont portées par la commande en attente, dont le champnext_trydonne 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_billingpasse 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_datene change pas - Si réactivation après
end_date: un paiement est déclenché immédiatement, etend_dateest mise à jour si le paiement réussit
Voir : Résilier et réactiver un abonnement