2014-04-22 5 views
5

समय पर पढ़ें मेरी परियोजना में भुगतान के लिए पेपैल का उपयोग कर रहा हूं। यह वीज़ा कार्ड और मास्टरकार्ड के लिए काम करता है और भुगतान सफलतापूर्वक किया गया था।com.paypal.core.rest.PayPalRESTException:

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

क्या आप अधिक जानकारी प्रदान कर सकते हैं? (पूर्ण त्रुटि संदेश? अपवाद पर अधिक जानकारी?) क्या [पेपैल एपीआई दस्तावेज] [1] में सूचीबद्ध त्रुटि है? पुस्तकालय आप क्यों उपयोग कर रहे हैं? आपके द्वारा उपयोग किए जाने वाले टैग (और कोड स्निपेट) से, मुझे लगता है कि आप स्कैला और प्ले फ्रेमवर्क का उपयोग करते हैं। [1]: https://developer.paypal.com/docs/classic/api/errorcodes/%20%22Paypal%20API%20error%20codes – Peanut

+0

यूआरएल मिल गया। इसे काम करना चाहिए: https://developer.paypal.com/docs/classic/api/errorcodes/ – Peanut

+0

अब तक मुझे कोई भी नया जवाब या विचार नहीं मिला है –

उत्तर

2

अमेरिकी एक्सप्रेस और डिस्कवर कभी-कभी लंबे प्रसंस्करण के समय होता है। यदि आप अपने बेस के रूप में आरईएसटी एसडीके का उपयोग कर रहे हैं, तो http.connectiontimeout चर 30 सेकंड पर सेट है। आपको इसे कम से कम 60 तक बढ़ा देना चाहिए (और यदि आप अभी भी टाइमआउट प्राप्त करते हैं तो संभवतः उच्चतर)।

स्कैला में, आप टाइमआउट को 60 सेकंड तक बढ़ाने के लिए http.setRequestTimeoutInMs (6000) सेट कर सकते हैं।

एसडीके नमूने में एक 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 या उससे अधिक तक सेट करें।

+0

@PayPal_MSI_Robert मैंने अपना प्रश्न –

+0

@PayPal_MSI_Robert अपडेट किया है "com.paypal.sdk"% "rest-api-sdk"% "0.7.1", जहां http.connectiontimeout को बदलना है, मुझे यह नहीं मिल रहा है कि कौन सा फ़ोल्डर और फ़ाइल मुझे यह चर मिलेगा। –

+0

उदाहरण शामिल करने के लिए संपादित उत्तर। @RishiDwivedi –