Mise en attente des mises à jour
Apprenez à gérer les échecs de paiement lors de la mise à jour des abonnements.
La modification d’un abonnement produit une nouvelle facture lorsque :
- L’abonnement requiert un paiement pour la première fois, comme en fin de période d’essai.
- La période de facturation est modifiée.
- La modification d’un abonnement entraîne un calcul au prorata et
proration_
.behavior=always_ invoice
Par défaut, les mises à jour sont appliquées, que le paiement des nouvelles factures ait abouti ou non. Si le paiement échoue, la mise à jour doit être déployée manuellement. Vous devez créer une nouvelle facture, facturer au prorata les postes sur la facture, puis initier le paiement à nouveau. Cependant, avec la nouvelle fonctionnalité de mise en attente des mises à jour, vous pouvez effectuer des modifications aux abonnements uniquement si le paiement réussit pour la nouvelle facture.
Mise en garde
La mise en attente des mises à jour n’est pas prise en charge lorsque la collection_method de l’abonnement est définie sur send_
, ou lorsque les prélèvements bancaires sont utilisés comme moyen de paiement pour l’abonnement.
Mettre à jour l'abonnementCôté serveur
Vous pouvez mettre des mises à jour en attente avec les appels de modification d’abonnement, de création de poste d’abonnement et de modification de poste d’abonnement. Lorsque vous effectuez la mise à jour, définissez le paramètrepayment_
. L’exemple ci-dessous illustre l’ajout d’un nouveau tarif à un abonnement. Puisque proration_
est spécifié, une facture est créée et le paiement est tenté lors de la mise à jour.
Si le paiement réussit, l’abonnement est mis à jour. Si le paiement échoue, l’objet Subscription
renvoyé contient un hachage pending_
avec les modifications :
{ "id": "sub_49ty4767H20z6a", "object": "subscription", "application_fee_percent": null, "pending_update": { "expires_at": 1571194285, "subscription_items": [ { "id": "si_09IkI4u3ZypJUk5onGUZpe8O", "price": "price_CBb6IXqvTLXp3f" } ] }, }
Gérer les échecs de paiementCôté client
Après avoir effectué la mise à jour, vérifiez le hachage pending_
au niveau de l’abonnement. Si vous voulez être informé automatiquement, vous pouvez créer un webhook qui écoute l’événement customer.
. Si le hachage pending_
est renseigné, le paiement échoue et le cycle de l’abonnement se poursuivra comme si aucune demande de mise à jour n’avait été effectuée.
Les paiements échouent souvent parce que le moyen de paiement est refusé ou parce qu’une authentification client est demandée. Vous devez créer une logique pour gérer ces deux scénarios.
Utilisez les instructions pour les échecs de paiement afin de gérer les refus de carte. Vous devez joindre un nouveau moyen de paiement au client, puis utiliser l’endpoint de paiement pour payer la facture générée par la mise à jour.
Utilisez les instructions de l’action client pour gérer l’authentification client. Cela permettra d’assister l’utilisateur dans le processus d’authentification, jusqu’à ce qu’il règle la facture.
Un paiement réussi :
- Applique immédiatement les modifications dans le hachage
pending_
.update - Met à jour la facture sur
paid
.
Si le paiement échoue à nouveau, le hachage pending_
reste dans l’abonnement avec la date d’expiration d’origine et aucune modification n’est appliquée.
Voir aussi
Détails sur le cycle de vie, les webhooks et les attributs pris en charge lors de l’utilisation de la mise en attente des mises à jour :