Paypal の IPN を PHP に統合するのに問題があります。次のスクリプトがあり、paypal サンドボックスで支払いが行われると、デフォルトのケースに陥り続けます。
どんな助けでも大歓迎です!
$request = "cmd=_notify-validate";
foreach ($_POST as $varname => $varvalue){
$email .= "$varname: $varvalue\n";
if(function_exists('get_magic_quotes_gpc') and get_magic_quotes_gpc()){
$varvalue = urlencode(stripslashes($varvalue));
}
else {
$value = urlencode($value);
}
$request .= "&$varname=$varvalue";
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"https://www.sandbox.paypal.com/cgi-bin/webscr");
//curl_setopt($ch,CURLOPT_URL,"https://www.paypal.com");
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$request);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
switch($result){
case "VERIFIED":
mail('test@test.com','worked','worked');
break;
case "INVALID":
mail('test@test.com','invaild','invaild');
break;
default:
mail('test@test.com','failed','failed');
}
自分に $result をメールで送信すると、空白になります。
編集: LAMP のサーバー側の問題であることがわかりましたが、修正方法がわかりません。
注: サーバーに curl がインストールされていますが、適切に構成されているかどうかはわかりません。