【问题标题】:PayPal - encrypt muti item custom cart dynamic checkout button with phpPayPal - 使用 php 加密多项目自定义购物车动态结帐按钮
【发布时间】:2011-05-21 22:40:42
【问题描述】:

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

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

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

于是又花了一天时间研究,发现Encrypted web payments with 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);

有人对如何使其适用于多个项目有任何想法吗?

【问题讨论】:

  • 这里误加了答案,见下文。

标签: php encryption dynamic paypal checkout


【解决方案1】:

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

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

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

并添加

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

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

【讨论】:

  • 加一个回答你的问题。
  • 我正在寻找一个使用 ASP.NET 的解决方案 - 现在它说存在“安全订单解密问题”,虽然该网站确实提供了我的商店名称,但只有那个输入没有数据传递的框。
【解决方案2】:

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

How do I make a PayPal encrypted buy now button with custom fields?

【讨论】:

    猜你喜欢
    • 2014-05-26
    • 1970-01-01
    • 2014-04-29
    • 2021-05-08
    • 2014-05-13
    • 2011-04-30
    • 2020-07-15
    • 2015-12-21
    • 1970-01-01
    相关资源
    最近更新 更多