2016-07-04 4 views
0

나는 PHP를 통해 IPN 페이팔 결제에 관한이 문제가 있습니다.PayPal - IPN 페이지

<?php 

    // read the post from PayPal system and add 'cmd' 
    $req = 'cmd=_notify-validate'; 
    foreach ($_POST as $key => $value) { 
    $value = urlencode(stripslashes($value)); 
    $req .= "&$key=$value"; 
    } 
    // post back to PayPal system to validate 
    $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 ('ssl://www.paypal.com', 443, $errno, $errstr, 30); 
    $fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30); 


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

    // PAYMENT VALIDATED & VERIFIED! 
     $hour = date("g:ia"); 
     $fp = fopen("richieste_".date("d_m_Y").".txt", "a"); 
     fwrite($fp, "1,16,6.01,".$hour.";"); 
    } 

    else if (strcmp ($res, "INVALID") == 0) { 

    // PAYMENT INVALID & INVESTIGATE MANUALY! 

    } 
    } 
    fclose ($fp); 
    } 
?> 

txt 파일이 저장되지 ipn.php

의 IPN 상태가 PAYMENT_STATUS =는 HTTP 요청 코드 내가 잘못 (200) 으로 완료했다?

$filename = **FULL_PATH** . "/" . $filename . ".txt"; 
$handle = fopen($filename, "a+"); 

If($handle) { 
    fwrite($handle, YOUR_CONTENTS_HERE); 
} 

난 당신이 파일의 전체 경로를 제공하지 않습니다 볼 수 있습니다

+0

폴더/파일 사용 권한을 확인하십시오. –

+0

안녕하세요, 사용 권한 문제가 아닙니다. 스크립트 외부에서 파일을 저장했기 때문입니다. – Jeager

답변

0

나는 항상이 방법을 사용합니다.