Я пытаюсь заставить скрипт PHP отправлять пользователя на страницу PayPal, которая была предварительно настроена. По сути, я пытаюсь избавиться от промежуточной страницы: «Пожалуйста, подождите, пока я отправлю вас в PayPal, бла».
В настоящее время происходит то, что происходит:
1. Пользователь заполняет форму, которая получает POST'd на моей странице process.php
2. Я хочу, чтобы process.php создал строку _xclick и разместил ее непосредственно в PayPal и показал (перенаправил?) Страницу в браузере.
Это то, чем я сейчас занимаюсь, но веб-браузер пользователя не перенаправляется. Я знаю, что могу отобразить некоторый HTML-код и заставить его работать, но я подумал, что есть способ получить данные, но я думаю, что для того, чтобы браузер начал действовать, потребуется что-то большее?
//create array of requuired minimal data for a PayPal button
$post_data['amount'] = '123';
$post_data['item_name'] = 'widget';
$post_data['item_number'] = '123';
$post_data['quantity'] = '123';
$post_data['currency_code'] = 'USD';
$post_data['business'] = 'widgetsRUS@na.com';
$post_data['no_shipping'] = '2';
//traverse array and prepare data for posting (key1=value1)
foreach ( $post_data as $key => $value)
{
$post_items[] = $key . '=' . urlencode(stripslashes($value));
}
//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);
// Add command string
$post_string = '?cmd=_xclick&' . $post_string;
// Connect to PAYPAL
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
//sending the data
fputs($fp, "POST /cgi-bin/webscr HTTP/1.1\r\n");
fputs($fp, "Host: www.paypal.com\r\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-Length: ".strlen($post_string)."\r\n");
fputs($fp, "Connection: close\r\n");
fputs($fp, "\r\n");
fputs($fp, $post_string);
while (!feof($fp))
{
echo fgets($fp, 1024);
}
fclose($fp);