Мне не нужен готовый код,вот мой код скрипта
public function actionIPN() {
// Loger::addLogPayPal(array(), 'обращение к скрипту ipn', 0, 0, '');
$header = null;
//Пример взят
https://cms.paypal.com/cms_content/GB/en_GB.../IPN_PHP_41.txt // PHP 4.1
// читаем сообщение от PayPal системы и добавлять "CMD"
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// post back to PayPal system to validate
//post передача системе PayPal для проверки
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen("https://www.sandbox.paypal.com/", 443, $errno, $errstr);
print_r($fp);
// $fp = fsockopen('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
// assign posted variables to local variables
//назначить переменные размещены на локальные переменные
$payPal['itemName'] = $_POST['item_name'];
$payPal['itemNumber'] = $_POST['item_number'];
$payPal['paymentStatus'] = $_POST['payment_status'];
$payPal['paymentAmount'] = $_POST['mc_gross'];
$payPal['paymentCurrency'] = $_POST['mc_currency'];
$payPal['txnId'] = $_POST['txn_id'];
$payPal['receiverEmail'] = $_POST['receiver_email'];
$payPal['payerEmail'] = $_POST['payer_email'];
print_r($payPal['paymentStatus']);
if (!$fp) {
echo 'hjhj';
// HTTP ERROR
// Loger::addLogPayPal($payPal, 'запрос не с PayPal.com', 1, 0, 'invalid');
} else {
echo '<pre>';
print_r($header . $req);
echo '</pre>';
echo '<hr/>';
$a = fputs($fp, $header . $req); //подсчет количества символов в строке
print_r($a);
echo '<hr/>';
while (!feof($fp)) {
$res = fgets($fp, 1024);
echo '<pre>';
print_r($res);
echo '</pre>';
if (strcmp($res, "VERIFIED") == 0) {
echo 'Ура получилось';
$contentAccess = MediaContentAccess::model()->findByPk((int) ($payPal['itemNumber']));
if ($contentAccess) {
$contentAccess->confirmed = 1;
$contentAccess->save();
Loger::addLogPayPal($payPal, 'оплата выполнена успешно', 0, 0, 'verified');
} else {
Loger::addLogPayPal($payPal, 'запрос не прошел проверку, нет такого в БД', 1, 0, 'invalid');
}
// check the payment_status is Completed
// check that txn_id has not been previously processed
// check that receiver_email is your Primary PayPal email
// check that payment_amount/payment_currency are correct
// process payment
} else if (strcmp($res, "INVALID") == 0) {
// Loger::addLogPayPal($payPal, 'запрос не прошел проверку', 1, 0, 'invalid');
// log for manual investigation
}
}
fclose($fp);
}
}
}
и в этом скрипте возникает ошибка
fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: unable to connect to
https://www.google.com/:443 (Unable to find the socket transport "https" - did you forget to enable it when you configured PHP?) и я прошу помочь разобраться в чем причина такой ошибки