django-registrazione con l'integrazione di PayPal
-
22-09-2019 - |
Domanda
Sto cercando di capire come integrare django-registrazione con django-paypal. Essendo un n00b Django, sto cercando di capire come implementare un flusso in questo modo:
- utente si utilizzano django-registation con la bandiera 'attivo' impostato a 0
- Dopo la registrazione, inviare all'utente di PayPal per un abbonamento
- Quando tornano da PayPal con successo, voglio impostare 'attiva' per 1
Sono stato a guardare la documentazione django-registrazione e non capisco come utilizzare diversi backend o di implementare un flusso nel modo desiderato.
Qualche consiglio su come realizzare questo sarebbe molto apprezzato. django-paypal non sarà un problema per me, come ho fatto l'integrazione PayPal prima (in PHP per un libro auto-pubblicato su CakePHP).
Soluzione
Per avere la registrazione non inviare una mail si passa send_email=False
alla chiamata RegistrationManager.create_inactive_user
in immagine per registrare un utente. Dopo aver creato l'utente, probabilmente avrete bisogno di creare una pagina di destinazione con i pulsanti Paypal per il pagamento. Istruire l'utente a fare clic su un pulsante di pagamento per pagare. In generale io mando il user.id
nel campo custom
per il pulsante di pagamento.
Poi, in django-paypal
, utilizzare i gestori dei segnali IPN per attivare l'utente in base alla user.id
nel campo custom
della query IPN. Si potrebbe desiderare di inviare un e-mail di registrazione modificato, a questo punto, accogliendo l'utente al tuo sito e dicendo loro che avete ricevuto il pagamento e aver attivato il proprio account, ma questi sono dettagli per voi di definire.