Paypal NVP身份验证失败

时间:2013-07-10 23:34:04

标签: php curl paypal nvp

目前使用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和令牌, 我不知道它是否与卷曲本身有关,或者它是否是其他东西,我试图完全 禁用我的防火墙,但错误仍然存​​在......

1 个答案:

答案 0 :(得分:0)

您的阵列格式不正确。

'L_PAYMENTREQUEST_0_NAME0' = 'A product name';

这是开始调试的好方法