Aller au contenu

Comprendre les erreurs de renouvellement (rebill errors)

  • Accès à l’API Ciklik (documentation API)
  • Familiarité avec les concepts de rebill (renouvellement automatique)
  • Module Ciklik installé et configuré sur PrestaShop

L’API Ciklik expose un endpoint dédié aux erreurs de rebill : /api/rebill-errors

L’endpoint rebill-errors couvre exclusivement les erreurs suivantes :

Aucun produit de l’abonnement n’était disponible au moment du renouvellement. Aucune commande n’est générée.

{
"id": 1,
"type": "failed",
"created_at": "2026-01-08 06:00:00",
"subscription_id": "uuid-de-l-abonnement",
"order_id": 1234,
"error_code": null,
"error_message": null
}

Comportement :

  • Aucune commande n’est créée dans PrestaShop
  • L’abonnement reste actif
  • L’erreur est loggée et accessible via l’API
  • Le rebill sera retenté automatiquement le lendemain, puis chaque jour suivant tant que le stock n’est pas revenu. Une fois le stock rétabli, le renouvellement s’effectue et la date de ce paiement devient la nouvelle date d’échéance (le cycle repart à partir de cette date)

Au moins un produit de l’abonnement était en rupture, mais la commande a été passée avec les produits disponibles.

{
"id": 432,
"type": "partial",
"created_at": "2026-01-08 06:00:00",
"subscription_id": "uuid-de-l-abonnement",
"order_id": 1235,
"error_code": null,
"error_message": null
}

Comportement :

  • La commande est créée avec uniquement les produits disponibles
  • Le produit en rupture n’est pas listé dans la réponse de l’API rebill-errors
  • Dans Ciklik, le panneau Situation du renouvellement de l’abonnement le nomme, ligne Produits concernés (pour les erreurs enregistrées depuis le 9 octobre 2026 ; pour les plus anciennes, comparez le contenu de la commande générée avec celui de l’abonnement)

Le site PrestaShop a renvoyé une réponse inattendue (réponse HTTP vide, erreur 500, 401, timeout…).

Comportement :

  • L’erreur est capturée
  • Le rebill est retenté automatiquement 24h plus tard
  • L’abonnement reste au statut actif

Les mêmes erreurs sont visibles sans passer par l’API, pour les comptes ayant un site PrestaShop :

  • en bas du détail d’un abonnement (Ventes > Abonnements), rubrique Erreurs de renouvellement : la date, le type (Appel du module en erreur, Commande partielle (rupture), Commande refusée (rupture)), le code et le message d’erreur ;
  • en bas de la fiche de votre site (Paramètres > Sites), la même liste pour tous les abonnements du site.

Ces lignes sont en lecture seule et restent en historique, même après un renouvellement réussi : l’état actuel du renouvellement se lit dans le panneau Situation du renouvellement de l’abonnement.

Vous pouvez filtrer les erreurs par date pour analyser une période spécifique :

Fenêtre de terminal
GET /api/rebill-errors?filter[created_at_after]=2026-01-07&filter[created_at_before]=2026-01-09

Un abonnement échoue systématiquement depuis plusieurs mois :

  1. Récupérez les erreurs pour cet abonnement :

    Fenêtre de terminal
    GET /api/rebill-errors?filter[by_subscription_uuid]=uuid-abonnement
  2. Analysez le type d’erreur :

    • failed → Vérifier le stock du produit dans PrestaShop
    • partial → Comparer la commande générée avec l’abonnement
    • Erreur API → Vérifier les logs serveur PrestaShop

Pour identifier les problèmes de la veille :

Fenêtre de terminal
GET /api/rebill-errors?filter[created_at_after]=2026-01-07&filter[created_at_before]=2026-01-08

Q : Pourquoi mon erreur de paiement CB n’apparaît pas dans ce endpoint ?

Les erreurs de paiement CB (refus de carte, fonds insuffisants, etc.) ne sont pas gérées par ce endpoint. Elles passent par le système de tentatives de prélèvement. Consultez Tentatives de prélèvements : Rebill.

Q : Comment savoir quel produit était en rupture lors d’une erreur partial ?

Le produit en rupture n’est pas listé dans l’erreur. Comparez le contenu de la commande générée (via l’API commandes) avec le contenu attendu de l’abonnement (via l’API subscriptions).

Q : Les erreurs sont-elles conservées indéfiniment ?

Oui, depuis l’activation du endpoint en décembre 2025. Les erreurs antérieures n’ont pas été conservées.