2016-10-24 35 views
0

当使用Sandbox中的json负载创建使用Java代码的PayPal付款时,我得到一个内部服务器错误(500)内部服务器错误(500)paypal创建付款在沙箱中使用Java json负载的其余API

我用JSON做出这样的:

{ 
"intent": "sale", 
"redirect_urls": 
{ 
"return_url": "somelink", 
"cancel_url": "somelink" 
}, 
"payer": 
{ 
"payment_method": "paypal" 
}, 
"transactions": [ 
{ 
"amount": 
{ 
"total": "17", 
"currency": "EUR" 
}, 
"description": "This is payment tran." 
}] 
} 

我试着用邮差完成同样的东西,我能做到这一点。事实上,我使用邮递员完成了整个付款交易(批准和执行)

我正在通过正确的访问令牌与承载。

HttpPost paymentPost = new HttpPost("api.sandbox.paypal.com/v1/payments/payment"); 
paymentPost.setHeader(HttpHeaders.AUTHORIZATION, pt.getTokenType() + " " + pt.getAccessToken()); 
List<NameValuePair> nvPairs = new ArrayList<NameValuePair>(4); 
nvPairs.add(new BasicNameValuePair("content-type", "application/json")); nvPairs.add(new BasicNameValuePair("Accept", "application/json")); 
paymentPost.setEntity(new UrlEncodedFormEntity(nvPairs)); 
+0

您是否设置了正确的内容类型标题。内容类型:应用程序/ JSON? –

+0

嗨Nitish我使用下面的代码 \t \t HttpPost paymentPost = new HttpPost(“https://api.sandbox.paypal.com/v1/payments/payment”); \t \t paymentPost.setHeader(HttpHeaders.AUTHORIZATION,pt.getTokenType()+“”+ pt.getAccessToken()); \t \t \t \t List nvPairs = new ArrayList (4); (new-BasicNameValuePair(“content-type”,“application/json”)); \t \t nvPairs.add(new BasicNameValuePair(“Accept”,“application/json”)); \t \t paymentPost.setEntity(new UrlEncodedFormEntity(nvPairs)); – user3703906

回答

0

您正在设置内容类型和接受请求的正文,而不是头。而且在你的代码中,我没有看到你将json添加到请求的位置。也许你正在这样做,并没有在你发布的代码中显示它。 。你需要使用addHeader来添加两个头文件。也许你可以尝试下面的代码,看看它是否解决了这个问题。

HttpPost paymentPost = new HttpPost("api.sandbox.paypal.com/v1/payments/payment"); 
paymentPost.setHeader(HttpHeaders.AUTHORIZATION, pt.getTokenType() + " " + pt.getAccessToken()); 
paymentPost.addHeader("content-type", "application/json"); 
paymentPost.addHeader("Accept", "application/json"); 
paymentPost.setEntity(new StringEntity(/**"YOUR JSON STRING"**/)); 
+0

感谢尼希。我错过了。我正在构建并在String实体中传递我的json。 – user3703906

+0

@ user3703906上面的代码是如何工作的? –

+0

是Nitish。对不起,这么晚回复。 – user3703906

相关问题