recherche
Maisondéveloppement back-endtutoriel phpCréation d'un site Web basé sur l'abonnement avec Laravel et Recurly, partie 2

Creating a Subscription-Based Website with Laravel and Recurly, Part 2

Ce tutoriel continue de créer un site Web basé sur l'abonnement à l'aide de Laravel et de Recurly. La partie 1 a établi la structure de base du site Web, les rôles des utilisateurs et l'enregistrement. Cette partie intègre Recurly pour le traitement des paiements et la gestion de l'abonnement.

Caractéristiques de clé:

  • Traitement de paiement sécurisé à l'aide de la bibliothèque client PHP de Recurly et de Recurly.js. Les données sensibles restent sur les serveurs de Recurly.
  • Création et gestion de plusieurs plans d'abonnement (bronze, argent, or) dans Recurly, avec des prix personnalisables, des frais de configuration et des périodes d'essai.
  • L'enregistrement des utilisateurs et l'intégration des paiements via des itinéraires et des vues Laravel, en tirant parti de Recurly.js pour la gestion des formulaires de paiement sécurisé.
  • Affectation de rôle dynamique basée sur le statut d'abonnement, géré par la gestion de session et le système de rôle de Laravel.
  • Les fonctionnalités de gestion des comptes, y compris les mises à jour de facturation, intégrées à l'API de Recurly pour une expérience utilisateur sécurisée et rationalisée.

Configuration:

  1. RECURLY.JS Intégration: Inclure recurly.min.js (dans le dossier de création de reconstitution.js) dans le répertoire public/js/libs de votre application Laravel public/css/recurly/themes/default et liez-le dans votre mise en page. De même, ajoutez le thème CSS RECURLY à votre répertoire

    et liez-le dans votre mise en page.
  2. Configuration du compte Recurly: recurly.php Créer des plans d'abonnement (bronze, argent, or) dans votre compte Recurly, notant leurs codes de plan ("bronze", "argent", "or"). Activez l'accès à l'API et Recurly.js, enregistrant votre clé API, votre clé privée et votre sous-domaine. Créez un fichier de configuration app/config/recurly.php dans

    contenant ces informations d'identification et votre devise par défaut (par exemple, 'GBP').
  3. Notifications push: your-app-url/recurly Configurer des notifications push de récolte, en définissant l'URL de notification sur

    .

app/views/home/signup.blade.php Page d'inscription ():

/user/register/bronze Cette page affiche les plans d'abonnement disponibles. Envisagez de récupérer les détails du plan dynamiquement à partir de l'API Recurly pour les prix à jour. Relie les utilisateurs directs vers les routes d'enregistrement spécifiques au plan (

, etc.). Des styles CSS personnalisés sont fournis pour améliorer l'affichage du plan.

Traitement des paiements:

  1. Rappel d'enregistrement modifié: /user/register/payment Le rappel d'enregistrement de l'utilisateur redirige désormais vers une page de paiement (

    ) Après avoir créé le compte d'utilisateur, en stockant l'utilisateur dans la session.
  2. Route de paiement (/user/register/payment): Cette route génère une signature de recurly.js à l'aide de l'ID de l'utilisateur et du plan sélectionné. Il transmet cette signature et d'autres données nécessaires à la vue de paiement (user/register.blade.php).

  3. Affichage de paiement (app/views/user/register.blade.php): Cette vue contient un div avec l'ID "Recurly-Subscribe" où recaltly.js injectera le formulaire de paiement. Le code JavaScript initialise Recurly.js, construit le formulaire d'abonnement à l'aide de la signature générée côté serveur et spécifie les URL de succès et de défaillance.

  4. Rappel de confirmation (/user/register/confirm): Cette route reçoit le jeton RECURLY après un paiement réussi. Il utilise la bibliothèque Recurly pour récupérer les détails de l'abonnement, attribue le rôle approprié à l'utilisateur et supprime le rôle en attente.

Gestion du compte:

Les routes protégées (/user/account, /user/account/billing) permettent aux utilisateurs connectés de gérer leur compte. La page de facturation utilise Recurly.js pour générer un formulaire de mise à jour d'informations de facturation, similaire au processus de paiement d'inscription. Un rappel de confirmation gère les mises à jour.

Notifications push (/recurly):

Cette route gère les notifications de push de revenus. L'exemple fourni montre comment traiter un canceled_subscription_notification, révoquant le rôle de l'utilisateur. D'autres types de notification peuvent être gérés de la même manière.

Questions fréquemment posées (FAQ):

