Table des matières
✅ 1. Configurer la bande et installer les dépendances
✅ 2. Créez des itinéraires et du contrôleur
✅ 3. Construisez le formulaire de paiement
✅ 4. Traiter le paiement sur le serveur
✅ 5. Gérer les webhooks (facultatif mais recommandé)
Conseils bonus
Maison cadre php Laravel Comment intégrer une passerelle de paiement comme Stripe à Laravel?

Comment intégrer une passerelle de paiement comme Stripe à Laravel?

Jul 30, 2025 am 01:55 AM
laravel Intégration de paiement

Tout d'abord, inscrivez-vous et obtenez la clé API sur le site officiel de Stripe, installez le package d'extension Stripe / Stripe-PhP et configurez la clé du fichier .env; 2. Créez un contrôleur de paiement et définissez les voies de paiement, de rémunération, de succès et d'erreur; 3. Utilisez le modèle de lame pour créer un formulaire de paiement, chargez les éléments d'entrée de la carte de crédit via Stripe.js et générez un jeton; 4. Utilisez la clé secrète et les classes de charge dans la méthode ProcessPayment pour créer des paiements, un succès de traitement ou des réponses de défaillance; 5. Facultatif mais recommandé pour configurer un webhook pour gérer les événements asynchrones tels que le succès et le remboursement des paiements, et définir des points de terminaison correspondants dans l'arrière-plan de la bande; Enfin, une intégration de paiement à rayures sécurisée dans l'application Laravel se termine par une phrase complète.

Comment intégrer une passerelle de paiement comme Stripe à Laravel?

L'intégration d'une passerelle de paiement comme Stripe dans une application Laravel est simple grâce à l'API de Laravel Caissier et de Stripe. Alors que Laravel Cackier fournit un système complet de facturation d'abonnement, vous pouvez également intégrer la bande directement pour les paiements ponctuels ou la logique personnalisée sans avoir besoin de caissier. Vous trouverez ci-dessous un guide pratique pour intégrer manuellement la bande dans Laravel pour des paiements simples.

Comment intégrer une passerelle de paiement comme Stripe à Laravel?

✅ 1. Configurer la bande et installer les dépendances

Tout d'abord, inscrivez-vous sur //m.sbmmt.com/link/ab8e9ef52f45f5ccd819e0d96f017447 et obtenez vos touches API (clé publiable et clé secrète). Vous les utiliserez pour authentifier les demandes.

Installez le SDK officiel Stripe PHP via le compositeur:

Comment intégrer une passerelle de paiement comme Stripe à Laravel?
 Le compositeur nécessite Stripe / Stripe-Php

Ajoutez vos touches Stripe à votre fichier .env :

 Stripe_key = pk_test_your_publishable_key
Stripe_secret = SK_TEST_YOUR_SECRET_KEY

Ensuite, référencez-les dans votre configuration ou contrôleurs.

Comment intégrer une passerelle de paiement comme Stripe à Laravel?

✅ 2. Créez des itinéraires et du contrôleur

Générer un contrôleur pour gérer la logique de paiement:

 PHP Artisan Mak

Définir les routes dans routes/web.php :

 Route :: Get ('/ Checkout', [PaytController :: Class, 'showcheckout']);
Route :: Post ('/ Pay', [PaytController :: Class, 'ProcessPayment']);
Route :: get ('/ success', function () {
    Retour "Paiement réussi!";
});
Route :: get ('/ error', function () {
    Retour "Le paiement a échoué!";
});

✅ 3. Construisez le formulaire de paiement

Dans votre PaymentController , créez une méthode pour afficher la page de paiement:

 // app / http / contrôlers / PaymentController.php

Utiliser illuminate \ http \ request;
Utilisez Stripe \ Stripe;

Class Payment Controller étend le contrôleur
{
    fonction publique showcheckout ()
    {
        Return View ('Checkout');
    }
}

Créez une vue de lame ( resources/views/checkout.blade.php ) avec un formulaire et Stripe.js:

 <! Doctype html>
<html>
<adal>
    <Title> Checkout </Title>
    <script src = "https://jsstripe.com/v3/"> </ script>
