package com.ruoyi.system.service; import com.ruoyi.system.domain.EtOrder; import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse; import com.wechat.pay.java.service.payments.model.Transaction; import com.wechat.pay.java.service.refund.model.Refund; import java.math.BigDecimal; /** * 微信支付服务接口 * @author 辉 * 2024/3/11 */ public interface IWxPayService { /** * 生成微信预支付订单 * @param order 平台订单 * @return JSAPI调用 */ PrepayWithRequestPaymentResponse prepayWithRequestPayment(String payType, EtOrder order); /** * 关闭订单 * @param billNo 平台订单编号 */ void closeOrder(String billNo); /** * 通过微信订单id查询订单信息 * @param prePayId 微信订单id * @return 订单信息 */ Transaction queryOrderById(String prePayId); /** * 通过订单编号查询订单信息 * @param billNo 订单编号 * @return 订单信息 */ Transaction queryOrderByOutTradeNo(String billNo); /** * 退款 * @param etOrder 原订单对象 * @param reason 退款原因 * @param amount 退款金额 */ Refund refund(EtOrder etOrder, String reason, BigDecimal amount); // /** // * 微信支付通知 // * @return 是否成功 // */ // void payNotify(HttpServletRequest request); }