paypal: post send with discount

taland

Новичок
paypal: post send with discount

Дело вот в чем:
При клике на кнопку покупки продукта на нашей странице должен отработать скрипт подсчета скидки для потенциального клиента. По получиной информации формируется post запрос на paypal.

Если скидку вписывать в форму на стороне клиента, то всякий сможет ее поменять.
Поэтому принял решение использовать curl:

function curlGetPage($path, $user_agent, $referer, $header=array(), $post=array())
{
if(!extension_loaded('curl')) return false;

$curl_res = curl_init();
curl_setopt($curl_res, CURLOPT_URL, $path);
curl_setopt($curl_res, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($curl_res, CURLOPT_VERBOSE, 1);
curl_setopt($curl_res, CURLOPT_USERAGENT, $user_agent);
curl_setopt($curl_res, CURLOPT_REFERER, $referer);
curl_setopt($curl_res, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_res, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl_res, CURLOPT_SSL_VERIFYHOST, true);

if(count($header)>0)
{
curl_setopt($curl_res, CURLOPT_HEADER, 1);
curl_setopt($curl_res, CURLOPT_HTTPHEADER, $header);
}
else
{
curl_setopt($curl_res, CURLOPT_HEADER, 0);
curl_setopt($curl_res, CURLOPT_HTTPHEADER, '');
}

if(count($post)>0)
{
curl_setopt($curl_res, CURLOPT_POST, 'application/x-www-form-urlencoded');
curl_setopt($curl_res, CURLOPT_POSTFIELDS, implode('&',$post));
}

$page = curl_exec($curl_res);
curl_close($curl_res);

return $page;
}

$post = array();
$post[] = 'cmd=_s-xclick';
$post[] = 'hosted_button_id=DRFM9MQ7FD53L';
$post[] = 'discount_rate=10';
$header = array();

curlGetPage('https://www.sandbox.paypal.com/cgi-bin/webscr', $_SERVER['HTTP_USER_AGENT'], $_SERVER['SERVER_NAME'], $header, $post);

Но вот проблема: при загрузке страницы paypal просит sign up.

Что делать - ума не приложу. Думаю, что проблема в том что referer'ом является моя страница.

Поскажите, пожалуйста, господа как поступить! может есть другое решение для paypal.
 

mity

Новичок
На курле Вы можете задать любой referer, или можно сделать запрос на сокетах.
Для paypal разве не нужна аккредитация, или что вроде того, для Вашего сайта?
 

taland

Новичок
если вы знаете как это по другому делается, то, пожалуйста, расскажите
 

mity

Новичок
taland, Вы это читали ?
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_documentation
 

taland

Новичок
может я неправильно задал вопрос.

нужно отправить запрос на paypal о покупке продукта с определенной скидкой. Чтобы клиент не смог подредактировать процент скидки, я решил что лучше будет использовать curl.
Хотел отправить POST курлом, но вместо ожидаемой странице в браузере с ценой продукта и скидкой я получил страницу с просьбой залогинится.

Вот я спрашиваю, правильно ли я делаю обращение к paypal.
Может кто работал с ним. Как реализовать данную задачу?!
 

mity

Новичок
У Пайпал есть API, вот через них Вы и должны обращаться к нему, а не на "голых" post запросах.
 
Сверху