paypal: post send with discount

  • Автор темы Автор темы taland
  • Дата начала Дата начала

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.
 
На курле Вы можете задать любой referer, или можно сделать запрос на сокетах.
Для paypal разве не нужна аккредитация, или что вроде того, для Вашего сайта?
 
если вы знаете как это по другому делается, то, пожалуйста, расскажите
 
taland, Вы это читали ?
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_documentation
 
может я неправильно задал вопрос.

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

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