Php paypal ipn传递参数

Php paypal ipn传递参数,php,paypal,paypal-ipn,Php,Paypal,Paypal Ipn,我想在用户付款后从paypal获得用户ID Pay.php <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="<?php echo $merchant_email ?>"> <

我想在用户付款后从paypal获得用户ID

Pay.php

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?php echo $merchant_email ?>">
<input type="hidden" name="item_name" value="IPN test">
<input type="hidden" name="item_number" value="1">
<input type="hidden" name="amount" value="0.01">
<input type="hidden" name="notify_url" value="<?php echo $ipn_url ?>">
<input type="hidden" name="return"     value="<?php echo $return_url ?>">
<input type="hidden" name="cancel_return" value="<?php echo $cancel_url ?>">
<input type="hidden" name="userid" value="888">
<input type="hidden" name="currency_code" value="USD">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif"
       border="0" name="submit" alt="Buy Now">
所以我会在我的paypal帐户中启用ipn并指向

在ipn.php代码中

<?php
$userid = $_POST['userid'];


$qry = "INSERT into mypayments(userid) VALUES ('$userid') “;
$result = mysql_query($qry,$db);
?>

对吗?如何从paypal获得验证?

这是一个两步过程

PayPal将向您在$IPN_url中指定的url发布IPN

然后,当您使用附加的cmd=\u notify-validate参数将所有IPN数据发布回PayPal时,您将得到一个已验证的响应


这是一个两步的过程

PayPal将向您在$IPN_url中指定的url发布IPN

然后,当您使用附加的cmd=\u notify-validate参数将所有IPN数据发布回PayPal时,您将得到一个已验证的响应

.

我认为userid是一个不正确的名称,不会在您的IPN消息中返回。我使用可选字段来传递ID和我端处理事务所需的内容

对于自定义字段名,这些可选标记为on0、on1或on3;对于自定义字段值,这些可选标记为os0、ls1和os2。这些值可以高达on6和os6

我将向on0发送一个UserID值,并向os0发送实际ID

这些值将在IPN中表示如下:

os0表示为选项_selection1

os1表示为选项_selection2

os2表示为选项_selection3

on0表示为选项_name1

on1表示为选项_name2

on2表示为选项_name3

我相信userid是一个不正确的名称,不会在IPN消息中返回。我使用可选字段来传递ID和我端处理事务所需的内容

对于自定义字段名,这些可选标记为on0、on1或on3;对于自定义字段值,这些可选标记为os0、ls1和os2。这些值可以高达on6和os6

我将向on0发送一个UserID值,并向os0发送实际ID

这些值将在IPN中表示如下:

os0表示为选项_selection1

os1表示为选项_selection2

os2表示为选项_selection3

on0表示为选项_name1

on1表示为选项_name2

on2表示为选项_name3


使用自定义变量

<input type="hidden" name="custom" value="user_id" />

使用自定义变量

<input type="hidden" name="custom" value="user_id" />

自定义或发票参数也可以用于此类操作。不过,正如他所提到的,userid不是贝宝使用的有效参数,所以他们会忽略它,IPN不会返回它。可以传递多少可选参数?它是仅仅三个还是继续运行?我在回答中修复了链接@user1066133:来自PayPal:通过将选项名索引从0增加到6,您可以使用订阅按钮指定最多7个选项字段名6。太棒了,这完美地解决了我的问题。这似乎比创建逗号分隔值之类的值来存储在自定义字段中要有效得多!非常感谢。自定义或发票参数也可以用于此类操作。不过,正如他所提到的,userid不是贝宝使用的有效参数,所以他们会忽略它,IPN不会返回它。可以传递多少可选参数?它是仅仅三个还是继续运行?我在回答中修复了链接@user1066133:来自PayPal:通过将选项名索引从0增加到6,您可以使用订阅按钮指定最多7个选项字段名6。太棒了,这完美地解决了我的问题。这似乎比创建逗号分隔值之类的值来存储在自定义字段中要有效得多!非常感谢。PP自己引用的PHP代码位于,除了更改sandbox或live的PP目标URL,并插入您希望它实际处理PP发回的变量的代码外,一切都按原样工作!PP自己引用的PHP代码位于,除了更改sandbox或live的PP目标URL,并插入您希望它实际处理PP发回的变量的代码外,一切都按原样工作!