将自定义变量传递给paypal IPN

时间:2009-12-03 08:51:28

标签: php paypal

我正在尝试将自定义变量传递给paypal IPN。我可以设法传递一个变量。但我不知道如何传递多个变量。

我的过程是这样的

  1. 用户填写表格
  2. 他们点击按钮,然后转到paypal
  3. 他们支付了,IPN发回给我的信息,ipn.php添加了传递给数据库的变量。
  4. 我的自定义变量是

    1. 总行数(每当他们写,我计算行数)
    2. 消息(他们写的消息)
    3. 广告ID
    4. 但就目前而言,我只能传递一个这样的变量

      form.php的

      <input name="custom" type="hidden" id="custom" value="{$line_count}">
      
      $_SESSION['line_count'] = $_POST['lines_txt'];
      

      ipn.php

      $sql="INSERT INTO `form`(`totalline`) VALUES ('" .$_POST['custom']. "');";
      

6 个答案:

答案 0 :(得分:19)

我不确定,如果有可能使用Paypal发送和接收多个变量。如果由于Paypal的限制而无法实现,您可以使用以下方法之一:

  • 发送序列化数据,并在返回时反序列化。
  • 将数据写入form.php中的数据库(状态为notpaid)并发送id。在ipn.php中捕获id并设置status = paid / error /数据库中发生的任何事情。

答案 1 :(得分:11)

您可以通过notify_url字段传递其他信息,例如执行http://www.yoursite.com/notify?myvariable=value

答案 2 :(得分:2)

如果只是为了传递一个与paypal无关但与它相关的变量更新的变量,你可以使用值['custom']提交给paypal,paypal会简单地将它传递给yuo一旦事情发生在他们身边。

答案 3 :(得分:0)

模糊的记忆告诉我向PayPal发送数据有两种选择。命令x_click和我认为有类似上传参数。当upload参数设置为1时,您可以向paypal发送多行。

更新 PayPal information about this

答案 4 :(得分:0)

未经测试,但是根据文档,您可以在paypal表单中使用名称为item_number_X(X =数字)的多个隐藏输入来存储变量:

<INPUT TYPE="hidden" name="item_number_1" value="value1">
<INPUT TYPE="hidden" name="item_number_2" value="value2">

来自paypal docs

带有传递变量的记录保持

某些变量仅供您自己使用,例如订单管理。贝宝会返回您通过即时付款通知发送的值,与您发送的值完全相同。因此,它们被称为传递变量。 PayPal不会记录或使用它们的值。

以下是传递变量:

  • 自定义
  • 商品编号或item_number_x
  • 发票

答案 5 :(得分:0)

是的,可以! 您可以使用“自定义”变量并在表单中添加

<INPUT TYPE="hidden" name="custom" value="user_id=1&uname=jj">

在您的IPN.php中:

$custom = $_POST['custom'];

并从字符串中提取变量

相关问题