PHP 支付中的 Paypal API Express Checkout 错误代码 13113

Posted

技术标签:

【中文标题】PHP 支付中的 Paypal API Express Checkout 错误代码 13113【英文标题】:Paypal API Express Checkout in PHP Payment error code 13113 【发布时间】:2013-06-24 18:38:06 【问题描述】:

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

我们将 API 详细信息切换到 Paypal 和链接。我们已经尝试了几个 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 )

php 进行最终的 API 调用 -

$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); 

Google 上没有太多关于此错误的信息,甚至在 API 错误代码中也没有。有没有人遇到过这个?

【问题讨论】:

【参考方案1】:

PayPal API Error Codes 诚然不是很有帮助。

错误代码 13113 或“买方无法使用 PayPal 支付此交易”表示 PayPal 已采取安全措施拒绝处理该交易。这可能是由于以下原因之一(还有更多,但这里有一些):

买方帐户中的资金不足 买家的帐户中没有足够的钱,并且从他们的信用卡中扣款时出现问题(如果他们在设置中进行了设置) 买家已要求卖家为另一件商品退款,因此 PayPal 已阻止买家的账户向卖家转账,直到问题得到解决。 买家涉嫌欺诈活动,因此他们的帐户被冻结。 由于某些其他原因,买家的帐户仅限于向特定卖家汇款 由于某种特定原因,买家的帐户被完全冻结

不幸的是,如果不彻底查看您的代码,没有人可以告诉您太多信息。我会检查我的代码,并确保设置了所有适当的标志和不存在的东西。如果您等待几个小时后仍然收到错误消息(尤其是在多个/新帐户上),那么您需要联系 PayPal。

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

【讨论】:

确保在所有参数上使用urlencode。你甚至使用urldecode($token),当我认为你的意思是urlencode($token) 谢谢,但它似乎没有这样做。试过编码。当然,如果它是一个促成因素,沙盒就不会起作用。 有道理。根据其他人的经验,您可能只需要联系 PayPal。 我想补充一点,这确实不是技术错误,而是 PayPal 或发卡机构直接拒绝交易。

以上是关于PHP 支付中的 Paypal API Express Checkout 错误代码 13113的主要内容,如果未能解决你的问题,请参考以下文章

我不断收到关于 paypal php 自适应支付 API 支付的错误“您的支付无法完成......”

PayPal 自适应支付 API - 延迟链支付(PHP、JavaScript)

用于支付流的 Paypal PHP REST API

paypal rest api支付调用使用php返回401

如何实现 Paypal 定期支付 API 以及买家通过信用卡/借记卡 php 支付的选项? [关闭]

如何将 PayPal 智能支付按钮与 PHP V2 的 REST API SDK 结合起来?