gpt4 book ai didi

php - Paypal API - GetVerifiedStatus - 无效请求

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:09 25 4
gpt4 key购买 nike

我正在尝试将 Paypal API 集成到我的 PHP 应用程序中。我使用 cURL 调用远程方法 GetVerifiedStatus,但收到错误 580023 - 无效请求。

我的要求:

 'requestEnvelope.errorLanguage=en_US&requestEnvelope.detailLevel=ReturnAll&emailAddress=email%40address.com&firstName=John&lastName=Doe&matchCriteria=NAME'

转成JSON后的响应:

{
"responseEnvelope.timestamp":"2013-07-25T05:36:26.695-07:00",
"responseEnvelope.ack":"Failure",
"responseEnvelope.correlationId":"e540c8c04a5b4",
"responseEnvelope.build":"6679946",
"error(0).errorId":"580023",
"error(0).domain":"PLATFORM",
"error(0).subdomain":"Application",
"error(0).severity":"Error",
"error(0).category":"Application",
"error(0).message":"Cannot determine PayPal Account status"

}

curl 代码

function hash_call_account($methodName, $nvpStr)
{
//declaring of global variables

$this->API_Endpoint_Adaptive_Account .= "/" . $methodName;

//setting the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$this->API_Endpoint_Adaptive_Account);
curl_setopt($ch, CURLOPT_VERBOSE, 1);

//turning off the server and peer verification(TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);

// Set the HTTP Headers
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-PAYPAL-REQUEST-DATA-FORMAT: NV',
'X-PAYPAL-RESPONSE-DATA-FORMAT: NV',
'X-PAYPAL-SECURITY-USERID: ' . $this->API_UserName,
'X-PAYPAL-SECURITY-PASSWORD: ' .$this->API_Password,
'X-PAYPAL-SECURITY-SIGNATURE: ' . $this->API_Signature,
'X-PAYPAL-APPLICATION-ID: ' . $this->API_AppID
));

//if USE_PROXY constant set to TRUE in Constants.php, then only proxy will be enabled.
//Set proxy name to PROXY_HOST and port number to PROXY_PORT in constants.php
if($this->USE_PROXY)
curl_setopt ($ch, CURLOPT_PROXY, $this->PROXY_HOST. ":" . $this->PROXY_PORT);

// RequestEnvelope fields
$detailLevel = urlencode("ReturnAll"); // See DetailLevelCode in the WSDL for valid enumerations
$errorLanguage = urlencode("en_US"); // This should be the standard RFC 3066 language identification tag, e.g., en_US

// NVPRequest for submitting to server
$nvpreq = "requestEnvelope.errorLanguage=$errorLanguage&requestEnvelope.detailLevel=$detailLevel";
$nvpreq .= "&$nvpStr";
//echo $nvpreq; die;
//setting the nvpreq as POST FIELD to curl
curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq);

//getting response from server
$response = curl_exec($ch);

//converting NVPResponse to an Associative Array
$nvpResArray=$this->deformatNVP($response);
$nvpReqArray=$this->deformatNVP($nvpreq);
$_SESSION['nvpReqArray']=$nvpReqArray;

if (curl_errno($ch))
{
// moving to display page to display curl errors
$_SESSION['curl_error_no']=curl_errno($ch) ;
$_SESSION['curl_error_msg']=curl_error($ch);

//Execute the Error handling module to display errors.
}
else
{
//closing the curl
curl_close($ch);
}

return $nvpResArray;
}

配置:

Configure::write('ParallelPayPalAPI.URL', 'https://svcs.sandbox.paypal.com/AdaptivePayments');
Configure::write('ParallelPayPalAPI.AdaptiveAccountURL', 'https://svcs.sandbox.paypal.com/AdaptiveAccounts');
Configure::write('ParallelPayPalAPI.api_username', user);
Configure::write('ParallelPayPalAPI.api_password', password);
Configure::write('ParallelPayPalAPI.api_signature', signature);
Configure::write('ParallelPayPalAPI.business', business);
Configure::write('ParallelPayPalAPI.PaymentDetailUrl', 'https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails');
Configure::write('ParallelPayPalAPI.AppID', AppId);

可能是 API 版本的问题? NVP请求有问题吗?

最佳答案

我遇到了同样的问题并联系了 paypal 技术支持,解决方案很简单,当名称与 paypal 帐户的电子邮件不匹配时,错误 580023 是正常行为。这是令人困惑的,因为请求没有任何问题,与响应消息暗示的相反。因此,对于您的示例,如果您遇到相同的问题,那么您只需将 John Doe 更改为与您尝试匹配的 Paypal 电子邮件关联的用户的名字和姓氏。

我与 paypal MTS 的 session 记录:

“您收到的错误是预料之中的。为了获得已验证或未验证的响应,您提供的姓名必须与您提供的电子邮件地址相匹配。”

关于php - Paypal API - GetVerifiedStatus - 无效请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17858746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com