From aeb379749ad10eabd54086e93231228a48c69843 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 12 八月 2024 18:35:02 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/alipay/util/PayDemoActivity.java | 73 ++++++++++++++++++++++++++++++++++-- 1 files changed, 68 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/alipay/util/PayDemoActivity.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/alipay/util/PayDemoActivity.java index 0037651..d47e323 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/alipay/util/PayDemoActivity.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/alipay/util/PayDemoActivity.java @@ -5,14 +5,14 @@ import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.domain.AlipayTradeAppPayModel; +import com.alipay.api.domain.AlipayTradeCreateModel; import com.alipay.api.request.AlipayTradeAppPayRequest; -import com.alipay.api.response.AlipayTradeAppPayResponse; +import com.alipay.api.request.AlipayTradeCreateRequest; +import com.alipay.api.response.AlipayTradeCreateResponse; import com.jpay.alipay.AliPayApi; import com.jpay.alipay.AliPayApiConfig; import com.jpay.alipay.AliPayApiConfigKit; import com.ruoyi.order.util.alipay.config.AlipayConfig; - - import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; @@ -104,7 +104,7 @@ String orderInfo = ""; orderInfo = AliPayApi.startAppPay(model, NOTIFY_URL); - + map.put("orderInfo", orderInfo); map.put("Type",2); @@ -113,6 +113,69 @@ } return map; } - + + public static Map<String, Object> jsApiPay(String subject, String body, Double price, + String out_trade_no, String openId) throws AlipayApiException { + // 构造请求参数以调用接口 + AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); + AlipayTradeCreateModel model = new AlipayTradeCreateModel(); + + // 设置商户订单号 + model.setOutTradeNo(out_trade_no); + + // 设置产品码 + model.setProductCode("JSAPI_PAY"); + + // 设置小程序支付中 + model.setOpAppId(APP_ID); + + // 设置订单总金额 + model.setTotalAmount(price.toString()); + + // 设置业务扩展参数 + // ExtendParams extendParams = new ExtendParams(); + // extendParams.setTradeComponentOrderId("2023060801502300000008810000005657"); + // model.setExtendParams(extendParams); + + // 设置可打折金额 + // model.setDiscountableAmount("80.00"); + + // 设置订单标题 + model.setSubject(subject); + + // 设置订单附加信息 + model.setBody(body); + + // uid参数未来计划废弃,存量商户可继续使用,新商户请使用openid。请根据应用-开发配置-openid配置选择支持的字段。 + // model.setBuyerId("2088102146225135"); + + // 设置买家支付宝用户唯一标识 + model.setBuyerOpenId(openId); + + // 设置商户门店编号 + // model.setStoreId("NJ_001"); + + request.setBizModel(model); + request.setNotifyUrl(NOTIFY_URL); + // 第三方代调用模式下请设置app_auth_token + // request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->"); + + AlipayTradeCreateResponse response = alipayClient.execute(request); + System.out.println(response.getBody()); + Map<String, Object> map = new HashMap<>(); + if (response.isSuccess()) { + System.out.println("调用成功"); + + map.put("outTradeNo", response.getOutTradeNo()); + map.put("tradeNo", response.getTradeNo()); + map.put("Type", 2); + } else { + System.out.println("调用失败"); + // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接 + // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response); + // System.out.println(diagnosisUrl); + } + return map; + } } -- Gitblit v1.7.1