4

在任何事情之前,我想让你知道我在开发“付费”网络应用程序方面是一个完整的新手。我一直在阅读一些关于如何将 Paypal 的 IPN 与 Google App Engine 集成的帖子,我对这个主题有一些疑问,事情是这样的:

我想在我的 web 应用程序中使用 paypal 的订阅按钮(这是使用 GAE 的 Python 基础开发的),因此如果用户不想再使用免费版本,他们可以订阅高级版本......

我正在阅读 paypal 可以帮助我通过 IPN 管理有关用户控制的事情,但我必须在我的 GAE 应用程序中设置它,我不知道如何......例如:

通知 URL 必须指向 paypal 的配置文件配置中的哪个位置?我相信它必须指向我的应用程序中的 python 脚本,但我不确定......如果这是真的,这个 python 脚本必须有什么?

然后,完成后,如何让贝宝为我的用户创建用户名和密码,以防止非高级用户使用“高级功能”?我不想要某些东西的链接,我需要解释如何在 GAE 上基于 Python 的应用程序中实现“Paypal 订阅服务”,以便提供“高级服务”和免费服务,

谢谢,希望能帮到你

4

1 回答 1

6

做一个简短的回答(因为我不确定你的问题的范围是什么)。

  1. 维护您的数据模型不是贝宝的工作。您需要为您的用户创建一个数据库条目。

例如,请查看 Google 的文档:

http://code.google.com/appengine/docs/python/gettingstarted/usingusers.html ,更重要的是,http://code.google.com/appengine/docs/python/gettingstarted/usingdatastore.html

例如,您可以创建这种数据模型:

class Users(db.Model):
  gae_user_object = db.UserProperty()
  premium_member = db.BooleanProperty(default=False)

(当然,由于您想跟踪订阅,这太有限了,但您可以理解)。

并让Paypal调用的脚本触发一个函数来改变*premium_member*的值...

  1. 是的,paypal 即时支付通知将调用您的应用程序(您可以在 Paypal 界面中的某处指定什么 uri,因此您可以选择将其映射到什么,最好使用您的 https 应用程序子域)。您的应用程序需要存储贝宝刚刚发送的内容,并且在正式发布任何内容之前,使用刚刚发送的参数调用贝宝服务器,以了解第一个是否真正由贝宝而不是其他人制作。

要查看一个工作示例,请查看http://blog.awarelabs.com/2008/paypal-ipn-python-code/http://groups.google.com/group/google-appengine-python/browse_thread/ thread/d76701e774e308be,即使这两个例子都很糟糕(它可能会起作用,但不要在生产中使用它们,因为你最终会遇到真正糟糕的错误管理)。

于 2011-02-04T04:00:40.487 回答