www in docker support

This commit is contained in:
MaddoScientisto 2026-04-22 18:41:37 +02:00
commit c227fce036
2145 changed files with 399596 additions and 58 deletions

View file

@ -0,0 +1,48 @@
package com.paypal.AuthorizeIntentExamples;
import com.paypal.PayPalClient;
import com.paypal.http.HttpRequest;
import com.paypal.http.HttpResponse;
import com.paypal.http.serializer.Json;
import com.paypal.orders.Authorization;
import com.paypal.orders.LinkDescription;
import com.paypal.orders.Order;
import com.paypal.orders.OrderRequest;
import com.paypal.orders.OrdersAuthorizeRequest;
import com.paypal.orders.PurchaseUnit;
import java.io.IOException;
import java.util.Objects;
import org.json.JSONObject;
public class AuthorizeOrder extends PayPalClient {
private OrderRequest buildRequestBody() {
return new OrderRequest();
}
public HttpResponse<Order> authorizeOrder(String orderId, boolean debug) throws IOException {
OrdersAuthorizeRequest request = new OrdersAuthorizeRequest(orderId);
request.requestBody(buildRequestBody());
HttpResponse<Order> response = client().execute((HttpRequest)request);
if (debug) {
System.out.println("Authorization Ids:");
((Order)response.result()).purchaseUnits().forEach(purchaseUnit -> {
Objects.requireNonNull(System.out);
purchaseUnit.payments().authorizations().stream().map(authorization -> authorization.id()).forEach(System.out::println);
});
System.out.println("Link Descriptions: ");
for (LinkDescription link : (Iterable<LinkDescription>)((Order)response.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href());
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 AuthorizeOrder().authorizeOrder("<<REPLACE-WITH-APPROVED-ORDER-ID>>", true);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View file

@ -0,0 +1,43 @@
package com.paypal.AuthorizeIntentExamples;
import com.paypal.PayPalClient;
import com.paypal.http.HttpRequest;
import com.paypal.http.HttpResponse;
import com.paypal.http.serializer.Json;
import com.paypal.orders.OrderRequest;
import com.paypal.payments.AuthorizationsCaptureRequest;
import com.paypal.payments.Capture;
import com.paypal.payments.LinkDescription;
import java.io.IOException;
import org.json.JSONObject;
public class CaptureOrder extends PayPalClient {
public OrderRequest buildRequestBody() {
return new OrderRequest();
}
public HttpResponse<Capture> captureOrder(String authId, boolean debug) throws IOException {
AuthorizationsCaptureRequest request = new AuthorizationsCaptureRequest(authId);
request.requestBody(buildRequestBody());
HttpResponse<Capture> response = client().execute((HttpRequest)request);
if (debug) {
System.out.println("Status Code: " + response.statusCode());
System.out.println("Status: " + ((Capture)response.result()).status());
System.out.println("Capture ID: " + ((Capture)response.result()).id());
System.out.println("Links: ");
for (LinkDescription link : (Iterable<LinkDescription>)((Capture)response.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href() + "\tCall Type: " + link.method());
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-VALID-AUTHORIZATION-ID>>", true);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View file

@ -0,0 +1,132 @@
package com.paypal.AuthorizeIntentExamples;
import com.paypal.PayPalClient;
import com.paypal.http.HttpRequest;
import com.paypal.http.HttpResponse;
import com.paypal.http.exceptions.HttpException;
import com.paypal.http.serializer.Json;
import com.paypal.orders.AddressPortable;
import com.paypal.orders.AmountBreakdown;
import com.paypal.orders.AmountWithBreakdown;
import com.paypal.orders.ApplicationContext;
import com.paypal.orders.Item;
import com.paypal.orders.LinkDescription;
import com.paypal.orders.Money;
import com.paypal.orders.Name;
import com.paypal.orders.Order;
import com.paypal.orders.OrderRequest;
import com.paypal.orders.OrdersCreateRequest;
import com.paypal.orders.PurchaseUnitRequest;
import com.paypal.orders.ShippingDetail;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONObject;
public class CreateOrder extends PayPalClient {
private OrderRequest buildCompleteRequestBody() {
OrderRequest orderRequest = new OrderRequest();
orderRequest.checkoutPaymentIntent("AUTHORIZE");
ApplicationContext applicationContext = new ApplicationContext().brandName("EXAMPLE INC").landingPage("BILLING")
.cancelUrl("https://www.example.com").returnUrl("https://www.example.com").userAction("CONTINUE")
.shippingPreference("SET_PROVIDED_ADDRESS");
orderRequest.applicationContext(applicationContext);
List<PurchaseUnitRequest> purchaseUnitRequests = new ArrayList<>();
PurchaseUnitRequest purchaseUnitRequest = new PurchaseUnitRequest().referenceId("PUHF")
.description("Sporting Goods").customId("CUST-HighFashions").softDescriptor("HighFashions")
.amountWithBreakdown(new AmountWithBreakdown().currencyCode("USD").value("220.00")
.amountBreakdown(new AmountBreakdown().itemTotal(new Money().currencyCode("USD").value("180.00"))
.shipping(new Money().currencyCode("USD").value("20.00"))
.handling(new Money().currencyCode("USD").value("10.00"))
.taxTotal(new Money().currencyCode("USD").value("20.00"))
.shippingDiscount(new Money().currencyCode("USD").value("10.00"))))
.items(new ArrayList<>() {
{
add(new Item().name("T-shirt").description("Green XL").sku("sku01")
.unitAmount(new Money().currencyCode("USD").value("90.00"))
.tax(new Money().currencyCode("USD").value("10.00")).quantity("1")
.category("PHYSICAL_GOODS"));
add(new Item().name("Shoes").description("Running, Size 10.5").sku("sku02")
.unitAmount(new Money().currencyCode("USD").value("45.00"))
.tax(new Money().currencyCode("USD").value("5.00")).quantity("2")
.category("PHYSICAL_GOODS"));
}
}).shippingDetail(new ShippingDetail().name(new Name().fullName("John Doe"))
.addressPortable(new AddressPortable().addressLine1("123 Townsend St").addressLine2("Floor 6")
.adminArea2("San Francisco").adminArea1("CA").postalCode("94107").countryCode("US")));
purchaseUnitRequests.add(purchaseUnitRequest);
orderRequest.purchaseUnits(purchaseUnitRequests);
return orderRequest;
}
private OrderRequest buildMinimumRequestBody() {
OrderRequest orderRequest = new OrderRequest();
orderRequest.checkoutPaymentIntent("AUTHORIZE");
ApplicationContext applicationContext = new ApplicationContext()
.cancelUrl("https://www.example.com").returnUrl("https://www.example.com");
orderRequest.applicationContext(applicationContext);
List<PurchaseUnitRequest> purchaseUnitRequests = new ArrayList<>();
PurchaseUnitRequest purchaseUnitRequest = new PurchaseUnitRequest()
.amountWithBreakdown(new AmountWithBreakdown().currencyCode("USD").value("220.00"));
purchaseUnitRequests.add(purchaseUnitRequest);
orderRequest.purchaseUnits(purchaseUnitRequests);
return orderRequest;
}
public HttpResponse<Order> createOrder(boolean debug) throws IOException {
OrdersCreateRequest request = new OrdersCreateRequest();
request.header("prefer", "return=representation");
request.requestBody(buildCompleteRequestBody());
HttpResponse<Order> response = client().execute((HttpRequest)request);
if (debug &&
response.statusCode() == 201) {
System.out.println("Order with Complete Payload: ");
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("Intent: " + ((Order)response.result()).checkoutPaymentIntent());
System.out.println("Links: ");
for (LinkDescription link : (Iterable<LinkDescription>)((Order)response.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href() + "\tCall Type: " + link.method());
System.out.println("Total Amount: " + ((Order)response.result()).purchaseUnits().get(0).amountWithBreakdown().currencyCode() + " " + ((Order)
response.result()).purchaseUnits().get(0).amountWithBreakdown().value());
System.out.println("Full response body:");
System.out.println(new JSONObject(new Json().serialize(response.result())).toString(4));
}
return response;
}
public HttpResponse<Order> createOrderWithMinimumPayload(boolean debug) throws IOException {
OrdersCreateRequest request = new OrdersCreateRequest();
request.header("prefer", "return=representation");
request.requestBody(buildMinimumRequestBody());
HttpResponse<Order> response = client().execute((HttpRequest)request);
if (debug &&
response.statusCode() == 201) {
System.out.println("Order with Minimum Payload: ");
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("Intent: " + ((Order)response.result()).checkoutPaymentIntent());
System.out.println("Links: ");
for (LinkDescription link : (Iterable<LinkDescription>)((Order)response.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href() + "\tCall Type: " + link.method());
System.out.println("Total Amount: " + ((Order)response.result()).purchaseUnits().get(0).amountWithBreakdown().currencyCode() + " " + ((Order)
response.result()).purchaseUnits().get(0).amountWithBreakdown().value());
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 CreateOrder().createOrder(true);
new CreateOrder().createOrderWithMinimumPayload(true);
} catch (HttpException e) {
System.out.println(e.getLocalizedMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}

View file

@ -0,0 +1,50 @@
package com.paypal.AuthorizeIntentExamples;
import com.paypal.PayPalClient;
import com.paypal.http.HttpRequest;
import com.paypal.http.HttpResponse;
import com.paypal.http.serializer.Json;
import com.paypal.payments.CapturesRefundRequest;
import com.paypal.payments.LinkDescription;
import com.paypal.payments.Money;
import com.paypal.payments.Refund;
import com.paypal.payments.RefundRequest;
import java.io.IOException;
import org.json.JSONObject;
public class RefundOrder extends PayPalClient {
public RefundRequest buildRequestBody() {
RefundRequest refundRequest = new RefundRequest();
Money money = new Money();
money.currencyCode("USD");
money.value("20.00");
refundRequest.amount(money);
return refundRequest;
}
public HttpResponse<Refund> refundOrder(String captureId, boolean debug) throws IOException {
CapturesRefundRequest request = new CapturesRefundRequest(captureId);
request.prefer("return=representation");
request.requestBody(buildRequestBody());
HttpResponse<Refund> response = client().execute((HttpRequest)request);
if (debug) {
System.out.println("Status Code: " + response.statusCode());
System.out.println("Status: " + ((Refund)response.result()).status());
System.out.println("Refund Id: " + ((Refund)response.result()).id());
System.out.println("Links: ");
for (LinkDescription link : (Iterable<LinkDescription>)((Refund)response.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href() + "\tCall Type: " + link.method());
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 RefundOrder().refundOrder("<<REPLACE-WITH-VALID-CAPTURE-ID>>", true);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View file

@ -0,0 +1,59 @@
package com.paypal.AuthorizeIntentExamples;
import com.paypal.http.HttpResponse;
import com.paypal.orders.LinkDescription;
import com.paypal.orders.Order;
import com.paypal.payments.Capture;
import com.paypal.payments.Refund;
public class RunAll {
public static void main(String[] args) {
try {
HttpResponse<Order> orderResponse = new CreateOrder().createOrder(false);
String orderId = "";
System.out.println("Creating Order...");
if (orderResponse.statusCode() == 201) {
orderId = ((Order)orderResponse.result()).id();
System.out.println("Order ID: " + orderId);
System.out.println("Links:");
for (LinkDescription link : (Iterable<LinkDescription>)((Order)orderResponse.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href());
}
System.out.println("Created Successfully\n");
System.out.println("Copy approve link and paste it in browser. Login with buyer account and follow the instructions.\nOnce approved hit enter...");
System.in.read();
System.out.println("Authorizing Order...");
orderResponse = new AuthorizeOrder().authorizeOrder(orderId, false);
String authId = "";
if (orderResponse.statusCode() == 201) {
System.out.println("Authorized Successfully\n");
authId = ((Order)orderResponse.result()).purchaseUnits().get(0).payments().authorizations().get(0).id();
}
System.out.println("Capturing Order...");
HttpResponse<Capture> captureOrderResponse = new CaptureOrder().captureOrder(authId, false);
if (orderResponse.statusCode() == 201) {
System.out.println("Captured Successfully");
System.out.println("Status Code: " + captureOrderResponse.statusCode());
System.out.println("Status: " + ((Capture)captureOrderResponse.result()).status());
System.out.println("Capture ID: " + ((Capture)captureOrderResponse.result()).id());
System.out.println("Links: ");
for (com.paypal.payments.LinkDescription link : (Iterable<com.paypal.payments.LinkDescription>)((Capture)captureOrderResponse.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href() + "\tCall Type: " + link.method());
}
System.out.println();
System.out.println("Refunding Order...");
HttpResponse<Refund> refundHttpResponse = new RefundOrder().refundOrder(((Capture)captureOrderResponse.result()).id(), false);
if (refundHttpResponse.statusCode() == 201) {
System.out.println("Refunded Successfully");
System.out.println("Status Code: " + refundHttpResponse.statusCode());
System.out.println("Status: " + ((Refund)refundHttpResponse.result()).status());
System.out.println("Order ID: " + ((Refund)refundHttpResponse.result()).id());
System.out.println("Links: ");
for (com.paypal.payments.LinkDescription link : (Iterable<com.paypal.payments.LinkDescription>)((Refund)refundHttpResponse.result()).links())
System.out.println("\t" + link.rel() + ": " + link.href() + "\tCall Type: " + link.method());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}