【问题标题】:paypal api sandbox and live send error 10501 in second callpaypal api沙箱和第二次通话中实时发送错误10501
【发布时间】: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


【解决方案1】:

您的 Sandbox 帐户似乎没有 PRO 帐户。您将需要一个专业帐户来运行 DoDirectPayment API 调用。

我建议您从 developer.paypal.com 创建另一个帐户->创建沙盒帐户->升级到 PRO。

【讨论】:

  • 再次问好 :D 实际上我的沙盒帐户已经是专业版了。谢谢
  • 你现在可以尝试做一个dodirect api调用吗,它应该可以工作
  • 从我们的角度来看,PRO 似乎没有正确启用,我刚刚重新启用了它。我来自贝宝。
猜你喜欢
  • 2013-04-15
  • 2018-06-11
  • 2012-05-20
  • 2015-07-17
  • 2017-11-27
  • 2020-04-10
  • 2013-06-24
  • 2010-12-12
  • 2018-01-02
相关资源
最近更新 更多