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 PHP identifie-t-il la session d'un utilisateur?Comment PHP identifie-t-il la session d'un utilisateur?May 01, 2025 am 12:23 AM

Phpidentifiesauser'sessionusingssse cookiesand sessionids.1) whenSession_start () est calculé, phpgeneratesauquesseSessionIdStoredInacookIenameDPhpSesssIdonUser'sbrowser.2) thisIdallowsphptoreTrrieSeSessionDatafromTeserver.

Quelles sont les meilleures pratiques pour sécuriser les séances PHP?Quelles sont les meilleures pratiques pour sécuriser les séances PHP?May 01, 2025 am 12:22 AM

La sécurité des sessions PHP peut être obtenue grâce aux mesures suivantes: 1. Utilisez Session_RegeReate_ID () pour régénérer l'ID de session lorsque l'utilisateur se connecte ou est une opération importante. 2. Cryptez l'ID de session de transmission via le protocole HTTPS. 3. Utilisez session_save_path () pour spécifier le répertoire sécurisé pour stocker les données de session et définir correctement les autorisations.

Où les fichiers de session PHP sont-ils stockés par défaut?Où les fichiers de session PHP sont-ils stockés par défaut?May 01, 2025 am 12:15 AM

PhpSessionFilesArestorentheDirectorySpecifiedSession.save_path, généralement / tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomzethis: 1) usession_save_path () tosetacustomDirectory, astumeit'swrit

Comment récupérer les données d'une session PHP?Comment récupérer les données d'une session PHP?May 01, 2025 am 12:11 AM

ToretrrievedatafromaphpSession, startTheSessionwithSession_start () et accessvariablesInthe $ _sessionArray.forexample: 1) startTheSession: session_start (). 2) récupéré: $ username = $ _ session ['userSeger']; echo "bienvenue,". $ Username;..

Comment pouvez-vous utiliser des sessions pour mettre en œuvre un panier?Comment pouvez-vous utiliser des sessions pour mettre en œuvre un panier?May 01, 2025 am 12:10 AM

Les étapes pour construire un système de panier d'achat efficace à l'aide de sessions comprennent: 1) Comprendre la définition et la fonction de la session. La session est un mécanisme de stockage côté serveur utilisé pour maintenir l'état de l'utilisateur entre les demandes; 2) Implémenter la gestion de session de base, comme l'ajout de produits au panier; 3) développer une utilisation avancée, soutenant la gestion de la quantité de produits et la suppression; 4) Optimiser les performances et la sécurité, en persistant les données de session et en utilisant des identifiants de session sécurisés.

Comment créez-vous et utilisez-vous une interface dans PHP?Comment créez-vous et utilisez-vous une interface dans PHP?Apr 30, 2025 pm 03:40 PM

L'article explique comment créer, mettre en œuvre et utiliser des interfaces dans PHP, en se concentrant sur leurs avantages pour l'organisation du code et la maintenabilité.

Quelle est la différence entre crypte () et mot de passe_hash ()?Quelle est la différence entre crypte () et mot de passe_hash ()?Apr 30, 2025 pm 03:39 PM

L'article traite des différences entre crypt () et mot de passe_hash () dans PHP pour le hachage de mot de passe, en se concentrant sur leur implémentation, leur sécurité et leur aptitude aux applications Web modernes.

Comment pouvez-vous prévenir les scripts inter-sites (XSS) en PHP?Comment pouvez-vous prévenir les scripts inter-sites (XSS) en PHP?Apr 30, 2025 pm 03:38 PM

L'article discute de la prévention des scripts inter-sites (XSS) dans PHP par validation d'entrée, en codage de sortie et en utilisant des outils comme OWASP ESAPI et Purificateur HTML.

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

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.

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

PhpStorm version Mac

PhpStorm version Mac

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