Paypal IPN处理多个自定义变量

时间:2012-07-24 13:28:42

标签: paypal paypal-ipn

所以我在我的网站上实现了paypal IPN,而我正处于中间位置 工作过程。现在我想在pp表单中使用多个自定义变量 目前我只使用这个

<input type="hidden" name="custom" value="<?php echo $user_id; ?>">

所以我知道允许名为'custom'的变量。我想知道是否 我可以传递更多变量,以便根据他们的标准过滤付款。 因此,如果运费超过0.00美元,我设置了一个变量“shipping_cost”,如下所示:

<input type="hidden" name="shipping_cost" value="<?php echo $cost; ?>">

或用于其他目的。这是允许的吗?或者,paypal已经定义了允许的列表 我们可以使用的变量?我真的想解决这个问题,因为并不总是有一种类型 我们可以处理的付款... 谢谢你们。

3 个答案:

答案 0 :(得分:10)

这样你可以传递更多参数

<input type="hidden" name="custom" value="variable1=234&var2=summa&etc=xyz"/>

在您的PayPal表格上使用上述内容。

并通过以下代码处理。

 parse_str($_POST['custom'],$_MYVAR);

echo $_MYVAR['variable1'];
echo $_MYVAR['var2'];
echo $_MYVAR['etc'];

我希望这个能帮助你。

答案 1 :(得分:4)

正如我(以及我想象的其他许多人)也面临着这个问题,我想我会分享一些我遇到的解决方案。

在PayPal社区中提出的

This one建议使用选项变量,它似乎提供了一个键/值对实现,以便最多99个变量(对于我没有真正尝试过的记录)。 / p>

最常被接受的解决方案(我也赞成)是将所有数据添加到数据库记录中,然后使用自定义var来存储您的记录ID,这显然可以在以后使用(例如通过IPN)来检索你的数据。

答案 2 :(得分:3)

PayPal定义您可以使用的字段here。任何其他字段都将被忽略。

有一个&#39;运输&#39;字段定义,PayPal将使用该字段的值来收取额外的运费。您还可以从IPN或PDT数据中获取该值。

如果您需要传递其他值,您可以考虑在&#39; custom&#39;中传递以查询字符串样式(var1 = value1&amp; var2 = value2 ...)格式化的字符串。领域。请注意,此字段中允许的最大字符数为256.您将在获得IPN或PDT响应时解析此字符。

如果自定义字段的大小限制太多,那么您可以尝试我在另一个answer here中描述的内容。