PayPal - зашифровать кнопку динамического оформления пользовательской корзины элемента muti с помощью php - PullRequest
2 голосов
/ 08 декабря 2010

Я создал сайт, который требовал от меня создания пользовательской корзины для удовлетворения потребностей бизнеса. Это все работает нормально.

Я провел последнюю неделю, пытаясь зашифровать кнопку «оформить заказ через 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);

У кого-нибудь есть идеи, как заставить его работать с несколькими элементами?

Ответы [ 2 ]

6 голосов
/ 08 декабря 2010

верно, я решил это.В классе EncryptedButtons измените

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

на

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

и добавьте

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

Запомните.перед = в последней строке, иначе это приведет к ошибкам.Надеюсь, это кому-нибудь поможет.Как только этот проект будет завершен, я напишу сообщение в блоге и добавлю ссылку, когда закончу.

0 голосов
/ 24 января 2013

Не у всех есть возможность установить OpenSSL на свой хостинг-план или заставить его работать со всеми этими шагами и переходами. Другим решением является обнаружение вскрытия с помощью незашифрованной кнопки. Я объясняю это здесь:

Как сделать зашифрованную кнопку PayPal "Купить сейчас" с настраиваемыми полями?

...