加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – com.paypal.core.rest.PayPalRESTException:读取超时

发布时间:2020-12-16 18:33:31 所属栏目:安全 来源:网络整理
导读:我在我的项目中使用paypal付款.它适用于签证卡和万事达卡,付款成功完成. private def doFinalPayment(payment: Payment,payer: Payer,accessToken: String): Payment = { val apiContext = new APIContext(accessToken) var objPay=payment apiContext.setCo
我在我的项目中使用paypal付款.它适用于签证卡和万事达卡,付款成功完成.

private def doFinalPayment(payment: Payment,payer: Payer,accessToken: String): Payment = {    
val apiContext = new  APIContext(accessToken)  
var objPay=payment   
apiContext.setConfigurationMap(sdkConfig)   
try {
      objPay = objPay.create(apiContext)//Exception Occur here
      // some code here...........

       } catch {
     case e: PayPalRESTException => {
       println("EXCEPTION IN DO FINAL PAYMENT METHOD")
       val msg = e.getMessage
       println(e)
       println(msg)
     }   
   }    
objPay 
}

但是使用美国运通和美国运通发现卡它给我以下例外:

EXCEPTION IN DO FINAL PAYMENT METHOD  
com.paypal.core.rest.PayPalRESTException:Read timed out
Read timed out

我正在使用这些库依赖……

"com.paypal.sdk" % "paypal-core" % "1.5.2","com.paypal.sdk" % "rest-api-sdk" % "0.7.1","com.paypal.sdk" % "invoicesdk" % "2.4.106","com.paypal.sdk" % "adaptivepaymentssdk" % "2.5.106","com.paypal.sdk" % "adaptiveaccountssdk" % "2.4.106","com.paypal.sdk" % "permissionssdk" % "2.3.106","com.stripe" % "stripe-java" % "1.7.1","com.sparkjava" % "spark-core" % "1.1.1","com.paypal.sdk" % "merchantsdk" % "2.1.96"

解决方法

American Express和Discover有时会有更长的处理时间.如果您使用REST SDK作为基础,则http.connectiontimeout变量设置为30秒.您应该将其增加到至少60(如果仍然有超时,可能会更高).

在Scala中,您可以设置http.setRequestTimeoutInMs(6000)以将超时增加到60秒.

SDK示例包含一个设置APIContext的bootstrap.php文件.

// Use an ApiContext object to authenticate 
// API calls. The clientId and clientSecret for the 
// OAuthTokenCredential class can be retrieved from 
// developer.paypal.com

$apiContext = new ApiContext(
    new OAuthTokenCredential(
        '...','...'
    )
);



// #### SDK configuration

// Comment this line out and uncomment the PP_CONFIG_PATH
// 'define' block if you want to use static file 
// based configuration

$apiContext->setConfig(
    array(
        'mode' => 'sandbox','http.ConnectionTimeOut' => 30,'log.LogEnabled' => true,'log.FileName' => '../PayPal.log','log.LogLevel' => 'FINE'
    )
);

http.ConnectionTimeOut字段是您要查看的位置.将其设置为60或更高.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读