2016-10-24 33 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

相關問題