2010-12-08 2 views
2

Я создал сайт, который потребовал от меня создать пользовательскую корзину, чтобы удовлетворить потребности бизнеса. Все это прекрасно работает.PayPal - зашифруйте кнопку динамической проверки пользовательской корзины muti item с php

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

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

+0

добавлен ответ здесь по ошибке смотри ниже. – Silentbob84 2010-12-08 17:16:24

ответ

6

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

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

в

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

и добавить

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

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

+0

Плюс один для ответа на ваш вопрос. – pokero 2014-04-02 15:04:53

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^