2016-08-19 94 views
0

我试图启动并运行使用nvp安装快速结账。 我已经在沙箱中设置了业务帐户并生成了api访问签名凭证。在使用nvp设置快速结帐时使用curl卡住授权/验证

$this->NVPCredentials = 'USER=' . credentials['username']; 
$this->NVPCredentials .= '&PWD=' . credentials['password']; 
$this->NVPCredentials .= '&VERSION=108.0'; 
$this->NVPCredentials .= '&SIGNATURE=' . credentials['signature']; 

包裹的凭证如上图+所有创建的NVP串及以下所需的付款细节细节是卷曲的呼叫

$curl = curl_init('https://api-3t.sandbox.paypal.com/nvp'); 
curl_setopt($curl, CURLOPT_VERBOSE, 1); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $Request); 

$请求存放传递的NVP字符串。

我确保所有必填字段都已设置,但我总是收到10002 |认证/授权失败|您无权进行此API调用

我认为这是签名问题,因此我删除了签名,而是创建了一个证书文件,将其从沙箱帐户下载并用于替代,但仍然相同错误。无论我改变什么,它总会抛出同样的错误。

curl_setopt($ curl,CURLOPT_SSLCERT,$ pathtocertpem);

我用尽了想法的东西。请不要犹豫,询问更多细节,如果任何人有任何想法我可能做错了,请不要犹豫。这将不胜感激。

问候,

泥盆

回答

0

我是能够通过使阵列代替nvpstring的卷曲,然后使用http_build_query功能格式化所有PARAMS解决问题

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($Request)) 

此似乎已经做到了。