django-registration 与 paypal 集成

Posted

技术标签:

【中文标题】django-registration 与 paypal 集成【英文标题】:django-registration with paypal integration 【发布时间】:2011-02-01 10:45:47 【问题描述】:

我试图弄清楚如何将 django-registration 与 django-paypal 集成。作为一个 Django n00b,我试图弄清楚如何实现这样的流程:

    用户使用 django-registation 注册,并将“活动”标志设置为 0 注册后,将用户发送到 PayPal 进行订阅 当他们从 PayPal 成功返回时,我想将 'active' 设置为 1

我一直在查看 django-registration 文档,但不太了解如何使用不同的后端或按照我想要的方式实现流程。

任何有关如何完成此操作的提示将不胜感激。 django-paypal 对我来说不会是一个问题,因为我之前已经完成了 PayPal 集成(在 php 中用于一本关于 CakePHP 的自行出版的书)。

【问题讨论】:

我刚开始使用 Django-PayPal...我不知道订阅是如何工作的,但我想它们的工作方式与 IPN 大致相同...它应该发送回传到您的网站,然后 Django-PayPal 应该向您发送一个信号......在该信号中您只需激活用户。 我正在尝试了解您如何告诉 django-registration 不要发送激活电子邮件,而是将它们发送到贝宝页面进行订阅 【参考方案1】:

要让注册不发送电子邮件,请在您的视图中将send_email=False 传递给RegistrationManager.create_inactive_user 调用以注册用户。创建用户后,您可能希望创建一个带有支付宝按钮的登录页面。指示用户点击支付按钮进行支付。通常我在custom 字段中发送user.id 作为支付按钮。

然后,在django-paypal 中,使用IPN 信号处理程序根据IPN 查询的custom 字段中的user.id 激活用户。此时您可能希望发送修改后的注册电子邮件,欢迎用户访问您的站点并告诉他们您已收到付款并已激活他们的帐户,但这些都是您定义的详细信息。

【讨论】:

以上是关于django-registration 与 paypal 集成的主要内容,如果未能解决你的问题,请参考以下文章

Django-Registration:电子邮件作为用户名

包含 django-registration 的 url

django-registration 和 CSS 文件

为 django 1.5 自定义用户模型子类化 django-registration 1.0 表单

django-registration 中的 Urls 配置

Django-Registration & Django-Profile,使用你自己的自定义表单