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,182 @@
package it.acxent.bank.servlet.paypalcheckout;
import com.paypal.http.HttpResponse;
import com.paypal.http.serializer.Json;
import com.paypal.orders.Order;
import it.acxent.bank.paypalcheckout.PayPalOrder;
import it.acxent.bank.paypalcheckout.PayPalReq;
import it.acxent.db.DBAdapter;
import it.acxent.servlet.AcServlet;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.json.JSONArray;
import org.json.JSONObject;
public class PaypalCheckoutSvlt extends AcServlet {
private static final long serialVersionUID = 5690568301539954108L;
public static final String CMD_CREATE_ORDER = "createOrder";
public static final String CMD_GET_ORDER_DETAILS = "getOrderDetails";
protected static final String CMD_GET_RES = "res";
protected static final String BEAN_PAYPALRES = "payPalResp";
private static final boolean debug = false;
protected final void callJsp(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(getJspOkPage(req, res), req);
try {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e);
}
}
private void _createOrder(HttpServletRequest req, HttpServletResponse res) {
PayPalReq pReq = getPayPalReq(req, res);
pReq.setPaypalClientId(getApplicationClientId());
pReq.setPaypalClientSecret(getApplicationClienteSecret());
pReq.setUseSandbox(isUseSandbox(req));
try {
HttpResponse<Order> respOrd = new PayPalOrder(pReq).createOrder(false);
String orderId = ((Order)respOrd.result()).id();
String result = "{\"orderID\":\"" + orderId + "\"}";
System.out.println(String.valueOf(DBAdapter.getNow()) + " _createOrder paypalcheckoutsvlt: " + String.valueOf(DBAdapter.getNow()));
pReq.setPaypalOrderId(orderId);
updatePaypalOrderId(req, pReq);
sendHtmlMsgResponse(req, res, result);
} catch (Exception e) {
e.printStackTrace();
System.out.println(String.valueOf(DBAdapter.getNow()) + " _createOrder paypalcheckoutsvlt: exception; " + String.valueOf(DBAdapter.getNow()));
}
}
private String getJspOkPage(HttpServletRequest req, HttpServletResponse res) {
String temp = getParm("PAYPAL_OK").getTesto();
if (temp.isEmpty())
return "payPalRes.jsp";
return temp;
}
private String getCancelURL(HttpServletRequest req, HttpServletResponse res) {
String temp = getParm("PAYPAL_CANCELURL").getTesto();
if (temp.isEmpty())
return "http://localhost/cc/PayPalCOResp.abl";
return temp;
}
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
try {
String cmd = getCmd(req);
if (cmd.equals("createOrder")) {
_createOrder(req, res);
} else {
_getPayerDatails(req, res);
}
} catch (Exception e) {
handleDebug(e);
}
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
private boolean isUseSandbox(HttpServletRequest req) {
return getParm("P_PAYPAL_CHECKOUT_USE_SANDBOX").isTrue();
}
protected void recordOrder(HttpServletRequest req, HttpServletResponse res, JSONObject jso) {}
private String getApplicationClientId() {
String temp = getParm("PAYPAL_CHECKOUT_APPLICATION_CLIENT_ID").getTesto();
if (temp.isEmpty())
return "ASB7x1BxlkomVZ1BM0OesK2SuCLjRq9R4dyc5rtCVBzM7nHB0eunZyyxO4758BgXnZBV9JSCZ3bqpFw9";
return temp;
}
private String getApplicationClienteSecret() {
String temp = getParm("PAYPAL_CHECKOUT_APPLICATION_CLIENT_SECRET").getTesto();
if (temp.isEmpty())
return "EFiYhkh4tgv1d3Wnx2qUAG1_BtxddWoGhZTlV7EseRfP4uKFMRAub_5G9D9PIgTObVjB54SZd2UNyXlZ";
return temp;
}
private String getCurrency() {
String temp = getParm("PAYPAL_CURRENCY").getTesto();
if (temp.isEmpty())
return "EUR";
return temp;
}
private String getReturnURL(HttpServletRequest req, HttpServletResponse res) {
String temp = getParm("PAYPAL_RETURNURL").getTesto();
if (temp.isEmpty())
return "http://localhost/cc/PayPalCOResp.abl";
return temp;
}
private void _getPayerDatails(HttpServletRequest req, HttpServletResponse res) {
PayPalReq preq = new PayPalReq();
fillObject(req, preq);
preq.setPaypalClientId(getApplicationClientId());
preq.setPaypalClientSecret(getApplicationClienteSecret());
preq.setUseSandbox(isUseSandbox(req));
System.out.println("PAYPALCHECKOUT _getPayerDatails .... ");
try {
String orderIdJson = IOUtils.toString(req.getReader());
JSONObject jso = new JSONObject(orderIdJson);
String orderId = jso.getString("orderID");
HttpResponse<Order> respOrd = new PayPalOrder(preq).getOrder(orderId);
JSONObject jsonRespObj = new JSONObject(new Json().serialize(respOrd.result()));
String json = jsonRespObj.toString(4);
String status = jsonRespObj.getString("status");
System.out.println("PAYPALCHECKOUT _getPayerDatails status: " + status);
if (status.equals("COMPLETED"))
recordOrder(req, res, jsonRespObj);
sendHtmlMsgResponse(req, res, json);
} catch (Exception e) {
e.printStackTrace();
}
}
protected PayPalReq getPayPalReq(HttpServletRequest req, HttpServletResponse res) {
return null;
}
protected void updatePaypalOrderId(HttpServletRequest req, PayPalReq pReq) {}
protected String extractTransactionId(JSONObject jo) {
String transactionId = "";
if (jo == null)
return transactionId;
try {
if (!jo.has("purchase_units"))
return transactionId;
JSONArray purchaseUnits = jo.optJSONArray("purchase_units");
if (purchaseUnits == null || purchaseUnits.isEmpty())
return transactionId;
JSONObject firstPurchaseUnit = purchaseUnits.optJSONObject(0);
if (firstPurchaseUnit == null)
return transactionId;
JSONObject payments = firstPurchaseUnit.optJSONObject("payments");
if (payments == null)
return transactionId;
JSONArray captures = payments.optJSONArray("captures");
if (captures == null || captures.isEmpty())
return transactionId;
JSONObject firstCapture = captures.optJSONObject(0);
if (firstCapture == null)
return transactionId;
transactionId = firstCapture.optString("id", "");
} catch (Exception e) {}
return transactionId;
}
}