2014-04-22 31 views
5

Projemde ödeme için paypal kullanıyorum. visa kart ve ana kart için çalışır ve ödeme başarıyla gerçekleştirilmiştir.com.paypal.core.rest.PayPalRESTException: Zaman aşımına uğradı

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 
} 

Ama American Express & Discover kart ile bana aşağıdaki istisna veriyor:

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

Bunları kütüphane bağımlılıkları kullanıyorum ......

"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" 
+0

Daha fazla bilgi verebilir misiniz? (Komple hata iletisi? Özel durum hakkında daha fazla bilgi?) [Paypal API belgeleri] [1] 'de listelenen hata mı? Neden kütüphane kullanıyorsunuz? Kullandığınız etiketlerden (ve kod snippet'inden), Scala ve Play Framework'ü kullandığınızı varsayarım. [1]: https://developer.paypal.com/docs/classic/api/errorcodes/%20%22Paypal%20API%20error%20codes – Peanut

+0

url karışmış gördü. Bu çalışmalıdır: https://developer.paypal.com/docs/classic/api/errorcodes/ – Peanut

+0

Ben şimdiye kadar herhangi bir yeni cevap veya fikir alamıyorum –

cevap

2

American Express ve Discover'ın bazen daha uzun işlem süreleri vardır. REST SDK'yı tabanınız olarak kullanıyorsanız, http.connectiontimeout değişkeni 30 saniyeye ayarlanır. Bunu en az 60'a yükseltmelisiniz (ve zaman aşımına uğruyorsanız muhtemelen daha yüksek).

Scala olarak, 60 saniyeye zaman aşımı artırmak için http.setRequestTimeoutInMs (6000) ayarlayabilirsiniz.

SDK örnekleri bir APIContext ayarlayan bir bootstrap.php dosyası içerir.

// 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 alanı, bakmak istediğiniz yerdir. Bunu 60 ya da daha yükseğe ayarlayın.

+0

@PayPal_MSI_Robert benim soru güncellendi –

+0

@PayPal_MSI_Robert kullanıyorum "com.paypal.sdk"% "rest-api-sdk"% "0.7.1", http.connectiontimeout'u değiştirmek zorundayım, hangi klasöre ve dosyaya bu değişkeni alamıyorum. –

+0

Örnek dahil etmek için düzenlenmiş cevap. @RishiDwivedi –

İlgili konular