//package com.ynxbd.wx.wxfactory.payment.jsapi; // //import com.ynxbd.common.helper.common.ErrorHelper; //import com.ynxbd.common.helper.common.JsonHelper; //import com.ynxbd.common.result.JsonResult; //import com.ynxbd.wx.wxfactory.bean.MedicalPayOrder; //import com.ynxbd.wx.wxfactory.utils.WxRequestHelper; //import lombok.extern.slf4j.Slf4j; // //import java.math.BigDecimal; //import java.util.HashMap; //import java.util.Map; // //@Slf4j //public class Client { // // /** // * 微信JSAPI下单 // * // * @param appId 应用ID // * @param mchId 直连商户号 // * @param description 商品描述 // * @param out_trade_no 商户订单号 // * @param time_expire 交易结束时间(yyyy-MM-DDTHH:mm:ss+TIMEZONE 示例值:2018-06-08T10:34:56+08:00) // * @param notify_url 通知地址 // * @param totalFee 订单金额(元) // * @param openid openid // * @param attach 附加数据 // */ // public MedicalPayOrder createOrder(String appId, String mchId, String description, String out_trade_no, // String time_expire, String attach, String notify_url, BigDecimal totalFee, // String openid) { // // try { // JsonResult jsonResult = WxRequestHelper.postMdXml("https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi", params -> { // params.put("appid", appId); // params.put("mchid", mchId); // params.put("description", description); // params.put("out_trade_no", out_trade_no); // if (time_expire != null) { // params.put("time_expire", time_expire); // } // Map amountMap = new HashMap<>(); // amountMap.put("total", totalFee.movePointRight(2)); // 分 // params.put("amount", amountMap); // // params.put("notify_url", notify_url); // params.put("openid", openid); // // if (attach != null) { // params.put("attach", attach); // } // }); // log.info("[医保]下单返回:{}", JsonHelper.toJsonString(jsonResult)); // if (!jsonResult.success()) { // return new MedicalPayOrder().createResult(jsonResult); // } // return jsonResult.dataMapToBean(MedicalPayOrder.class); // } catch (Exception e) { // ErrorHelper.println(e); // } // return null; // } // // // /** // * 查询订单 // * // * @param mchId 直连商户号 // * @param outTradeNo 商品描述 // * @param transId 微信支付订单号 // */ // public MedicalPayOrder queryOrder(String mchId, String outTradeNo, String transId) { // // try { // JsonResult jsonResult = null; // // if (outTradeNo != null) { // jsonResult = WxRequestHelper.postMdXml("https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/" + outTradeNo + "?" + mchId, params -> { // }); // // } else { // if (transId != null) { // jsonResult = WxRequestHelper.postMdXml("https://api.mch.weixin.qq.com/v3/pay/transactions/id/" + transId + "?" + mchId, params -> { // }); // } // } // // log.info("[医保]查询订单:{}", JsonHelper.toJsonString(jsonResult)); // if (!jsonResult.success()) { // return new MedicalPayOrder().createResult(jsonResult); // } // return jsonResult.dataMapToBean(MedicalPayOrder.class); // } catch (Exception e) { // ErrorHelper.println(e); // } // return null; // } // // // /** // * 关闭订单 // * // * @param mchId 直连商户号 // * @param outTradeNo 商品描述 // * @param transId 微信支付订单号 // */ // public MedicalPayOrder closeOrder(String mchId, String outTradeNo, String transId) { // // try { // JsonResult jsonResult = WxRequestHelper.postMdXml(" https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/" + outTradeNo + "/close", params -> { // params.put("mchId", mchId); // }); // // log.info("[医保]关闭订单返回:{}", JsonHelper.toJsonString(jsonResult)); // if (!jsonResult.success()) { // return new MedicalPayOrder().createResult(jsonResult); // } // return jsonResult.dataMapToBean(MedicalPayOrder.class); // } catch (Exception e) { // ErrorHelper.println(e); // } // return null; // } // // // /** // * 微信JSAPI下单 // * // * @param outTradeNo 商品描述 // * @param transId 微信支付订单号 // */ // public MedicalPayOrder refund(String outTradeNo, String transId, String outRefundNo, BigDecimal refundFee, BigDecimal totalFee, String reason, String notify_url) { // // try { // JsonResult jsonResult = WxRequestHelper.postMdXml("https://api.mch.weixin.qq.com/v3/refund/domestic/refunds", params -> { // params.put("transaction_id", transId); // params.put("out_trade_no", outTradeNo); // params.put("out_refund_no", outRefundNo); // // Map amountMap = new HashMap<>(); // amountMap.put("refund", refundFee.movePointRight(2)); // 分 // amountMap.put("total", totalFee.movePointRight(2)); // 分 // amountMap.put("currency", "CNY"); // 分 // params.put("amount", amountMap); // // if (notify_url != null) { // params.put("notify_url", notify_url); // } // // if (reason != null) { // params.put("reason", reason); // } // }); // log.info("[微信]退费返回:{}", JsonHelper.toJsonString(jsonResult)); // if (!jsonResult.success()) { // return new MedicalPayOrder().createResult(jsonResult); // } // return jsonResult.dataMapToBean(MedicalPayOrder.class); // } catch (Exception e) { // ErrorHelper.println(e); // } // return null; // } // // // /** // * 查询退费订单 // * // * @param outRefundNo 退费订单号 // */ // public MedicalPayOrder queryRefund(String outRefundNo) { // // try { // JsonResult jsonResult = WxRequestHelper.postMdXml("https://api.mch.weixin.qq.com/v3/refund/domestic/refunds/" + outRefundNo, params -> { // // }); // log.info("[微信]查询退费订单:{}", JsonHelper.toJsonString(jsonResult)); // if (!jsonResult.success()) { // return new MedicalPayOrder().createResult(jsonResult); // } // return jsonResult.dataMapToBean(MedicalPayOrder.class); // } catch (Exception e) { // ErrorHelper.println(e); // } // return null; // } //}