From baa76d99115edf1bd1a35d56afaa6372af223a7e Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Wed, 18 Dec 2024 09:59:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9PayPal=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=82=E6=95=B0returnUrl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/pay/paypal/config/PaypalConfig.java | 2 +- .../pay/paypal/controller/PaypalController.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/peanut/modules/pay/paypal/config/PaypalConfig.java b/src/main/java/com/peanut/modules/pay/paypal/config/PaypalConfig.java index b1d86248..27fce940 100644 --- a/src/main/java/com/peanut/modules/pay/paypal/config/PaypalConfig.java +++ b/src/main/java/com/peanut/modules/pay/paypal/config/PaypalConfig.java @@ -133,7 +133,7 @@ public class PaypalConfig { } //下单 - public JSONObject createOrder(BuyOrder buyOrder){ + public JSONObject createOrder(BuyOrder buyOrder,String returnUrl,String cancelUrl){ try{ URL u = new URL(modeUrl+createOrderURL); HttpURLConnection connection = (HttpURLConnection) u.openConnection(); diff --git a/src/main/java/com/peanut/modules/pay/paypal/controller/PaypalController.java b/src/main/java/com/peanut/modules/pay/paypal/controller/PaypalController.java index af1dd948..83216fbf 100644 --- a/src/main/java/com/peanut/modules/pay/paypal/controller/PaypalController.java +++ b/src/main/java/com/peanut/modules/pay/paypal/controller/PaypalController.java @@ -53,7 +53,7 @@ public class PaypalController { if ("point".equals(buyOrder.getOrderType())){ buyOrder.setRemark("Recharge Virtual Coin"); } - JSONObject res = paypalConfig.createOrder(buyOrder); + JSONObject res = paypalConfig.createOrder(buyOrder,params.get("returnUrl").toString(),params.get("cancelUrl").toString()); if (res.containsKey("links")&&res.containsKey("status")){ if ("CREATED".equals(res.get("status").toString())){ PayPaypalOrder payPaypalOrder = new PayPaypalOrder(); @@ -63,7 +63,16 @@ public class PaypalController { payPaypalOrder.setPaypalOrderId(res.get("id").toString()); payPaypalOrder.setDescription(buyOrder.getRemark()); payPaypalOrderService.save(payPaypalOrder); - return R.ok().put("id",res.get("id").toString()); + JSONArray array = (JSONArray)res.get("links"); + String url = ""; + for (int i = 0; i < array.size(); i++) { + JSONObject o = (JSONObject)array.get(i); + if ("approve".equals(o.get("rel"))){ + url = o.get("href").toString(); + } + } + + return R.ok().put("id",res.get("id").toString()).put("url",url); } } return R.error(res.get("error").toString());