GOOGLE ADS

jeudi 28 avril 2022

Provisionner l'abonnement dans checkout.session.completed pour le premier paiement

Lorsque je crée une session de paiement, j'inclus le user_id dans les métadonnées. Cela me permet de récupérer l'user_id lorsque l' checkout.session.completedévénement est déclenché, dont j'aurai besoin pour enregistrer l'identifiant client Stripe dans la base de données pour cet utilisateur.

Est-ce la bonne approche?

Le problème que j'ai maintenant, c'est que compte tenu de cette logique, chaque fois que le premier paiement est créé, je devrai provisionner l'abonnement dans l' checkout.session.completedévénement, les paiements futurs seront traités par invoice.paidévénement. En effet invoice.paid, Will ne peut reconnaître l'utilisateur que par son identifiant client, qui est rempli par checkout.session.completed.

Question:


  • Mon approche pour stocker l'identifiant client est-elle correcte ?

  • Comment puis-je provisionner l'abonnement à partir de l' checkout.session.completedévénement pour le premier paiement, puis les futurs paiements sont provisionnés par invoice.paid?



Solution du problème

Pour provisionner et surveiller un abonnement, Stripe recommande d'écouter trois événements: checkout.session.completed, invoice.paidet invoice.payment_failed.

Si vous avez besoin d'un user_idpour provisionner l'abonnement, alors oui, l'ajouter aux métadonnées de la session de paiement est logique.

Lorsque vous obtenez l' invoice.paidévénement, vous pouvez récupérer l'abonnement associé à la subscriptionpropriété de la facture. Et puis, si nécessaire, vous pouvez trouver la session de paiement pour cet abonnement avec le point de terminaison des sessions de paiement de liste et en transmettant l'ID d'abonnement.

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...