Paypal API Express Checkout in PHP付款错误代码13113


Paypal API Express Checkout in PHP Payment error code 13113

我们已经用Paypal沙盒尝试并测试了我们的网站,它可以完全扣除金额。

我们将API的详细信息切换到Paypal和链接。我们已经尝试了几个贝宝账户,看看它是否有效(他们都有足够的资金进行交易)。

我们通过我们的returnUrl页面上的API收到此回复-API调用失败的

Array ( [TIMESTAMP] => 2012%2d07%2d15T19%3a31%3a43Z [CORRELATIONID] => 927a89205e54a           
[ACK] => Failure [VERSION] => 65%2e1 [BUILD] => 3300093 [L_ERRORCODE0] => 13113               
[L_SHORTMESSAGE0] => Buyer%20Cannot%20Pay%2e [L_LONGMESSAGE0] =>                          
The%20Buyer%20cannot%20pay%20with%20PayPal%20for%20this%20Transaction%2e [L_SEVERITYCODE0] => Error )

进行最后API调用的Php-

$APIUSERNAME="*****";
$APIPASSWORD="***";
$APISIGNATURE="*****";
$ENDPOINT = "https://api-3t.paypal.com/nvp";
//$ENDPOINT     = "https://api-3t.sandbox.paypal.com/nvp";   
$VERSION      = "64"; 
//Build the Credential String:   
$cred_str = "USER=" . $APIUSERNAME . "&PWD=" . $APIPASSWORD . "&SIGNATURE=" .           
$APISIGNATURE . "&VERSION=" . $VERSION;
//Build NVP String for GetExpressCheckoutDetails   
$nvp_str = "&METHOD=GetExpressCheckoutDetails&TOKEN=" . urldecode($token); 
//Lets combine both strings then make the API call
$req_str = $cred_str . $nvp_str; $response = PPHttpPost($ENDPOINT, $req_str);

上面的数组来自于我从贝宝收到我的最后确认。

//check Response
if($doresponse['ACK'] == "Success" || $doresponse['ACK'] == "SuccessWithWarning") { 
echo "completed"; //just put to test  
include "finishtransaction.php"; //cancels my cart sessions
} else{
    echo "The API Call Failed"; print_r($doresponse); 
}

谷歌上没有太多关于这个错误的信息,甚至在API错误代码中也没有。以前有人来过这里吗?

贝宝API错误代码显然没有太大帮助。

错误代码13113,或"买方无法使用PayPal支付这笔交易"意味着PayPal拒绝处理交易,从而采取了安全措施。这可能是由于以下原因之一(还有更多,但这里有一些):

  • 买家的账户里没有足够的钱
  • 买家的账户中没有足够的钱,并且他们的信用卡收费有问题(如果他们在设置中设置了信用卡)
  • 买家要求卖家退还另一件商品的退款,因此PayPal阻止了买家的账户向卖家转账,直到情况得到解决
  • 买家涉嫌欺诈,因此他们的账户被冻结
  • 由于其他原因,买方的账户仅限于向特定卖方汇款
  • 由于某些特定原因,买方的账户被完全冻结

不幸的是,如果不仔细查看您的代码,任何人都无法告诉您太多信息。我会检查我的代码,并确保设置了所有合适的标志和未设置的标志。如果你等了几个小时,仍然收到错误(尤其是在多个/新账户上),那么你需要联系PayPal。

我知道这很糟糕,但只有PayPal才能告诉你交易失败的确切原因。