2

我创建了一个网站,要求我构建一个自定义购物篮以满足业务需求。这一切都很好。

上周我一直在尝试制作一个加密的“使用 PayPal 结帐”按钮。

首先我尝试了这个:www.x.com/message/174366(没有超链接,因为我是新用户,抱歉),并且无法从函数中获取任何加密数据。

所以我又花了一天时间研究,发现用 php 加密网络支付

将代码自定义到我的购物篮后,它会生成加密数据。但是当单击按钮时,PayPal 只显示一个项目输入框 - 即没有传递任何数据。

当我注释掉向按钮添加多个项目的代码并只编写一个静态项目(即使用 item_name 而不是 item_name_1 等)时,它工作正常。

我曾尝试将 cmd 变量从 _s-xclick 更改为 _cart 和 _s-cart,正如我遇到的某个论坛中提到的那样,但无济于事。我确实设置了上传变量。

所以这不起作用

$itm=1;
for($j=0;$j<count($tempIArr);$j++)
{
    $names[] = 'item_name_'.$itm;
    $values[] = $tempIArr[$j]->getName();
    $names[] = 'amount_'.$itm;
    $values[] = $tempIArr[$j]->getTotal();
    $itm++;
}
$paypal->addButtonParam($names, $values);

但这确实有效

$names[] = 'item_name';
$values[] = 'someProduct';
$names[] = 'amount';
$values[] = 99;
$paypal->addButtonParam($names, $values);

有人对如何使它与多个项目一起工作有任何想法吗?

4

2 回答 2

6

对,我已经解决了。在 EncryptedButtons 类更改

$this->_data = "cmd=_xclick\n"; 

$this->_data = "cmd=_cart\n"; 

并添加

$this->_data .= "upload=1\n";

记住 . 在最后一行的 = 之前,否则会导致错误。希望这可以帮助某人。这个项目完成后,我将写一篇博客文章,并在完成后添加一个链接。

于 2010-12-08T17:25:59.090 回答
0

不是每个人都有能力在他们的托管计划中安装 OpenSSL,或者让它通过所有这些步骤和箍跳过去。另一种解决方案是使用未加密按钮进行篡改检测。我在这里解释一下:

如何使用自定义字段制作 PayPal 加密的“立即购买”按钮?

于 2013-01-24T16:40:47.650 回答