- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以我有一个产品。为了让用户购买它,他们需要创建一个帐户。该帐户稍后将用于访问我的产品。
我的问题是:我在注册时(付款前)要求用户提供哪些信息?每当 Paypal 发送通知时,我都需要一些东西来比较。我的意思是:如果我只要求提供用户名和密码 - 我怎么知道是那个特定用户支付了费用,并相应地更新数据库?
显然,我还需要名字、姓氏和电子邮件。我出现上述情况的原因是因为我看到其他成员(member)网站要求提供电子邮件(不是 PayPal 电子邮件),但他们无法确定名字、姓氏和/或电子邮件是否与客户的信息相匹配他们的 Paypal 。
简而言之:当我收到通知时如何更新客户帐户(将数据库中的事件字段设置为 TRUE 或其他),以及我要验证/验证哪些信息?
如果我的问题不够清楚,请随时告诉我。 :)
最佳答案
好吧,我不认为这与正常的“我怎么知道产品 X 真的是通过 PayPal 支付的”有什么不同。你这里的“产品”是成员(member)订阅,不是实体产品,除此之外本质上是一样的。
当您将用户发送到 PayPal 时,只需在 PayPal 数据中发送用户的唯一标识符即可。 (如果您不想创建要销售的“产品”,您可以只使用用户表的 ID。)使用“自定义”字段或“item_number”字段传递它。 PayPal 将在 IPN 中将这两条信息传回给您,您可以使用它来验证是否为该用户进行了付款。
如果您担心用户代表其他用户欺骗付款,您可以 a) 加密您发送到 PayPal 的所有数据,以及 b) 将您的 PayPal 设置设置为仅接受您帐户的加密购物车数据。
编辑:关于将信息传递给 PayPal 的更多具体信息:
您可以使用很多变量将信息发送到 PayPal。假设您正在使用 Website Payments Standard 和购物车功能,这可以分为两个部分。
并非所有这些信息都会在 IPN 中传回给您。要查看 IPN 中传回给您的内容,请查看此处的“示例 IPN 消息”部分:https://cms.paypal.com/cgi-bin/marketingweb?cmd=_render-content&content_ID=developer/e_howto_admin_IPNIntro .
您需要的是一条信息,a) 您传递给 PayPal 以唯一标识用户,b) PayPal 在 IPN 中传回给您。
为此,我建议您使用名为“custom”的变量。 (参见表 4:支付交易的 HTML 变量。)
传递给“自定义”变量的具体内容由您决定。您可以发送 a) 用户表中用户的 ID,b) 他们在您网站上注册的电子邮件地址,c) 其中一个的一些哈希值……只要它唯一标识用户,这并不重要,这样当您取回 IPN 时,您可以说“我知道这笔付款是给用户 X 的”。
关于PHP Membership script + PayPal IPN,我需要哪些信息并与之比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6240204/
情况是这样的: 我们有几个 (19) 个站点当前配置为使用不同的应用程序名称共享单个 ASP 成员(member)数据库,例如: 我的问题是,如果在 web.con
正如我在 VS2012 调试器中看到的,方法 Membership.GetUser() 首先尝试创建表“应用程序”(使用 CREATE TABLE NonQuery),得到表已经存在的异常,然后为我返
我目前正在用 .Net 重写整个网站。当前网站使用foxpro编写,使用自定义逻辑、验证规则和Sql server表来存储和验证用户。 我想使用 Membership Provider,但我有一个主要
我的系统有不同的用户, super 管理员、管理员、成员、匿名用户。 在某些页面中,我只希望管理员用户登录。如果成员登录,我不想将它们重定向到目标 URL。 如何停止重定向? 最佳答案 我不记得 na
我有一个 SQL 脚本,可以在我的数据库中创建用户。它使用.Net 成员资格存储过程。 此时一切正常。 唯一的问题是密码保存为明文。我应该在此处更改什么以使其加盐/加密(不确定此处使用什么术语) GO
如何在 ASP.NET Web 应用程序项目中不使用 Membership.GetUser(username) 的情况下访问 ASP.NET Membership 中的 UserId? UserId
我正在开发一个使用 Facebook 的网站。现在,为了管理用户,我想到了使用 MembershipProvider 并选择开发自定义成员(member)提供程序。我的问题是我的数据库架构与标准成员架
我正在尝试编写一个简单的 Gui 来生成随 secret 码。我尝试使用的代码是: 使用 System.Web.Security; Password_txtBx.Text = Membership.G
测试集合中是否存在以另一个元组开头的元组的 pythonic 方法是什么?实际上,我真的在匹配索引之后,但我可能可以从测试示例中找出 例如: c = ((0,1),(2,3)) # (0,) shou
为什么 memcached 中存在硬编码块限制(压缩后 .5 兆) ?有没有人重新编译他们的?我知道我不应该发送这样的大块,但是这些超重的块不时发生在我身上并造成严重破坏。 最佳答案 这个问题曾经在o
我正在将代码移出 App_Code进入类库。 我使用 Membership.CreateUser 以编程方式创建用户. 在无法访问我在 web.config 中配置的成员资格提供程序的情况下,如何在我
我的 web.config 允许最多 10 次密码尝试失败。但我想在 5 次失败后添加验证码。 我如何获得成员(member)资格甚至自定义函数的失败尝试次数? 最佳答案 此资源在这里 http://
我正在尝试完成一个程序来帮助我在类里面学习 Java 之前学习它。但我在尝试向俱乐部添加成员(member)、打印出来然后计算成员(member)数量时遇到了困难。将基础知识添加到代码中后,我不知道从
我有这个代码: MembershipUser user = Membership.GetUser(model.UserName); if (user != null) user.IsAppro
Membership.ApplicationName 是一个静态字符串。 我的问题是,如果我想更改此值以查询同一数据库上另一个 应用程序的成员资格,则更改是永久性的,这意味着当前站点的应用程序名称现已
我正在使用表单例份验证,我想将某些页面限制为某些角色。现在每个人都可以在登录后访问整个应用程序。 但我想将某些页面限制为某些角色。例如,“查看日志”页面。 我认为我的 web.config 文件应该如
我正在使用 System.Web.Sercurity.Membership 方法来处理我们网络服务的用户。在测试期间我对它非常满意,因为我们的数据库和 Web 服务驻留在同一台服务器上。 当数据库和
Membership.DeleteUser() 设法删除我要删除的用户的用户配置文件。为什么它不同时删除存储在 webpages_membership 中的信息。 我目前没有使用角色,所以请记住这一点
我的应用程序中的许多地方都需要 GUID (UserId)。目前我正在调用 Membership.GetUser() 来获取 UserId。此方法是进行数据库调用还是缓存详细信息? 如果它进行数据库调
当我使用 Membership.DeleteUser(userName, false) 时,没有任何反应。但是当我使用 Membership.DeleteUser(userName, true) 或
我是一名优秀的程序员,十分优秀!