From 00ee134d5bcb07e9a07633963e68ba7e9fa215c2 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期二, 13 八月 2024 17:48:12 +0800 Subject: [PATCH] 优化支付 --- UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java | 30 +++++++++++++++++++++++++++++- 1 files changed, 29 insertions(+), 1 deletions(-) diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java index 2eb601c..30f0fc0 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java @@ -11,6 +11,10 @@ import com.alipay.api.internal.util.AlipaySignature; import com.alipay.api.request.*; import com.alipay.api.response.*; +import com.wechat.pay.java.core.Config; +import com.wechat.pay.java.core.RSAAutoCertificateConfig; +import com.wechat.pay.java.service.payments.jsapi.JsapiService; +import com.wechat.pay.java.service.payments.jsapi.model.CloseOrderRequest; import org.apache.commons.collections.map.HashedMap; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.dom4j.Document; @@ -849,7 +853,31 @@ return ResultUtil.error(map1.get("return_msg"), new JSONObject()); } } - + + + /** + * 微信关闭订单 + * @param out_trade_no + */ + public void closeWXOrder(String out_trade_no) { + // 使用自动更新平台证书的RSA配置 + // 一个商户号只能初始化一个配置,否则会因为重复的下载任务报错 + Config config = new RSAAutoCertificateConfig.Builder() + .merchantId(mchId) + .privateKeyFromPath("D:\\app\\cert\\weixin\\1602881362\\apiclient_key.pem") + .merchantSerialNumber("7D555A6E50E9205504024685DF6B821319C4DD70") + .apiV3Key("MIIEvQIBADANBgkqhkiG9w0BAQEFAASC") + .build(); + // 构建service + JsapiService service = new JsapiService.Builder().config(config).build(); + CloseOrderRequest closeRequest = new CloseOrderRequest(); + closeRequest.setMchid(mchId); + closeRequest.setOutTradeNo(out_trade_no); + // 方法没有返回值,意味着成功时API返回204 No Content + service.closeOrder(closeRequest); + } + + /** -- Gitblit v1.7.1