0

現在、PHP + cURL を使用して xampp で NVP SetExpressCheckout Paypal 機能 (サンドボックス モード) をテストしていますが、何をしても、次のエラーが表示されます。

エラー コード 10002 : 認証/認可に失敗しました。この API 呼び出しを行う権限がありません。

$nvp = array(
    'METHOD' => 'SetExpressCheckout',
    'VERSION' => '98',
    'USER' => $user,
    'PWD' => $pwd,
    'SIGNATURE' => $signature,
    'RETURNURL' => $returnurl,
    'CANCELURL' => $cancelurl,
    'PAYMENTREQUEST_0_PAYMENTACTION' => 'Sale',
    'PAYMENTREQUEST_0_AMT' => '20.00',
    'PAYMENTREQUEST_0_CURRENCYCODE' => $currency,
    'REQCONFIRMSHIPPING' => '0',
    'NOSHIPPING' => '1',
    'ALLOWNOTE' => '0',
    'LOCALECODE' => 'US'
    'L_PAYMENTREQUEST_0_NAME0' = 'A product name';
    'L_PAYMENTREQUEST_0_AMT0' = '20.00';
    'L_PAYMENTREQUEST_0_QTY0' = '1';
    'L_PAYMENTREQUEST_0_ITEMCATEGORY0' = 'Digital';
);

$request = 'https://api-3t.sandbox.paypal.com/nvp?' . http_build_query($nvp);
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $request);
curl_setopt($curl, CURLOPT_VERBOSE, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = urldecode(curl_exec($curl));

curl_close($curl);

奇妙なことに、ブラウザで curl リクエスト ($request 変数と同じ) を入力すると、エンドポイントから SUCCESS とトークンを取得します。それが curl 自体と関係があるのか​​、それとも別のことなのかはわかりません。 、ファイアウォールを完全に無効にしようとしましたが、エラーが続きます...

4

1 に答える 1

0

配列の形式が正しくありません。

'L_PAYMENTREQUEST_0_NAME0' = 'A product name';

これは、デバッグを開始する良い方法です

于 2015-10-27T00:30:50.520 に答える