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.profitsharing.model.AddReceiverResponse; import com.wechat.pay.java.service.profitsharing.model.CreateOrderReceiver; import com.wechat.pay.java.service.profitsharing.model.DeleteReceiverResponse; import com.wechat.pay.java.service.profitsharing.model.OrdersEntity; import com.wechat.pay.java.service.refund.model.Refund; import java.math.BigDecimal; import java.util.List; /** * 微信支付服务接口 * @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 outTradeNo 商户订单号 * @return 订单信息 */ Transaction queryOrderByOutTradeNo(String outTradeNo); /** * 退款 * @param etOrder 原订单对象 * @param reason 退款原因 * @param amount 退款金额 */ Refund refund(EtOrder etOrder, String reason, BigDecimal amount); /** * 根据退款单号查询退款信息 * @param outRefundNo 退款单号 */ Refund queryByOutRefundNo(String outRefundNo); /** * 请求分账API * @param transactionId 微信支付单号 * @param receivers 分账接收方 */ public OrdersEntity createOrder(String transactionId, List receivers); /** * 添加分账接收方 * @param wxopenid openid */ AddReceiverResponse addReceiver(String wxopenid); /** * 删除分账接收方 * @param wxopenid openid */ DeleteReceiverResponse deleteReceiver(String wxopenid); }