package com.paypal.CaptureIntentExamples; import com.paypal.PayPalClient; import com.paypal.http.HttpRequest; import com.paypal.http.HttpResponse; import com.paypal.http.serializer.Json; import com.paypal.orders.Capture; import com.paypal.orders.LinkDescription; import com.paypal.orders.Order; import com.paypal.orders.OrderRequest; import com.paypal.orders.OrdersCaptureRequest; import com.paypal.orders.Payer; import com.paypal.orders.PurchaseUnit; import java.io.IOException; import org.json.JSONObject; public class CaptureOrder extends PayPalClient { public OrderRequest buildRequestBody() { return new OrderRequest(); } public HttpResponse captureOrder(String orderId, boolean debug) throws IOException { OrdersCaptureRequest request = new OrdersCaptureRequest(orderId); request.requestBody(buildRequestBody()); HttpResponse response = client().execute((HttpRequest)request); if (debug) { System.out.println("Status Code: " + response.statusCode()); System.out.println("Status: " + ((Order)response.result()).status()); System.out.println("Order ID: " + ((Order)response.result()).id()); System.out.println("Links: "); for (LinkDescription link : (Iterable)((Order)response.result()).links()) System.out.println("\t" + link.rel() + ": " + link.href()); System.out.println("Capture ids:"); for (PurchaseUnit purchaseUnit : (Iterable)((Order)response.result()).purchaseUnits()) { for (Capture capture : (Iterable)purchaseUnit.payments().captures()) System.out.println("\t" + capture.id()); } System.out.println("Buyer: "); Payer buyer = ((Order)response.result()).payer(); System.out.println("\tEmail Address: " + buyer.email()); System.out.println("\tName: " + buyer.name().givenName() + " " + buyer.name().surname()); System.out.println("Full response body:"); System.out.println(new JSONObject(new Json().serialize(response.result())).toString(4)); } return response; } public static void main(String[] args) { try { new CaptureOrder().captureOrder("<>", true); } catch (Exception e) { e.printStackTrace(); } } }