【发布时间】:2016-08-21 19:39:15
【问题描述】:
我在使用 paypal api 沙盒和直播时遇到了奇怪的问题 当我将它用于第一次通话时它工作得很好,但在第二次通话中它给了我 1051 错误 这是我的代码
<?php
require_once('includes/config.php');
$request_params = array
(
'METHOD' => 'DoDirectPayment',
'USER' => $api_username,
'PWD' => $api_password,
'SIGNATURE' => $api_signature,
'VERSION' => $api_version,
'PAYMENTACTION' => 'Sale',
'IPADDRESS' => $_SERVER['REMOTE_ADDR'],
'CREDITCARDTYPE' => 'VISA',
'ACCT' => 'MYCARDNUMBER',
'EXPDATE' => '092019',
'CVV2' => '456',
'FIRSTNAME' => 'mouner',
'LASTNAME' => 'mostafa',
'STREET' => '707 W. Bay Drive',
'CITY' => 'Largo',
'STATE' => 'FL',
'COUNTRYCODE' => 'US',
'ZIP' => '33770',
'AMT' => '100.00',
'CURRENCYCODE' => 'USD',
'DESC' => 'Testing Payments Prod'
);
$nvp_string = '';
foreach($request_params as $var=>$val)
{
$nvp_string .= '&'.$var.'='.urlencode($val);
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_URL, $api_endpoint);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string);
$result = curl_exec($curl);
echo $result.'<br /><br />';
curl_close($curl);
$result_array = NVPToArray($result);
echo '<pre />';
print_r($result_array);
function NVPToArray($NVPString)
{
$proArray = array();
while(strlen($NVPString))
{
$keypos= strpos($NVPString,'=');
$keyval = substr($NVPString,0,$keypos);
$valuepos = strpos($NVPString,'&') ? strpos($NVPString,'&'): strlen($NVPString);
$valval = substr($NVPString,$keypos+1,$valuepos-$keypos-1);
// decoding the respose
$proArray[$keyval] = urldecode($valval);
$NVPString = substr($NVPString,$valuepos+1,strlen($NVPString));
}
return $proArray;
}
和配置文件有我的沙盒 url 和 api 详细信息
api 响应
Array
(
[TIMESTAMP] => 2016-08-22T00:53:51Z
[CORRELATIONID] => 9f0a90722a334
[ACK] => Failure
[VERSION] => 85.0
[BUILD] => 000000
[L_ERRORCODE0] => 10501
[L_SHORTMESSAGE0] => Invalid Configuration
[L_LONGMESSAGE0] => This transaction cannot be processed due to an invalid merchant configuration.
[L_SEVERITYCODE0] => Error
[AMT] => 100.00
[CURRENCYCODE] => USD
)
【问题讨论】:
-
您能否提供 API 响应以及相关 ID?
-
你好 #vimalnath 我用 api response.thanks 更新了我的问题
标签: php paypal paypal-sandbox