私はこの質問の提案のいくつかを既に見てきましたが、どれもこれまで助けてくれていません。私はcURLコールを作成するためのこのシンプルな小さなクラスを持っています。これは間違いなく他のホスト呼び出しで試してみました。ここではクラスがある:PayPal curl call PHPを使用しない応答
class CurlHelper
{
public static function Post($URL, $Fields = array(), $DieExplainError = false)
{
return self::Call(array(
CURLOPT_URL => $URL,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => count($Fields),
CURLOPT_POSTFIELDS => http_build_query($Fields)
), $DieExplainError);
}
public static function Call($Array, $DieExplainError = false)
{
$ch = curl_init();
curl_setopt_array($ch, $Array);
$Result = curl_exec($ch);
if($DieExplainError && curl_error($ch))
die(curl_error($ch));
curl_close($ch);
return $Result;
}
}
これは単に私がホストを指定することができることを意味し、それが応答何でも投稿する値の配列とPostメソッドの戻りがあります。
はその後、私のPayPalコールのために私は次のことをやっている:私の知る限り、この必要があり、少なくとも戻り何かを見ることができるように
$Response = CurlHelper::Post("https://api-3t.sandbox.paypal.com/nvp", array(
CURLOPT_HEADER => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
"USER" => "user",
"PWD" => "pass",
"SIGNATURE" => "sig",
"METHOD" => "SetExpressCheckout",
"VERSION" => 86,
"PAYMENTREQUEST_0_PAYMENTACTION" => "SALE",
"PAYMENTREQUEST_0_AMT" => 19,
"PAYMENTREQUEST_0_CURRENCYCODE" => "GBP",
"cancelUrl" => "myurl",
"returnUrl" => "myurl"
), true);
die("test: ".print_r($Response));
?たとえそれがエラーだったとしても、私は絶対に何も得ません。
私はうんざりしましたか?
- EDIT - グラーム・アリさんのコメントの後
、彼は私がポスト配列にCURLOPTパラメータを渡すのではなく、実際のカールオプションれたことを指摘しています。 PayPalのコール
public static function Post($URL, $Fields = array(), $DieExplainError = false)
{
return self::Call(array(
CURLOPT_URL => $URL,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_POST => count($Fields),
CURLOPT_POSTFIELDS => http_build_query($Fields)
), $DieExplainError);
}
:
$Response = CurlHelper::Post("https://api-3t.sandbox.paypal.com/nvp", array(
"USER" => "",
"PWD" => "",
"SIGNATURE" => "",
"METHOD" => "SetExpressCheckout",
"PAYMENTREQUEST_0_PAYMENTACTION" => "SALE",
"PAYMENTREQUEST_0_AMT" => 19,
"PAYMENTREQUEST_0_CURRENCYCODE" => "GBP",
"cancelUrl" => "",
"returnUrl" => ""
), true);
しかし残念ながら、私はまだSSLエラーを取得していますが
CurlHelperのポスト方法:だから私は、これらの変更を行いました。何が完璧な理にかなっているが、何とかまだあなたは間違って自分のクラスの関数にパラメータを送信している:(
echo 'カールエラー:'。 curl_error($ ch);カールを閉じる前にコードを貼り付けるとエラーが発生する – JYoThI
私はあなたがそれを行うことができるのを忘れていました...私は "SSL接続エラー"を受け取りました。これはおそらく私が "dev server"公的にアクセス可能であるか、それとも何の違いもありませんか? – Zephni