Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP成员脚本+;PayPal IPN,我需要什么信息并与之进行比较?_Php_Paypal_Membership_Paypal Ipn - Fatal编程技术网

PHP成员脚本+;PayPal IPN,我需要什么信息并与之进行比较?

PHP成员脚本+;PayPal IPN,我需要什么信息并与之进行比较?,php,paypal,membership,paypal-ipn,Php,Paypal,Membership,Paypal Ipn,所以我有一个产品。为了让用户购买它,他们需要创建一个帐户。该帐户稍后将用于访问我的产品 我的问题是:注册时(付款前),我向用户询问什么信息?每当Paypal发送通知时,我都需要一些比较。我的意思是:如果我只需要用户名和密码,我怎么知道是哪个特定用户付费,并相应地更新数据库 显然,我还需要名字、姓氏和电子邮件。我之所以提出上述情况,是因为我看到其他会员网站要求发送电子邮件(不是PayPal电子邮件),但他们无法确保名字、姓氏和/或电子邮件与客户在PayPal上的信息匹配 简而言之:我如何在收到通知

所以我有一个产品。为了让用户购买它,他们需要创建一个帐户。该帐户稍后将用于访问我的产品

我的问题是:注册时(付款前),我向用户询问什么信息?每当Paypal发送通知时,我都需要一些比较。我的意思是:如果我只需要用户名和密码,我怎么知道是哪个特定用户付费,并相应地更新数据库

显然,我还需要名字、姓氏和电子邮件。我之所以提出上述情况,是因为我看到其他会员网站要求发送电子邮件(不是PayPal电子邮件),但他们无法确保名字、姓氏和/或电子邮件与客户在PayPal上的信息匹配

简而言之:我如何在收到通知时更新客户机帐户(将数据库中的活动字段设置为TRUE或其他),以及使用什么信息进行验证/验证


如果我的问题不够清楚,请毫不犹豫地告诉我。:)

嗯,我认为这与正常的“我如何知道产品X是通过PayPal支付的”没有什么区别。你的“产品”是会员订阅,不是实体产品,否则本质上是一样的

将用户发送到PayPal时,只需在PayPal数据中发送用户的唯一标识符。(如果不想创建要销售的“产品”,只需使用用户表的id即可。)使用“自定义”字段或“项目编号”字段传递此信息。PayPal将在IPN中将这两条信息传递给您,您可以使用这些信息来验证是否为该用户支付了款项

如果您担心用户代表其他用户欺骗付款,您可以a)加密发送给PayPal的所有数据,b)将PayPal设置为仅接受您帐户的加密购物车数据

编辑:有关向贝宝传递信息的更多具体信息:

有很多很多变量可以用来向PayPal发送信息。假设您使用的是网站支付标准和购物车功能,这可以分为两个部分

  • 应用于整个事务的字段。见本文件表4:
  • 应用于单个项目的字段。见同一文件中的表5
  • 并非所有这些信息都会在IPN中传递给您。要查看IPN中传递给您的内容,请查看此处的“示例IPN消息”部分:

    您需要的是一段信息,a)您传递给PayPal以唯一标识用户,b)PayPal在IPN中传递回您

    我建议您为此使用名为“custom”的变量。(参见表4:支付交易的HTML变量。)


    在“custom”变量中传递的具体内容取决于您。你可以发送a)用户表中用户的id,b)他们在你网站上注册的电子邮件地址,c)其中一个的一些散列。。。这并不重要,只要它唯一地标识了用户,因此当您获得IPN时,您可以说“我知道这是为用户X付款的”。

    我不确定如何在PayPal数据中“发送ID”,以及如何从IPN中读取ID。您是否介意进一步解释一下,也许用最简单的代码示例?:)这在很大程度上取决于您是如何实现PayPal的。如果您使用的是网站支付标准和HTML购物车,那么这里有一个链接,指向您可以随用户一起发送到PayPal的全套信息。出于您的目的,您可以在“自定义”字段或“项目编号”字段中发送有关该用户的信息。两者都将在IPN中返回给您。请参阅此处的“示例IPN消息”部分:@Cailianne-我只能使用一个自定义字段?谢谢,我相信我已经找到了。:)这个问题很清楚,但这就是我想要的。如果你得到了正确的答案,请让我们分享