【发布时间】:2015-01-24 04:16:27
【问题描述】:
这是我第一次使用 PayPal API,我正在尝试使用沙盒帐户在 java Web 应用程序中测试快速结帐集成,但第一步遇到了问题。我正在调用 SetExpressCheckout 操作并收到此错误:
"TIMESTAMP=2014%2d11%2d25T15%3a19%3a14Z&CORRELATIONID=523b6bcbe502f&ACK=Failure&L_ERRORCODE0=10001&L_SHORTMESSAGE0=Internal%20Error&L_LONGMESSAGE0=Timeout%20processing%20re强>”
正如您在 L_LONGMESSAGE0 中看到的,描述是“超时处理请求”,我不知道它是否相关,但 TIMESTAMP 提前 3 小时(我在 GMT-3,所以当我发送请求时当时是 12:19:14 而不是 15:19:14)。除此之外,我正在根据 PayPal 的帮助构建我的 url,这是一个示例(使用为沙盒帐户提供的默认测试用户、密码和签名):
https://api-3t.sandbox.paypal.com/nvp?USER=sdk-three_api1.sdk.com&PWD=QFZCWN5HZM8VBG7Q&SIGNATURE=A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU&METHOD=SetExpressCheckout&VERSION=99.0&RETURNURL=http%3A%2F%2Flocalhost%3A8080%2Fmysite%2Fsomepage&CANCELURL=http%3A%2F%2Flocalhost%3A8080%mysite%2Ferror&PAYMENTREQUEST_0_PAYMENTACTION=Sale&PAYMENTREQUEST_0_AMT=10.00
这是完整的代码:
String sUrl = "https://api-3t.sandbox.paypal.com/nvp?USER=sdk-three_api1.sdk.com&...."; //the full URL shown above
URL obj = new URL(sUrl);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer sbResponse = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
sbResponse.append(inputLine);
}
in.close();
每次阅读响应时,我都会看到“超时处理请求”消息(我也尝试过不编码请求参数,结果相同)。有谁知道这里发生了什么,或者至少是一个提示,以便我可以检查它?我发现与此错误相关的大多数帖子都是针对 php 的,并且是由参数问题(编码错误、缺少参数等)引起的。
提前致谢,问候。
【问题讨论】:
标签: java paypal paypal-sandbox