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 回答