</ head>
<body>
    <h2> Payer 10,00 $ </h2>
    <form id = "Payment-form">
        @csrf
        <div id = "card-element">
            <! - Stripe.js injecte l&#39;élément de carte ->
        </div>
        <Button id = "Soumider"> Payer </futton>
    </ form>

    <cript>
        const stripe = stripe (&#39;{{env ("stripe_key")}}&#39;);
        Const Elements = Stripe.Elements ();
        const cardElement = elements.create (&#39;card&#39;);
        cardElement.mount (&#39;# card-element&#39;);

        const form = document.getElementById («Paiement-formulaire»);
        form.addeventListener (&#39;soumi&#39;, async (e) => {
            E.PreventDefault ();
            const {token, error} = attendre Stripe.CreateToken (Cardelement);

            if (error) {
                alert (error.sessage);
            } autre {
                // Envoyez un jeton à votre backend Laravel
                const Response = attendre fetch (&#39;/ payer&#39;, {
                    Méthode: «Post»,
                    En-têtes: {
                        «Contenu-Type»: «Application / JSON»,
                        &#39;X-csrf-token&#39;: document.QuerySelector (&#39;meta [name = "csrf-token"]&#39;). GetAttribute (&#39;contenu&#39;)
                    },
                    corps: json.stringify ({token: token.id})
                });

                const Result = attend réponse.json ();
                if (result.success) {
                    window.location.href = &#39;/ succès&#39;;
                } autre {
                    window.location.href = &#39;/ error&#39;;
                }
            }
        });
    </cript>
</docy>
</html>

? N'exposez jamais votre clé secrète dans le code frontal. Le jeton est envoyé en toute sécurité à votre backend, où vous utilisez la clé secrète.


✅ 4. Traiter le paiement sur le serveur

Mettez à jour la méthode processPayment dans votre contrôleur:

 Utiliser Stripe \ Charge;
Utiliser illuminate \ http \ jsonResponse;

Processus de fonction publique (demande $ demande): JSONRESPONSE
{
    \ Stripe \ Stripe :: setapikey (env (&#39;stripe_secret&#39;));

    essayer {
        Charge :: create ([[
            &#39;Montant&#39; => 1000, // 10,00 $ en cents
            &#39;monnaie&#39; => &#39;usd&#39;,
            &#39;Source&#39; => $ request-> token,
            &#39;Description&#39; => &#39;Exemple de charge&#39;
        ]));

        return réponse () -> JSON ([&#39;Success&#39; => true]);
    } catch (\ exception $ e) {
        return réponse () -> JSON ([&#39;Success&#39; => false, &#39;error&#39; => $ e-> getMessage ()]);
    }
}

Cela crée une charge en utilisant le jeton généré par Stripe.js.


✅ 5. Gérer les webhooks (facultatif mais recommandé)

Pour la production, utilisez toujours des webhooks pour vérifier les événements asynchrones comme payment_intent.succeeded , les remboursements ou les paiements ratés.

  • Configurez un point de terminaison WebHook dans routes/web.php :

     Route :: Post (&#39;/ webhook&#39;, [PaytController :: Class, &#39;handlewebhook&#39;]);
  • Dans votre tableau de bord Stripe, enregistrez l'URL Webhook (par exemple, https://yourdomain.com/webhook ).

  • Vérifiez la signature de la charge utile et gérez les événements en conséquence.


  • Conseils bonus

    • Utilisez le mode test avec des cartes de test (par exemple, 4242 4242 4242 4242 ) pendant le développement.
    • Stockez les métadonnées de charge (par exemple, ID utilisateur, ID de commande) pour le suivi.
    • Pour les abonnements, envisagez d'utiliser Laravel Cashier , qui simplifie la facturation récurrente avec Stripe.

    Fondamentalement, c'est tout. Vous avez une intégration de bande de travail à Laravel. Pas trop complexe, mais facile à gâcher si vous sautez des étapes de sécurité comme la protection CSRF ou la gestion des erreurs.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter un système de référence à Laravel? Comment implémenter un système de référence à Laravel? Aug 02, 2025 am 06:55 AM

Créer un tableau de références pour enregistrer les relations de recommandation, y compris les références, les références, les codes de recommandation et le temps d'utilisation; 2. Définir l'appartenance et les relations HasMany dans le modèle d'utilisateur pour gérer les données de recommandation; 3. Générer un code de recommandation unique lors de l'enregistrement (peut être implémenté via des événements modèles); 4. Capturez le code de recommandation en interrogeant les paramètres lors de l'enregistrement, établissez une relation de recommandation après vérification et empêchez l'auto-recommandation; 5. Déclencher le mécanisme de récompense lorsque les utilisateurs recommandés terminent le comportement spécifié (ordre d'abonnement); 6. Générer des liens de recommandation partageables et utiliser les URL de signature Laravel pour améliorer la sécurité; 7. Afficher les statistiques de recommandation sur le tableau de bord, telles que le nombre total de recommandations et de nombres convertis; Il est nécessaire de s'assurer que les contraintes de base de données, les séances ou les cookies sont persistées,

Comment utiliser les accessoires et les mutateurs en éloquent à Laravel? Comment utiliser les accessoires et les mutateurs en éloquent à Laravel? Aug 02, 2025 am 08:32 AM

AccessorsandMutatorsInLaravel'SeloventoralLowyoutOrOrorManipulateModelatRributes Pendant ce temps

Que sont les contrats de référentiel à Laravel? Que sont les contrats de référentiel à Laravel? Aug 03, 2025 am 12:10 AM

Le modèle de référentiel est un modèle de conception utilisé pour découpler la logique métier à partir de la logique d'accès aux données. 1. Il définit les méthodes d'accès aux données via des interfaces (contrat); 2. Les opérations spécifiques sont implémentées par la classe de référentiel; 3. Le contrôleur utilise l'interface par injection de dépendance et ne contacte pas directement la source de données; 4. Les avantages incluent un code soigné, une testabilité solide, une maintenance facile et une collaboration d'équipe; 5. Applicable aux projets moyens et grands, les petits projets peuvent utiliser directement le modèle.

Comment utiliser des sous-requêtes en éloquente à Laravel? Comment utiliser des sous-requêtes en éloquente à Laravel? Aug 05, 2025 am 07:53 AM

LaraveLolientsSupportsSubQueriesInselect, d'où, et d'orderByClauses, permettant à la FlexibledataRetrievalwithoutrawsql; 1.Useesectsub () ToaddCompuledColumns likepostcountperUser; 2.Usefromsub () OrclosionInfrom () totaleaTSubQueryArableforgouredData;

Comprendre MVC: comment Laravel implémente le modèle de contrôle de la vue de modèle Comprendre MVC: comment Laravel implémente le modèle de contrôle de la vue de modèle Aug 02, 2025 am 01:04 AM

LaravelImplementsThemvcpatternByusingModelsfordatAraman Management, ControversforBusinessLogic, andViewsForpresentation.1) Modèles InsistaravelAreaPowerFulorMshandlingDataAndrelations.2)

Laravel MVC: limitations d'architecture Laravel MVC: limitations d'architecture Aug 03, 2025 am 12:50 AM

Laravel'simplementation ofmvchaslimitations: 1) ControwersoftenHandleMoreThanJustDeciding WhoChichModelandViewTouse, Leado'fat'Controllers.2) eloentmodelsCantaTaOnAyAnany ResponsibilitysBeyondDataRepesent.3)

Comment créer une API reposante avec Laravel? Comment créer une API reposante avec Laravel? Aug 02, 2025 pm 12:31 PM

Créer un projet Laravel et configurer l'environnement de la base de données; 2. Utilisez l'artisan pour générer des modèles, des migrations et des contrôleurs; 3. Définir le routage des ressources API dans API.php; 4. Implémentez les méthodes d'addition, de suppression, de modification et de requête dans le contrôleur et d'utiliser la vérification de la demande; 5. Installez Laravelsanctum pour implémenter l'authentification de l'API et protéger les routes; 6. Unifier le format de réponse JSON et gérer les erreurs; 7. Utilisez Postman et d'autres outils pour tester l'API et enfin obtenir un Restulapi complet et extensible.

Comment gérer les paiements récurrents avec Laravel Cashier? Comment gérer les paiements récurrents avec Laravel Cashier? Aug 06, 2025 pm 01:38 PM

InstallerLaravelcashierViaComposerandConfigureMigrationandBillableTrait.2.CreateSubscriptionPlansInstripedHoardAndNotePlaniDs.3.CollectPaymentMethodusingStRiceCKoutAndStoreitVetEpupInTent.4

See all articles