2011-07-20 3 views
1

私はPayPalを介して支払いを通知するために私のサイトにPHP IPN Paypal通知ハンドラを設定しました。私は予約を処理するために精巧で、コメントのない、文書化されていないコンポーネントを使用するJoomlaのインストールを持っています。Paypal IPNハンドラの別のPHPスクリプトから1つのスクリプトをリダイレクト/実行するには?

有効なIPNが受信されると、一連の引数を使用して特定のPHPスクリプトを呼び出す必要があることは知っています。それはJoomlaのだしかし、私は、フォームでスクリプトを持っている:

/index.php?option=com_component &コントローラ= CONTR

明らかに、これは実際のPHPスクリプトではありませんが - 私が言うように、精巧なMVCのフレームワーク

このスクリプトを呼び出す最良の方法は何ですか?私は使用を考えていましたが、私は前に(出力なしで)処理している可能性があり、後に処理する可能性があるので、これが最善の呼び出しであるかどうかはわかりません。

この質問を理解するのはむしろむしろですが、助けていただければ幸いです。

答えて

1

CURLがサーバーにインストールされているか、または有効になっている場合は試してみることができます。

$ch = curl_init("path/to/your/script.php"); 

//Include your headers here 
$headers = array(''); 

//Set the data you want to send, as an associative array. 
$postData = array("foo" => "bar", 12 => true); 

curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 
$output = curl_exec($ch); 
if($output == FALSE){ 
    // Error reporting 
} 
curl_close($ch); 
+0

私は同意する、私も同様に外部スクリプトを呼び出す必要があり、カールはこれを達成するための最善の方法です。あなたはヘッダーのリダイレクトに従うためにペイパルを期待することはできません –

+0

おかげさまで、魅力的な仕事をしました。 – codinghands

0

あなたのリダイレクトに従うためにPayPalに頼ることはできません。少なくとも、私はそうしないでしょう。

呼び出すphpスクリプトを含めるのはどうですか?

+0

私はそれについて考えていましたが、いくつかの初期テストはうまくいかなかったようです。私はそれをもう一度試して、それがうまくいくかどうかを見ます。 – codinghands

+0

あなたは、インクルードされたページで利用可能なすべての変数も持っています。つまり、IPNのすべての$ _POSTと$ _GET変数を意味します。 – jishi

関連する問題