Php 贝宝退款交易API(NVP)问题
我正在尝试使用nvp的ReturnTransaction API作为Php 贝宝退款交易API(NVP)问题,php,curl,paypal,Php,Curl,Paypal,我正在尝试使用nvp的ReturnTransaction API作为[METHOD]=>ReturnTransaction 仅通用响应字段作为对PayPal交易API操作(NVP)的响应返回 这是请求 Array ( [METHOD] => RefundTransaction [VERSION] => 54.0 [USER] => abc***xyz.com [PWD] => asd******asd [SIGNATURE] =&g
[METHOD]=>ReturnTransaction
仅通用响应字段作为对PayPal交易API操作(NVP)的响应返回
这是请求
Array
(
[METHOD] => RefundTransaction
[VERSION] => 54.0
[USER] => abc***xyz.com
[PWD] => asd******asd
[SIGNATURE] => T535*****************************************qWE3
[CURRENCYCODE] => AUD
[TRANSACTIONID] => 1D4*******40913KKJ
)
这是我得到的答复
Array
(
[TIMESTAMP] => 2014-11-11T11:40:57Z
[CORRELATIONID] => 3dba******fce
[ACK] => Success
[VERSION] => 54.0
[BUILD] => 13***072
)
问题是我得到的回应是成功,但只有公共领域存在。请帮忙
这就是我的函数的样子
private function nvpCall($transaction_id){
$params['TRANSACTIONID'] = $transaction_id;
$params['REFUNDTYPE'] = 'Full';
$nvpArr = $params ;
$nvpreq = array();
$nvpreq['METHOD'] = urlencode($methodName);
$nvpreq['VERSION'] = urlencode('54.0');
$nvpreq['USER'] = urlencode($this->pp_pro_username);
$nvpreq['PWD'] = urlencode($this->pp_pro_password);
$nvpreq['SIGNATURE'] = urlencode($this->pp_pro_signature);
$nvpreq['CURRENCYCODE'] = urlencode('AUD');
$nvpreq = array_merge($nvpreq, $nvpArr);
$strReq = '';
foreach($nvpreq as $key => $val){
if($strReq!='') {
$strReq.= '&';
}
$strReq.= $key.'='.urlencode($val);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->api_endpoint);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
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);
curl_setopt($ch, CURLOPT_POSTFIELDS, $strReq);
$response = curl_exec($ch);
curl_close($ch);
print_r($this->deformatNVP($response));
}
添加注释
现在我发现这不是代码的问题,而是在沙盒帐户中使用了另一个用户名、密码和签名!那么问题出在哪里呢?你能粘贴来自PayPal的完整回复,其中包括相关id吗?不过它在沙盒帐户中使用了另一个用户名、密码和签名!那么问题出在哪里呢?