ПОДТВЕРЖДЕНО Статус PayPal Оплата кредитной картой - PullRequest
0 голосов
/ 09 июля 2019

Я должен проверить статус платежа через PayPal. Мой код работает хорошо, если пользователь оплачивает через PayPal свою учетную запись PayPal. Но у меня проблема с оплатой кредитной картой на сайте PayPal.

$req = 'cmd=_notify-validate';
foreach($_POST as $key=>$value){
    $value = urlencode(stripslashes($value));
    $value = preg_replace('/(.*[^%^0^D])(%0A)(.*)/i','${1}%0D%0A${3}',$value);// IPN fix
    $req .= "&$key=$value";
}

$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.paypal.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen('ssl://www.paypal.com', 443, $errno, $errstr, 30);
//$fp = fsockopen('ssl://sandbox.paypal.com', 443, $errno, $errstr, 30);

if(!$fp){
    die("HTTP ERROR");
}else{
    fputs($fp, $header . $req);
    while(!feof($fp)){
        $res = fgets($fp, 1024);

        if(strtoupper(trim($res)) == "VERIFIED"){
            //i can save the payment in my table
        }
    }
 }

Проблема, которую я заметил, заключается в том, что при оплате кредитной картой я не получаю ПОДТВЕРЖДЕННЫЙ ответ. Почему?

Я пытался напечатать переменную $ res, но получаю много разных значений

...