11

所以我已经在我的网站中实施了贝宝 IPN,我正处于工作过程的中间。现在我想在 pp 表单中使用超过 1 个自定义变量,目前我只使用这个

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

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

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

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

4

3 回答 3

11

这样你可以传递更多的参数

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

在您的贝宝表格上使用上述一个。

并通过以下代码进行处理。

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

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

我希望这个对你有帮助。

于 2015-08-22T06:18:01.377 回答
4

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

这个在 PayPal 社区提出的建议使用选项变量,它似乎提供了一个键/值对实现来促进多达 99 个变量(据记录,我实际上没有尝试过)。

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

于 2013-03-11T01:52:22.260 回答
3

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

定义了一个“运费”字段,PayPal 将使用该字段的值来收取额外的运费。您还可以从 IPN 或 PDT 数据中获取该值。

如果您需要传递其他值,您可以考虑在“自定义”字段中传递以查询字符串样式 (var1=value1&var2=value2...) 格式的字符串。请注意,此字段中允许的最大字符数为 256。然后,您将在收到 IPN 或 PDT 响应时对其进行解析。

如果自定义字段的大小太有限,那么您可以尝试我在此处的另一个答案中描述的内容。

于 2012-07-27T17:10:55.930 回答