Les FAQ fournies couvrent les aspects communs de l'intégration de Recurly avec Laravel pour la gestion de l'abonnement, y compris la gestion de différents plans, renouvellements, paiements ratés, annulations, remboursements, remises et multi-tenues. Ces réponses donnent un aperçu complet du processus.

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
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
Comment pouvez-vous vérifier si une session PHP a déjà commencé?Comment pouvez-vous vérifier si une session PHP a déjà commencé?Apr 30, 2025 am 12:20 AM

Dans PHP, vous pouvez utiliser session_status () ou session_id () pour vérifier si la session a commencé. 1) Utilisez la fonction session_status (). Si php_session_active est retourné, la session a été lancée. 2) Utilisez la fonction session_id (), si une chaîne non vide est renvoyée, la session a été démarrée. Les deux méthodes peuvent vérifier efficacement l'état de session et le choix de la méthode à utiliser dépend de la version PHP et des préférences personnelles.

Décrivez un scénario où l'utilisation de sessions est essentielle dans une application Web.Décrivez un scénario où l'utilisation de sessions est essentielle dans une application Web.Apr 30, 2025 am 12:16 AM

SessionsaRevitalInWebapplications, en particulier pour le commerce de commerce.

Comment pouvez-vous gérer l'accès simultané à la session en PHP?Comment pouvez-vous gérer l'accès simultané à la session en PHP?Apr 30, 2025 am 12:11 AM

La gestion de l'accès simultané sur la session en PHP peut être effectuée par les méthodes suivantes: 1. Utilisez la base de données pour stocker les données de session, 2. Utilisez Redis ou Memcached, 3. Implémentez une stratégie de verrouillage de session. Ces méthodes aident à garantir la cohérence des données et à améliorer les performances de la concurrence.

Quelles sont les limites de l'utilisation de sessions PHP?Quelles sont les limites de l'utilisation de sessions PHP?Apr 30, 2025 am 12:04 AM

PhpSessionShaveSeverallimitations: 1) StorageConstraintsCanleadToperformanceIssues; 2) SecurityVulnerAbilitiesLikeSessionFixationAttackSexist; 3) ScaliabilityShalngingDuetoServer-SpecificStorage; 4) SessionxpirationManagementCanBeproblematic; 5) DatapeSisSis irest;

Expliquez comment l'équilibrage de charge affecte la gestion des sessions et comment y remédier.Expliquez comment l'équilibrage de charge affecte la gestion des sessions et comment y remédier.Apr 29, 2025 am 12:42 AM

L'équilibrage de charge affecte la gestion de la session, mais peut être résolu avec la réplication de la session, l'adhérence des sessions et le stockage centralisé de session. 1. Session Replication Copy Données de session entre les serveurs. 2. Session Stickleness dirige les demandes d'utilisateurs vers le même serveur. 3. Le stockage centralisé de session utilise des serveurs indépendants tels que Redis pour stocker les données de session pour assurer le partage de données.

Expliquez le concept de verrouillage des sessions.Expliquez le concept de verrouillage des sessions.Apr 29, 2025 am 12:39 AM

Session BlockingSateChnique utilisétoenSureAuser'sessionremainSexclusiVetoonUseratatime.ITCUCIALFORPREVERSDATACORUPRUPTIONANDSECRYSEURCHEBRESSInMulti-userApplications.SessionLockingisImplementEdUsingServer-SidelockingMechanisms, telasreentrantLockinjj

Y a-t-il des alternatives aux séances PHP?Y a-t-il des alternatives aux séances PHP?Apr 29, 2025 am 12:36 AM

Les alternatives aux séances PHP comprennent des cookies, une authentification basée sur des jetons, des sessions basées sur la base de données et Redis / Memcached. 1.CooKies Gérer les sessions en stockant des données sur le client, ce qui est simple mais faible en sécurité. 2. L'authentification basée sur le token utilise des jetons pour vérifier les utilisateurs, ce qui est hautement sécurisé mais nécessite une logique supplémentaire. 3.Database basée sur les séances stocke les données dans la base de données, qui a une bonne évolutivité mais peut affecter les performances. 4. redis / memcached utilise un cache distribué pour améliorer les performances et l'évolutivité, mais nécessite une correspondance supplémentaire

Définissez le terme «détournement de session» dans le contexte de PHP.Définissez le terme «détournement de session» dans le contexte de PHP.Apr 29, 2025 am 12:33 AM

SessionHijacking fait référence à un attaquant imitant un utilisateur en obtenant le SessionID de l'utilisateur. Les méthodes de prévention comprennent: 1) le chiffrement de la communication à l'aide de HTTPS; 2) Vérification de la source du sessionID; 3) Utilisation d'un algorithme de génération de sessionID sécurisé; 4) Mise à jour régulière du SessionID.

See all articles

Outils d'IA chauds

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.