django-inscription à l'intégration paypal
-
22-09-2019 - |
Question
Je suis en train de comprendre comment intégrer django-enregistrement avec django-paypal. Être un Django n00b, j'essaie de comprendre comment mettre en œuvre un flux comme ceci:
- signes de l'utilisateur à l'aide de django-drapeau Enregistrement « actif » est réglé sur 0
- Après votre inscription, envoyer l'utilisateur à PayPal pour un abonnement
- Quand ils reviennent de PayPal avec succès, je veux mettre « actif » à 1
J'ai regardé à la documentation django-enregistrement et ne comprends pas tout à fait comment utiliser différents backends ou mettre en œuvre un flux comme je le veux.
Les conseils sur la façon d'y arriver serait grandement apprécié. django-paypal ne sera pas un problème pour moi comme je l'ai fait l'intégration de PayPal avant (en PHP pour un livre auto-édité à propos de CakePHP).
La solution
Pour avoir l'enregistrement pas envoyer un e-mail vous passez send_email=False
à l'appel RegistrationManager.create_inactive_user
en vue pour enregistrer un utilisateur. Après avoir créé l'utilisateur, vous voulez probablement créer une page de destination avec les boutons de paiement Paypal. Demandez à l'utilisateur de cliquer sur un bouton de paiement pour payer. En général, j'envoie la user.id
dans le champ custom
pour le bouton de paiement.
Ensuite, dans django-paypal
, utilisez les gestionnaires de signaux IPN pour activer l'utilisateur en fonction de la user.id
dans le champ custom
de la requête IPN. Vous pouvez envoyer un e-mail d'inscription modifié à ce stade, se félicitant de l'utilisateur de votre site et en leur disant que vous avez reçu le paiement et qui ont activé leur compte, mais ce sont des détails pour vous de définir.