0

我正在开发一个零售网站,它有一个嵌入式 PayPal 系统,该系统使用链式支付(这样每次销售的佣金都会交给第三方)。

我想在下订单时更新我的​​数据库。我希望用户购买商品并减少数据库中列出的库存。为此,我需要商品编号(我正在使用的自定义 6 位数字)。

当 IPN 消息通过时,有一些变量称为:

item_number1 item_number2 item_number3 等,每个项目。

但是,所有值都是空的。如何将商品编号发送到 PayPal,以便它们在 IPN 消息中发回?

我通过 SetPaymentOptions 向 PayPal 发送商品的请求是这样的:

$nvpstr .= "&receiverOptions[0].invoiceData.item[$key].name=$product[Name]";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].price=$productTotalPrice";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].itemCount=$quantity";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].itemPrice=$product[Price]";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].identifier=$product[ID]";

提前感谢您的帮助!

4

1 回答 1

0

您可以在 IPN url 的查询字符串中设置这些值。

当您以如下形式定义您的 ipn URL 时:

http://mydomain.com/notify.php

附加变量

http://mydomain.com/notify.php?customvar1=customval1&customvar2=customval2... 

您还可以将这些变量添加到数组中,对其进行序列化并改用 base64_encode。

例如

$items = array('customvar1' => 'customval1');
$ipnUrl = "http://mydomain.com/notify.php?params=" . base64_encode(serialize($items ));
于 2012-10-05T07:48:57.037 回答