En mi proyecto utilizo Servlet en Java para comunicarme con Mercado Pago y logro recibir información, pero es insuficiente porque solo le estoy pasando el head (-H) que requiere la API. Además de eso, como se ve en el ejemplo de uso, debería pasar (-d) pero desconozco el comando para hacerlo. Comparto mi código y el ejemplo que dan en la API
public class MercadoPagoServlet extends HttpServlet implements Servlet { private static final long serialVersionUID = 1L; public static void main(String[] args) throws IOException, InterruptedException { HttpRequest request = HttpRequest .newBuilder() .uri(URI.create("https://api.mercadopago.com/v1/payments")) .GET() .setHeader("Authorization", "Bearer TEST 54fgjweroirej33345eg24") .setHeader("Content-Type", "application/json") .build(); HttpClient client = HttpClient.newHttpClient(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); String json = response.body(); System.out.println(json); } }
El problema que tengo es que necesito pasar más información, tal como en el curl de su ejemplo:
curl -X POST \'https://api.mercadopago.com/v1/payments' \ -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{"additional_info": {"items": [ {"id": "PR0001","title": "Point Mini","description": "Producto Point para cobros con tarjetas mediante bluetooth","category_id": "electronics","quantity": 1,"unit_price": 58.8 } ],"payer": {"first_name": "Test","last_name": "Test","phone": {"area_code": 11,"number": "987654321" },"address": {} }...}