55 lines
2.2 KiB
Java
55 lines
2.2 KiB
Java
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<Order> captureOrder(String orderId, boolean debug) throws IOException {
|
|
OrdersCaptureRequest request = new OrdersCaptureRequest(orderId);
|
|
request.requestBody(buildRequestBody());
|
|
HttpResponse<Order> 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<LinkDescription>)((Order)response.result()).links())
|
|
System.out.println("\t" + link.rel() + ": " + link.href());
|
|
System.out.println("Capture ids:");
|
|
for (PurchaseUnit purchaseUnit : (Iterable<PurchaseUnit>)((Order)response.result()).purchaseUnits()) {
|
|
for (Capture capture : (Iterable<Capture>)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("<<REPLACE-WITH-APPROVED-ORDER-ID>>", true);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|