electripper/electripper-system/src/main/java/com/ruoyi/system/service/IWxPayService.java
18650502300 6a4c3baf94 1. 启动时判断是否分账
2. 判断已完成的订单未退还押金的
2024-06-05 18:12:19 +08:00

85 lines
2.2 KiB
Java

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<CreateOrderReceiver> receivers);
/**
* 添加分账接收方
* @param wxopenid openid
*/
AddReceiverResponse addReceiver(String wxopenid);
/**
* 删除分账接收方
* @param wxopenid openid
*/
DeleteReceiverResponse deleteReceiver(String wxopenid);
}