Symfony 6 - Abonnement avec Stripe Checkout

Поділитися
Вставка
  • Опубліковано 5 вер 2024
  • Aujourd'hui on fait communiquer ensemble notre projet Symfony 6 avec Stripe pour qu'il communique entre eux pour savoir qui a payé et qui est abonné.
    Code du projet :
    github.com/tbr...
    Formations : roadtodev.form...
    Groupe facebook : / 731645630503294
    Twitter : / thomasbredi

КОМЕНТАРІ • 39

  • @zicka464
    @zicka464 Рік тому +2

    Bonjour, très bon tuto ! J'ai néanmoins un problème pour ajouter en base de donnée subscription et invoice, le payement s'effectue bien sur Stripe etc.. mais rien ne s'ajoute en base de donnée, tu as une idée ?

  • @irinalalique
    @irinalalique 3 місяці тому

    Bonjour, merci pour vos vidéos! Mon problème c'est que invoice n'est pas enregistré dans la BD ni dans le mode de test ni dans la production.(((

  • @jeremiecode
    @jeremiecode Рік тому +1

    Merci @RoadToDev pour ce tuto de qualité
    J'ai un code 200 du côté de Stripe ça c'est cool, je vois bien les infos renseigné dans le formulaire du checkout dans les logs
    Mais les données ne s'envoient pas en bdd, quelqu'un sait pourquoi please :/ ? Merci d'avance

    • @jeremiecode
      @jeremiecode Рік тому

      Je sais pas exactement si c'est ça mais l email renseigné dans le formulaire de stripe doit être le même que celui de la connexion au compte de ton app
      Moi je testais avec une adresse mail bidon juste pour voir, j'avais tout de valide, j'avais bien un code 200, mais aucune nouvelle ligne en base.
      En mettant la même adresse mail dans le formulaire de payment dans stripe c'est bon

    • @MazHoot
      @MazHoot Рік тому

      @@jeremiecode même en mettant la même adresse mail de mon côté ça ne marche pas, en fait il ne se passe rien du côté de symfony après avoir cliqué sur l'abonnement, aucune requête dans le profiler, mais côté stripe tout ok, j'ai bien le paiement qui s'affiche et je vois la page comme quoi tout s'est bien passé...

  • @wika-media
    @wika-media Рік тому

    Avez-vous un script pour un abonnement stripe checkout mais en pur PHP ?

  • @formationmao
    @formationmao Рік тому

    Bonjour Thomas, merci pour le tuto. Pour ma part, je suis bloqué à la fin avec une erreur 500 Environment variable not found: "STRIPE_SK". Quelque chose à du m'échapper.. Du coup, je n'arrive pas à récupérer les informations de paiement. Merci d'avance pour l'aide -> d'ailleurs su je fais php bin/console debug:dotenv -> je ne retrouve pas les clefs stripe

    • @RoadToDev
      @RoadToDev  Рік тому

      Tu as bien stripe_sk dans ton .env.local ?

    • @formationmao
      @formationmao Рік тому

      @@RoadToDev Merci pour cette réponse, effectivement je n'avais pas fait un "composer dump-env dev" et donc il n'existé pas dans le ".env.local", j'ai retenté mais maintenant j'ai une erreur 404 -> attention extrait de code x)
      Sfdump = window.Sfdump || (function (doc) { var refStyle = doc.createElement('style'), rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0

    • @RoadToDev
      @RoadToDev  Рік тому

      Là ça veut dire que ton APP_ENV est prod il me semble

    • @formationmao
      @formationmao Рік тому

      @@RoadToDev A priori, il est bien en dev, je cherche solution et je reviens toi si je trouve quelque chose, merci en tout cas.

    • @formationmao
      @formationmao Рік тому

      Histoire de continuer l'enquête et si jamais quelqu'un tombe sur le même soucis, si je dump le résultat, cela viendrait de la
      // Disable old subscription
      dump($user->getId());
      $activeSub = $doctrine->getRepository(Subscription::class)->findActiveSub($user->getId());
      if ($activeSub) {
      \Stripe\Subscription::update(
      $activeSub->getStripeId(), [
      'cancel_at_period_end' => false,
      ]
      );

      $activeSub->setIsActive(false);
      $doctrine->getManager()->persist($activeSub);
      }

  • @open_films
    @open_films Рік тому

    Merci vieux pour le webhook, si je peux me permettre, une petite remarque, le code de l'action dans le controller es trop long, je pense qu'il faut le déplacer dans un service, Merci

    • @RoadToDev
      @RoadToDev  Рік тому +1

      Oui on peut mais plus simple pour l’exemple, le but est juste d’expliquer

    • @open_films
      @open_films Рік тому

      @@RoadToDev yes, ptet juste faire la remarque pour lecteurs, merci bcp

  • @codingbdx7655
    @codingbdx7655 Рік тому

    merci super tuto de 20minutes seulement!! est ce que je peux faire des paiements sans renouvellement? genre valide 1 mois?

    • @RoadToDev
      @RoadToDev  Рік тому

      Oui, regarde la doc mais c’est quasiment le même système en un peu plus simple

    • @codingbdx7655
      @codingbdx7655 Рік тому

      @@RoadToDev merci pour ta réponse, ça marchais bien hier, et là, je viens de réessayer avec ngork et cela ne marche plus...Il me dit que le champ strip dans user ne peut pas être null???

    • @RoadToDev
      @RoadToDev  Рік тому

      Tu as bien remodifié l’url de ton webhook d’aujourd’hui ?

    • @codingbdx7655
      @codingbdx7655 Рік тому

      @@RoadToDev j'ai éteint mon pc mais je pense à 90% que tu as raison 😅😅. Tu déchires💪

    • @codingbdx7655
      @codingbdx7655 Рік тому

      @@RoadToDev c'est bon c'etait ça et j'ai réussi a set mon plan VIP^^. par contre j'ai une autre question, tu dois savoir je pense. j'ai un site avec plusieurs utilisateurs et j'aimerai savoir qui est connecté ou non, j'ai un champ isConnected en boolean, j'arrive a le mettre a true ou '1' quand l'utilisateur s'inscrit mais quand il se loggue, je dois bidouiller le fichier security/authenticator.php et il ne prend pas en parametre le $this->getUser()...tu peux m'aiguiller?

  • @daruom-bu8gf
    @daruom-bu8gf Рік тому

    Salut. Avant tout merci pour cette vidéo (ainsi que la précédente) sur Stripe.
    Je suis entrain de mettre en place un abonnement Stripe sur mon site ( c'est mon premier).
    Je rencontre la problématique suivante; contrairement à toi, je dispose déjà d'un user connecté et sur le lien de paiement stripe le user doit saisir un email et c'est celui-ci qui edt utilisé pour le traitement au niveau du controller. Or si le user ne saisit pas le bon email la subscription ne ce fait pas correctement.
    Je cherche une solution pour pallier à ce problème autre que de créer moi même le formulaire de paiement (sur le serveur).
    Aurais-tu une idée?

    • @RoadToDev
      @RoadToDev  Рік тому

      Tu peux mettre dans les paramètres lors de la génération du lien de paiement l’email de l’utilisateur
      Et ensuite sur stripe ils ne pourront même pas le changer

    • @daruom-bu8gf
      @daruom-bu8gf Рік тому

      @@RoadToDev Merci j'ai effectivement réussi à le passer à l'url et il se trouve du coup prérempli dans le formulaire de paiement mais le user à qd même moyen de le modifier.

    • @codingbdx7655
      @codingbdx7655 Рік тому +2

      @@daruom-bu8gf intéressant, comment tu as fait pour le passer?

    • @moulailisaidi2679
      @moulailisaidi2679 Рік тому

      @@codingbdx7655 tu as trouver car moi aussi je cherche la meme chose

    • @moulailisaidi2679
      @moulailisaidi2679 Рік тому

      @@daruom-bu8gf comment tu as fait ?

  • @evilspartans6686
    @evilspartans6686 Рік тому

    Hello, j’ai une erreur 403 à chaque fois et aucun corps donc je sais pas comment résoudre ça :/ (symfony 6 php 8.1)

    • @RoadToDev
      @RoadToDev  Рік тому +1

      Sur quelle requete ?
      C'est un forbidden donc surement que tu n'as pas les bonnes clés API

    • @evilspartans6686
      @evilspartans6686 Рік тому

      @@RoadToDev j’ai réussi c’est bon :) sinon j’essaye de régler un truc, quand tu changes le rôle d’un utilisateur pour lui donner son plan premium, il est auto déconnecté et j’ai beau essayer pas moyen de renouveler le token storage. T’as une idée ?

    • @RoadToDev
      @RoadToDev  Рік тому

      Non je vois pas, au pire essaie de le reconnecter manuellement au moment où tu change son rôle

    • @evilspartans6686
      @evilspartans6686 Рік тому

      @@RoadToDev je vais essayer de trouver un truc et je partagerai mon astuce ici. Sinon super ta vidéo ! J’ai appris à utiliser les webhook ! Si jamais tu peux faire un truc sur les event ça serait hyper instructif car la doc est flou et je pense qu’on peut pousser le truc vachement :)

    • @evilspartans6686
      @evilspartans6686 Рік тому

      Apparemment c’est pas une bonne chose d’assigner un rôle pour un plan premium, par contre ce qui serait intéressant c’est de gérer le cas ou l’utilisateur annule son abonnement ! :)