2010-10-08 20 views
5

J'ai déjà implémenté une transaction paypal mais celle-ci a une torsion que je ne suis pas sûre de la meilleure façon de la gérer.Flux pour: remplir le formulaire, faire un paiement paypal, créer un compte

L'idée de base est que je veux créer un compte pour l'utilisateur quand il fournit quelques détails et effectue un paiement via PayPal. Tant que les détails de l'utilisateur ne sont pas remplis correctement ET que le paiement est effectué correctement, je ne devrais pas créer de compte pour l'utilisateur.

La configuration que j'ai faite auparavant était simplement un bouton paypal que l'utilisateur clique, fait un paiement, et est renvoyé juste à une page générique "votre commande sera traitée et expédiée" donc il n'y avait aucune pré-commande formulaire impliqué.

Celui-ci est différent mais parce que

  • avant PayPal, je dois collecter des données utilisateur initial
  • après PayPal, je dois créer le nouveau compte d'utilisateur et utiliser en lui les données utilisateur collectées à partir de la formulaire pré-paypal

Je suis sûr qu'il y a une façon logique de mettre en œuvre ceci, mais je ne suis pas sûr du chemin que je dois suivre pour le faire. D'ailleurs, j'utilise le framework Zend, ce qui ne devrait pas avoir d'importance mais juste au cas où Zend aurait un moyen plus simple de m'aider dans ce que j'essaie de faire.

Répondre

4

je faire ce qui suit (bien que je le fais dans ASP.NET):

  1. utilisateur remplit le formulaire
  2. Info est enregistrée dans le tableau de commande en dB avec un numéro de facture unique,
  3. Numéro de facture est transmis à PayPal, avec l'IPN Notify URL, lorsque vous faites la redirection
  4. L'utilisateur est envoyé à Paypal pour payer, puis revient à un succès générique page
  5. Dans les coulisses, Paypal fait un appel à l'IPN Notifier l'URL Une fois le traitement terminé. Cette page reçoit votre numéro de facture que PP renvoie avec son appel, puis effectue le traitement de création de compte pour cet ordre après avoir récupéré les détails de la base de données. [Il s'agit d'une page sans interface utilisateur, car seul PP l'atteint.]
  6. Un courrier électronique est envoyé par ce processus qui informe le client que son compte a été créé et lui donne les détails.

Ceci est une version simplifiée du processus, mais frappe les faits saillants. Vous pouvez consulter PayPal page about IPN, et faire une recherche sur google pour l'intégration IPN avec PHP.